X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=vendor%2Fwindows%2Fsrc%2FWindows%2FWin32%2FSystem%2FMmc%2Fimpl.rs;fp=vendor%2Fwindows%2Fsrc%2FWindows%2FWin32%2FSystem%2FMmc%2Fimpl.rs;h=41d2db76dffd0dca0ade69371014eff457921693;hb=e83d0c4048c901374302ef8d1eefbeb1aef6c87d;hp=0000000000000000000000000000000000000000;hpb=1812ffc342b212016a5bec5bb390dc09c217f18f;p=rustc.git diff --git a/vendor/windows/src/Windows/Win32/System/Mmc/impl.rs b/vendor/windows/src/Windows/Win32/System/Mmc/impl.rs new file mode 100644 index 0000000000..41d2db76df --- /dev/null +++ b/vendor/windows/src/Windows/Win32/System/Mmc/impl.rs @@ -0,0 +1,4123 @@ +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait AppEvents_Impl: Sized + super::Com::IDispatch_Impl {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for AppEvents {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl AppEvents_Vtbl { + pub const fn new, Impl: AppEvents_Impl, const OFFSET: isize>() -> AppEvents_Vtbl { + Self { base__: super::Com::IDispatch_Vtbl::new::() } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Column_Impl: Sized + super::Com::IDispatch_Impl { + fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Width(&self) -> ::windows::core::Result; + fn SetWidth(&self, width: i32) -> ::windows::core::Result<()>; + fn DisplayPosition(&self) -> ::windows::core::Result; + fn SetDisplayPosition(&self, index: i32) -> ::windows::core::Result<()>; + fn Hidden(&self) -> ::windows::core::Result; + fn SetHidden(&self, hidden: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn SetAsSortColumn(&self, sortorder: _ColumnSortOrder) -> ::windows::core::Result<()>; + fn IsSortColumn(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Column {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Column_Vtbl { + pub const fn new, Impl: Column_Impl, const OFFSET: isize>() -> Column_Vtbl { + unsafe extern "system" fn Name, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Name() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(name, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Width, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, width: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Width() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(width, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetWidth, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, width: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetWidth(::core::mem::transmute_copy(&width)).into() + } + unsafe extern "system" fn DisplayPosition, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, displayposition: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.DisplayPosition() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(displayposition, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetDisplayPosition, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetDisplayPosition(::core::mem::transmute_copy(&index)).into() + } + unsafe extern "system" fn Hidden, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hidden: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Hidden() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(hidden, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetHidden, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hidden: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetHidden(::core::mem::transmute_copy(&hidden)).into() + } + unsafe extern "system" fn SetAsSortColumn, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sortorder: _ColumnSortOrder) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetAsSortColumn(::core::mem::transmute_copy(&sortorder)).into() + } + unsafe extern "system" fn IsSortColumn, Impl: Column_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, issortcolumn: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.IsSortColumn() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(issortcolumn, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Name: Name::, + Width: Width::, + SetWidth: SetWidth::, + DisplayPosition: DisplayPosition::, + SetDisplayPosition: SetDisplayPosition::, + Hidden: Hidden::, + SetHidden: SetHidden::, + SetAsSortColumn: SetAsSortColumn::, + IsSortColumn: IsSortColumn::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Columns_Impl: Sized + super::Com::IDispatch_Impl { + fn Item(&self, index: i32) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Columns {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Columns_Vtbl { + pub const fn new, Impl: Columns_Impl, const OFFSET: isize>() -> Columns_Vtbl { + unsafe extern "system" fn Item, Impl: Columns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, column: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Item(::core::mem::transmute_copy(&index)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(column, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: Columns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn _NewEnum, Impl: Columns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Item: Item::, + Count: Count::, + _NewEnum: _NewEnum::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait ContextMenu_Impl: Sized + super::Com::IDispatch_Impl { + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; + fn get_Item(&self, indexorpath: &super::Com::VARIANT) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for ContextMenu {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ContextMenu_Vtbl { + pub const fn new, Impl: ContextMenu_Impl, const OFFSET: isize>() -> ContextMenu_Vtbl { + unsafe extern "system" fn _NewEnum, Impl: ContextMenu_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn get_Item, Impl: ContextMenu_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, indexorpath: super::Com::VARIANT, menuitem: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.get_Item(::core::mem::transmute(&indexorpath)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(menuitem, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: ContextMenu_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + _NewEnum: _NewEnum::, + get_Item: get_Item::, + Count: Count::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Document_Impl: Sized + super::Com::IDispatch_Impl { + fn Save(&self) -> ::windows::core::Result<()>; + fn SaveAs(&self, filename: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn Close(&self, savechanges: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn Views(&self) -> ::windows::core::Result; + fn SnapIns(&self) -> ::windows::core::Result; + fn ActiveView(&self) -> ::windows::core::Result; + fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn SetName(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn Location(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn IsSaved(&self) -> ::windows::core::Result; + fn Mode(&self) -> ::windows::core::Result<_DocumentMode>; + fn SetMode(&self, mode: _DocumentMode) -> ::windows::core::Result<()>; + fn RootNode(&self) -> ::windows::core::Result; + fn ScopeNamespace(&self) -> ::windows::core::Result; + fn CreateProperties(&self) -> ::windows::core::Result; + fn Application(&self) -> ::windows::core::Result<_Application>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Document {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Document_Vtbl { + pub const fn new, Impl: Document_Impl, const OFFSET: isize>() -> Document_Vtbl { + unsafe extern "system" fn Save, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Save().into() + } + unsafe extern "system" fn SaveAs, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SaveAs(::core::mem::transmute(&filename)).into() + } + unsafe extern "system" fn Close, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, savechanges: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Close(::core::mem::transmute_copy(&savechanges)).into() + } + unsafe extern "system" fn Views, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, views: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Views() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(views, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SnapIns, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, snapins: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.SnapIns() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(snapins, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn ActiveView, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ActiveView() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(view, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Name, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Name() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(name, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetName, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetName(::core::mem::transmute(&name)).into() + } + unsafe extern "system" fn Location, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, location: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Location() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(location, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn IsSaved, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, issaved: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.IsSaved() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(issaved, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Mode, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: *mut _DocumentMode) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Mode() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(mode, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetMode, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: _DocumentMode) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetMode(::core::mem::transmute_copy(&mode)).into() + } + unsafe extern "system" fn RootNode, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.RootNode() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(node, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn ScopeNamespace, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenamespace: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ScopeNamespace() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(scopenamespace, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn CreateProperties, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, properties: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.CreateProperties() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(properties, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Application, Impl: Document_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, application: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Application() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(application, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Save: Save::, + SaveAs: SaveAs::, + Close: Close::, + Views: Views::, + SnapIns: SnapIns::, + ActiveView: ActiveView::, + Name: Name::, + SetName: SetName::, + Location: Location::, + IsSaved: IsSaved::, + Mode: Mode::, + SetMode: SetMode::, + RootNode: RootNode::, + ScopeNamespace: ScopeNamespace::, + CreateProperties: CreateProperties::, + Application: Application::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Extension_Impl: Sized + super::Com::IDispatch_Impl { + fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Vendor(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Version(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Extensions(&self) -> ::windows::core::Result; + fn SnapinCLSID(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn EnableAllExtensions(&self, enable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn Enable(&self, enable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Extension {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Extension_Vtbl { + pub const fn new, Impl: Extension_Impl, const OFFSET: isize>() -> Extension_Vtbl { + unsafe extern "system" fn Name, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Name() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(name, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Vendor, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vendor: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Vendor() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(vendor, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Version, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, version: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Version() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(version, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Extensions, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, extensions: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Extensions() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(extensions, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SnapinCLSID, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, snapinclsid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.SnapinCLSID() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(snapinclsid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn EnableAllExtensions, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.EnableAllExtensions(::core::mem::transmute_copy(&enable)).into() + } + unsafe extern "system" fn Enable, Impl: Extension_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Enable(::core::mem::transmute_copy(&enable)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Name: Name::, + Vendor: Vendor::, + Version: Version::, + Extensions: Extensions::, + SnapinCLSID: SnapinCLSID::, + EnableAllExtensions: EnableAllExtensions::, + Enable: Enable::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Extensions_Impl: Sized + super::Com::IDispatch_Impl { + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; + fn Item(&self, index: i32) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Extensions {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Extensions_Vtbl { + pub const fn new, Impl: Extensions_Impl, const OFFSET: isize>() -> Extensions_Vtbl { + unsafe extern "system" fn _NewEnum, Impl: Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Item, Impl: Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, extension: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Item(::core::mem::transmute_copy(&index)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(extension, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: Extensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + _NewEnum: _NewEnum::, + Item: Item::, + Count: Count::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Frame_Impl: Sized + super::Com::IDispatch_Impl { + fn Maximize(&self) -> ::windows::core::Result<()>; + fn Minimize(&self) -> ::windows::core::Result<()>; + fn Restore(&self) -> ::windows::core::Result<()>; + fn Top(&self) -> ::windows::core::Result; + fn SetTop(&self, top: i32) -> ::windows::core::Result<()>; + fn Bottom(&self) -> ::windows::core::Result; + fn SetBottom(&self, bottom: i32) -> ::windows::core::Result<()>; + fn Left(&self) -> ::windows::core::Result; + fn SetLeft(&self, left: i32) -> ::windows::core::Result<()>; + fn Right(&self) -> ::windows::core::Result; + fn SetRight(&self, right: i32) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Frame {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Frame_Vtbl { + pub const fn new, Impl: Frame_Impl, const OFFSET: isize>() -> Frame_Vtbl { + unsafe extern "system" fn Maximize, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Maximize().into() + } + unsafe extern "system" fn Minimize, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Minimize().into() + } + unsafe extern "system" fn Restore, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Restore().into() + } + unsafe extern "system" fn Top, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, top: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Top() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(top, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetTop, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, top: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetTop(::core::mem::transmute_copy(&top)).into() + } + unsafe extern "system" fn Bottom, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bottom: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Bottom() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(bottom, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetBottom, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bottom: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetBottom(::core::mem::transmute_copy(&bottom)).into() + } + unsafe extern "system" fn Left, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, left: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Left() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(left, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetLeft, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, left: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetLeft(::core::mem::transmute_copy(&left)).into() + } + unsafe extern "system" fn Right, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, right: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Right() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(right, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetRight, Impl: Frame_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, right: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetRight(::core::mem::transmute_copy(&right)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Maximize: Maximize::, + Minimize: Minimize::, + Restore: Restore::, + Top: Top::, + SetTop: SetTop::, + Bottom: Bottom::, + SetBottom: SetBottom::, + Left: Left::, + SetLeft: SetLeft::, + Right: Right::, + SetRight: SetRight::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IColumnData_Impl: Sized { + fn SetColumnConfigData(&self, pcolid: *const SColumnSetID, pcolsetdata: *const MMC_COLUMN_SET_DATA) -> ::windows::core::Result<()>; + fn GetColumnConfigData(&self, pcolid: *const SColumnSetID) -> ::windows::core::Result<*mut MMC_COLUMN_SET_DATA>; + fn SetColumnSortData(&self, pcolid: *const SColumnSetID, pcolsortdata: *const MMC_SORT_SET_DATA) -> ::windows::core::Result<()>; + fn GetColumnSortData(&self, pcolid: *const SColumnSetID) -> ::windows::core::Result<*mut MMC_SORT_SET_DATA>; +} +impl ::windows::core::RuntimeName for IColumnData {} +impl IColumnData_Vtbl { + pub const fn new, Impl: IColumnData_Impl, const OFFSET: isize>() -> IColumnData_Vtbl { + unsafe extern "system" fn SetColumnConfigData, Impl: IColumnData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcolid: *const SColumnSetID, pcolsetdata: *const MMC_COLUMN_SET_DATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetColumnConfigData(::core::mem::transmute_copy(&pcolid), ::core::mem::transmute_copy(&pcolsetdata)).into() + } + unsafe extern "system" fn GetColumnConfigData, Impl: IColumnData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcolid: *const SColumnSetID, ppcolsetdata: *mut *mut MMC_COLUMN_SET_DATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetColumnConfigData(::core::mem::transmute_copy(&pcolid)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppcolsetdata, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetColumnSortData, Impl: IColumnData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcolid: *const SColumnSetID, pcolsortdata: *const MMC_SORT_SET_DATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetColumnSortData(::core::mem::transmute_copy(&pcolid), ::core::mem::transmute_copy(&pcolsortdata)).into() + } + unsafe extern "system" fn GetColumnSortData, Impl: IColumnData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcolid: *const SColumnSetID, ppcolsortdata: *mut *mut MMC_SORT_SET_DATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetColumnSortData(::core::mem::transmute_copy(&pcolid)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppcolsortdata, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + SetColumnConfigData: SetColumnConfigData::, + GetColumnConfigData: GetColumnConfigData::, + SetColumnSortData: SetColumnSortData::, + GetColumnSortData: GetColumnSortData::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IComponent_Impl: Sized { + fn Initialize(&self, lpconsole: ::core::option::Option<&IConsole>) -> ::windows::core::Result<()>; + fn Notify(&self, lpdataobject: ::core::option::Option<&super::Com::IDataObject>, event: MMC_NOTIFY_TYPE, arg: super::super::Foundation::LPARAM, param3: super::super::Foundation::LPARAM) -> ::windows::core::Result<()>; + fn Destroy(&self, cookie: isize) -> ::windows::core::Result<()>; + fn QueryDataObject(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows::core::Result; + fn GetResultViewType(&self, cookie: isize, ppviewtype: *mut ::windows::core::PWSTR, pviewoptions: *mut i32) -> ::windows::core::Result<()>; + fn GetDisplayInfo(&self, presultdataitem: *mut RESULTDATAITEM) -> ::windows::core::Result<()>; + fn CompareObjects(&self, lpdataobjecta: ::core::option::Option<&super::Com::IDataObject>, lpdataobjectb: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IComponent {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IComponent_Vtbl { + pub const fn new, Impl: IComponent_Impl, const OFFSET: isize>() -> IComponent_Vtbl { + unsafe extern "system" fn Initialize, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpconsole: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Initialize(::windows::core::from_raw_borrowed(&lpconsole)).into() + } + unsafe extern "system" fn Notify, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdataobject: *mut ::core::ffi::c_void, event: MMC_NOTIFY_TYPE, arg: super::super::Foundation::LPARAM, param3: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Notify(::windows::core::from_raw_borrowed(&lpdataobject), ::core::mem::transmute_copy(&event), ::core::mem::transmute_copy(&arg), ::core::mem::transmute_copy(¶m3)).into() + } + unsafe extern "system" fn Destroy, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Destroy(::core::mem::transmute_copy(&cookie)).into() + } + unsafe extern "system" fn QueryDataObject, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, r#type: DATA_OBJECT_TYPES, ppdataobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryDataObject(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&r#type)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppdataobject, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetResultViewType, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, ppviewtype: *mut ::windows::core::PWSTR, pviewoptions: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetResultViewType(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&ppviewtype), ::core::mem::transmute_copy(&pviewoptions)).into() + } + unsafe extern "system" fn GetDisplayInfo, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, presultdataitem: *mut RESULTDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetDisplayInfo(::core::mem::transmute_copy(&presultdataitem)).into() + } + unsafe extern "system" fn CompareObjects, Impl: IComponent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdataobjecta: *mut ::core::ffi::c_void, lpdataobjectb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CompareObjects(::windows::core::from_raw_borrowed(&lpdataobjecta), ::windows::core::from_raw_borrowed(&lpdataobjectb)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + Initialize: Initialize::, + Notify: Notify::, + Destroy: Destroy::, + QueryDataObject: QueryDataObject::, + GetResultViewType: GetResultViewType::, + GetDisplayInfo: GetDisplayInfo::, + CompareObjects: CompareObjects::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IComponent2_Impl: Sized + IComponent_Impl { + fn QueryDispatch(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows::core::Result; + fn GetResultViewType2(&self, cookie: isize, presultviewtype: *mut RESULT_VIEW_TYPE_INFO) -> ::windows::core::Result<()>; + fn RestoreResultView(&self, cookie: isize, presultviewtype: *const RESULT_VIEW_TYPE_INFO) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IComponent2 {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IComponent2_Vtbl { + pub const fn new, Impl: IComponent2_Impl, const OFFSET: isize>() -> IComponent2_Vtbl { + unsafe extern "system" fn QueryDispatch, Impl: IComponent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, r#type: DATA_OBJECT_TYPES, ppdispatch: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryDispatch(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&r#type)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppdispatch, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetResultViewType2, Impl: IComponent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, presultviewtype: *mut RESULT_VIEW_TYPE_INFO) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetResultViewType2(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&presultviewtype)).into() + } + unsafe extern "system" fn RestoreResultView, Impl: IComponent2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, presultviewtype: *const RESULT_VIEW_TYPE_INFO) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RestoreResultView(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&presultviewtype)).into() + } + Self { + base__: IComponent_Vtbl::new::(), + QueryDispatch: QueryDispatch::, + GetResultViewType2: GetResultViewType2::, + RestoreResultView: RestoreResultView::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IComponentData_Impl: Sized { + fn Initialize(&self, punknown: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>; + fn CreateComponent(&self) -> ::windows::core::Result; + fn Notify(&self, lpdataobject: ::core::option::Option<&super::Com::IDataObject>, event: MMC_NOTIFY_TYPE, arg: super::super::Foundation::LPARAM, param3: super::super::Foundation::LPARAM) -> ::windows::core::Result<()>; + fn Destroy(&self) -> ::windows::core::Result<()>; + fn QueryDataObject(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows::core::Result; + fn GetDisplayInfo(&self, pscopedataitem: *mut SCOPEDATAITEM) -> ::windows::core::Result<()>; + fn CompareObjects(&self, lpdataobjecta: ::core::option::Option<&super::Com::IDataObject>, lpdataobjectb: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IComponentData {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IComponentData_Vtbl { + pub const fn new, Impl: IComponentData_Impl, const OFFSET: isize>() -> IComponentData_Vtbl { + unsafe extern "system" fn Initialize, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punknown: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Initialize(::windows::core::from_raw_borrowed(&punknown)).into() + } + unsafe extern "system" fn CreateComponent, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcomponent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.CreateComponent() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppcomponent, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Notify, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdataobject: *mut ::core::ffi::c_void, event: MMC_NOTIFY_TYPE, arg: super::super::Foundation::LPARAM, param3: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Notify(::windows::core::from_raw_borrowed(&lpdataobject), ::core::mem::transmute_copy(&event), ::core::mem::transmute_copy(&arg), ::core::mem::transmute_copy(¶m3)).into() + } + unsafe extern "system" fn Destroy, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Destroy().into() + } + unsafe extern "system" fn QueryDataObject, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, r#type: DATA_OBJECT_TYPES, ppdataobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryDataObject(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&r#type)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppdataobject, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetDisplayInfo, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pscopedataitem: *mut SCOPEDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetDisplayInfo(::core::mem::transmute_copy(&pscopedataitem)).into() + } + unsafe extern "system" fn CompareObjects, Impl: IComponentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdataobjecta: *mut ::core::ffi::c_void, lpdataobjectb: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CompareObjects(::windows::core::from_raw_borrowed(&lpdataobjecta), ::windows::core::from_raw_borrowed(&lpdataobjectb)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + Initialize: Initialize::, + CreateComponent: CreateComponent::, + Notify: Notify::, + Destroy: Destroy::, + QueryDataObject: QueryDataObject::, + GetDisplayInfo: GetDisplayInfo::, + CompareObjects: CompareObjects::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IComponentData2_Impl: Sized + IComponentData_Impl { + fn QueryDispatch(&self, cookie: isize, r#type: DATA_OBJECT_TYPES) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IComponentData2 {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IComponentData2_Vtbl { + pub const fn new, Impl: IComponentData2_Impl, const OFFSET: isize>() -> IComponentData2_Vtbl { + unsafe extern "system" fn QueryDispatch, Impl: IComponentData2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cookie: isize, r#type: DATA_OBJECT_TYPES, ppdispatch: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryDispatch(::core::mem::transmute_copy(&cookie), ::core::mem::transmute_copy(&r#type)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppdispatch, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { base__: IComponentData_Vtbl::new::(), QueryDispatch: QueryDispatch:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IConsole_Impl: Sized { + fn SetHeader(&self, pheader: ::core::option::Option<&IHeaderCtrl>) -> ::windows::core::Result<()>; + fn SetToolbar(&self, ptoolbar: ::core::option::Option<&IToolbar>) -> ::windows::core::Result<()>; + fn QueryResultView(&self) -> ::windows::core::Result<::windows::core::IUnknown>; + fn QueryScopeImageList(&self) -> ::windows::core::Result; + fn QueryResultImageList(&self) -> ::windows::core::Result; + fn UpdateAllViews(&self, lpdataobject: ::core::option::Option<&super::Com::IDataObject>, data: super::super::Foundation::LPARAM, hint: isize) -> ::windows::core::Result<()>; + fn MessageBox(&self, lpsztext: &::windows::core::PCWSTR, lpsztitle: &::windows::core::PCWSTR, fustyle: u32) -> ::windows::core::Result; + fn QueryConsoleVerb(&self) -> ::windows::core::Result; + fn SelectScopeItem(&self, hscopeitem: isize) -> ::windows::core::Result<()>; + fn GetMainWindow(&self) -> ::windows::core::Result; + fn NewWindow(&self, hscopeitem: isize, loptions: u32) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IConsole {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IConsole_Vtbl { + pub const fn new, Impl: IConsole_Impl, const OFFSET: isize>() -> IConsole_Vtbl { + unsafe extern "system" fn SetHeader, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pheader: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetHeader(::windows::core::from_raw_borrowed(&pheader)).into() + } + unsafe extern "system" fn SetToolbar, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptoolbar: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetToolbar(::windows::core::from_raw_borrowed(&ptoolbar)).into() + } + unsafe extern "system" fn QueryResultView, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punknown: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryResultView() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(punknown, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn QueryScopeImageList, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppimagelist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryScopeImageList() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppimagelist, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn QueryResultImageList, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppimagelist: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryResultImageList() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppimagelist, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn UpdateAllViews, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdataobject: *mut ::core::ffi::c_void, data: super::super::Foundation::LPARAM, hint: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.UpdateAllViews(::windows::core::from_raw_borrowed(&lpdataobject), ::core::mem::transmute_copy(&data), ::core::mem::transmute_copy(&hint)).into() + } + unsafe extern "system" fn MessageBox, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpsztext: ::windows::core::PCWSTR, lpsztitle: ::windows::core::PCWSTR, fustyle: u32, piretval: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.MessageBox(::core::mem::transmute(&lpsztext), ::core::mem::transmute(&lpsztitle), ::core::mem::transmute_copy(&fustyle)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(piretval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn QueryConsoleVerb, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppconsoleverb: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.QueryConsoleVerb() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppconsoleverb, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SelectScopeItem, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hscopeitem: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SelectScopeItem(::core::mem::transmute_copy(&hscopeitem)).into() + } + unsafe extern "system" fn GetMainWindow, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetMainWindow() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(phwnd, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn NewWindow, Impl: IConsole_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hscopeitem: isize, loptions: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.NewWindow(::core::mem::transmute_copy(&hscopeitem), ::core::mem::transmute_copy(&loptions)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + SetHeader: SetHeader::, + SetToolbar: SetToolbar::, + QueryResultView: QueryResultView::, + QueryScopeImageList: QueryScopeImageList::, + QueryResultImageList: QueryResultImageList::, + UpdateAllViews: UpdateAllViews::, + MessageBox: MessageBox::, + QueryConsoleVerb: QueryConsoleVerb::, + SelectScopeItem: SelectScopeItem::, + GetMainWindow: GetMainWindow::, + NewWindow: NewWindow::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IConsole2_Impl: Sized + IConsole_Impl { + fn Expand(&self, hitem: isize, bexpand: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn IsTaskpadViewPreferred(&self) -> ::windows::core::Result<()>; + fn SetStatusText(&self, pszstatustext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IConsole2 {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IConsole2_Vtbl { + pub const fn new, Impl: IConsole2_Impl, const OFFSET: isize>() -> IConsole2_Vtbl { + unsafe extern "system" fn Expand, Impl: IConsole2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hitem: isize, bexpand: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Expand(::core::mem::transmute_copy(&hitem), ::core::mem::transmute_copy(&bexpand)).into() + } + unsafe extern "system" fn IsTaskpadViewPreferred, Impl: IConsole2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.IsTaskpadViewPreferred().into() + } + unsafe extern "system" fn SetStatusText, Impl: IConsole2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszstatustext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetStatusText(::core::mem::transmute(&pszstatustext)).into() + } + Self { + base__: IConsole_Vtbl::new::(), + Expand: Expand::, + IsTaskpadViewPreferred: IsTaskpadViewPreferred::, + SetStatusText: SetStatusText::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IConsole3_Impl: Sized + IConsole2_Impl { + fn RenameScopeItem(&self, hscopeitem: isize) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IConsole3 {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IConsole3_Vtbl { + pub const fn new, Impl: IConsole3_Impl, const OFFSET: isize>() -> IConsole3_Vtbl { + unsafe extern "system" fn RenameScopeItem, Impl: IConsole3_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hscopeitem: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RenameScopeItem(::core::mem::transmute_copy(&hscopeitem)).into() + } + Self { base__: IConsole2_Vtbl::new::(), RenameScopeItem: RenameScopeItem:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IConsoleNameSpace_Impl: Sized { + fn InsertItem(&self, item: *mut SCOPEDATAITEM) -> ::windows::core::Result<()>; + fn DeleteItem(&self, hitem: isize, fdeletethis: i32) -> ::windows::core::Result<()>; + fn SetItem(&self, item: *const SCOPEDATAITEM) -> ::windows::core::Result<()>; + fn GetItem(&self, item: *mut SCOPEDATAITEM) -> ::windows::core::Result<()>; + fn GetChildItem(&self, item: isize, pitemchild: *mut isize, pcookie: *mut isize) -> ::windows::core::Result<()>; + fn GetNextItem(&self, item: isize, pitemnext: *mut isize, pcookie: *mut isize) -> ::windows::core::Result<()>; + fn GetParentItem(&self, item: isize, pitemparent: *mut isize, pcookie: *mut isize) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IConsoleNameSpace {} +#[cfg(feature = "Win32_Foundation")] +impl IConsoleNameSpace_Vtbl { + pub const fn new, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>() -> IConsoleNameSpace_Vtbl { + unsafe extern "system" fn InsertItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *mut SCOPEDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.InsertItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn DeleteItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hitem: isize, fdeletethis: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteItem(::core::mem::transmute_copy(&hitem), ::core::mem::transmute_copy(&fdeletethis)).into() + } + unsafe extern "system" fn SetItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *const SCOPEDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn GetItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *mut SCOPEDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn GetChildItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: isize, pitemchild: *mut isize, pcookie: *mut isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetChildItem(::core::mem::transmute_copy(&item), ::core::mem::transmute_copy(&pitemchild), ::core::mem::transmute_copy(&pcookie)).into() + } + unsafe extern "system" fn GetNextItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: isize, pitemnext: *mut isize, pcookie: *mut isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetNextItem(::core::mem::transmute_copy(&item), ::core::mem::transmute_copy(&pitemnext), ::core::mem::transmute_copy(&pcookie)).into() + } + unsafe extern "system" fn GetParentItem, Impl: IConsoleNameSpace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: isize, pitemparent: *mut isize, pcookie: *mut isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetParentItem(::core::mem::transmute_copy(&item), ::core::mem::transmute_copy(&pitemparent), ::core::mem::transmute_copy(&pcookie)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + InsertItem: InsertItem::, + DeleteItem: DeleteItem::, + SetItem: SetItem::, + GetItem: GetItem::, + GetChildItem: GetChildItem::, + GetNextItem: GetNextItem::, + GetParentItem: GetParentItem::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IConsoleNameSpace2_Impl: Sized + IConsoleNameSpace_Impl { + fn Expand(&self, hitem: isize) -> ::windows::core::Result<()>; + fn AddExtension(&self, hitem: isize, lpclsid: *const ::windows::core::GUID) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IConsoleNameSpace2 {} +#[cfg(feature = "Win32_Foundation")] +impl IConsoleNameSpace2_Vtbl { + pub const fn new, Impl: IConsoleNameSpace2_Impl, const OFFSET: isize>() -> IConsoleNameSpace2_Vtbl { + unsafe extern "system" fn Expand, Impl: IConsoleNameSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hitem: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Expand(::core::mem::transmute_copy(&hitem)).into() + } + unsafe extern "system" fn AddExtension, Impl: IConsoleNameSpace2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hitem: isize, lpclsid: *const ::windows::core::GUID) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddExtension(::core::mem::transmute_copy(&hitem), ::core::mem::transmute_copy(&lpclsid)).into() + } + Self { + base__: IConsoleNameSpace_Vtbl::new::(), + Expand: Expand::, + AddExtension: AddExtension::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IConsolePower_Impl: Sized { + fn SetExecutionState(&self, dwadd: u32, dwremove: u32) -> ::windows::core::Result<()>; + fn ResetIdleTimer(&self, dwflags: u32) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IConsolePower {} +impl IConsolePower_Vtbl { + pub const fn new, Impl: IConsolePower_Impl, const OFFSET: isize>() -> IConsolePower_Vtbl { + unsafe extern "system" fn SetExecutionState, Impl: IConsolePower_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwadd: u32, dwremove: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetExecutionState(::core::mem::transmute_copy(&dwadd), ::core::mem::transmute_copy(&dwremove)).into() + } + unsafe extern "system" fn ResetIdleTimer, Impl: IConsolePower_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ResetIdleTimer(::core::mem::transmute_copy(&dwflags)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + SetExecutionState: SetExecutionState::, + ResetIdleTimer: ResetIdleTimer::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IConsolePowerSink_Impl: Sized { + fn OnPowerBroadcast(&self, nevent: u32, lparam: super::super::Foundation::LPARAM) -> ::windows::core::Result; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IConsolePowerSink {} +#[cfg(feature = "Win32_Foundation")] +impl IConsolePowerSink_Vtbl { + pub const fn new, Impl: IConsolePowerSink_Impl, const OFFSET: isize>() -> IConsolePowerSink_Vtbl { + unsafe extern "system" fn OnPowerBroadcast, Impl: IConsolePowerSink_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nevent: u32, lparam: super::super::Foundation::LPARAM, plreturn: *mut super::super::Foundation::LRESULT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.OnPowerBroadcast(::core::mem::transmute_copy(&nevent), ::core::mem::transmute_copy(&lparam)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(plreturn, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), OnPowerBroadcast: OnPowerBroadcast:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IConsoleVerb_Impl: Sized { + fn GetVerbState(&self, ecmdid: MMC_CONSOLE_VERB, nstate: MMC_BUTTON_STATE) -> ::windows::core::Result; + fn SetVerbState(&self, ecmdid: MMC_CONSOLE_VERB, nstate: MMC_BUTTON_STATE, bstate: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn SetDefaultVerb(&self, ecmdid: MMC_CONSOLE_VERB) -> ::windows::core::Result<()>; + fn GetDefaultVerb(&self) -> ::windows::core::Result; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IConsoleVerb {} +#[cfg(feature = "Win32_Foundation")] +impl IConsoleVerb_Vtbl { + pub const fn new, Impl: IConsoleVerb_Impl, const OFFSET: isize>() -> IConsoleVerb_Vtbl { + unsafe extern "system" fn GetVerbState, Impl: IConsoleVerb_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ecmdid: MMC_CONSOLE_VERB, nstate: MMC_BUTTON_STATE, pstate: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetVerbState(::core::mem::transmute_copy(&ecmdid), ::core::mem::transmute_copy(&nstate)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pstate, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetVerbState, Impl: IConsoleVerb_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ecmdid: MMC_CONSOLE_VERB, nstate: MMC_BUTTON_STATE, bstate: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetVerbState(::core::mem::transmute_copy(&ecmdid), ::core::mem::transmute_copy(&nstate), ::core::mem::transmute_copy(&bstate)).into() + } + unsafe extern "system" fn SetDefaultVerb, Impl: IConsoleVerb_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ecmdid: MMC_CONSOLE_VERB) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetDefaultVerb(::core::mem::transmute_copy(&ecmdid)).into() + } + unsafe extern "system" fn GetDefaultVerb, Impl: IConsoleVerb_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pecmdid: *mut MMC_CONSOLE_VERB) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetDefaultVerb() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pecmdid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + GetVerbState: GetVerbState::, + SetVerbState: SetVerbState::, + SetDefaultVerb: SetDefaultVerb::, + GetDefaultVerb: GetDefaultVerb::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IContextMenuCallback_Impl: Sized { + fn AddItem(&self, pitem: *const CONTEXTMENUITEM) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IContextMenuCallback {} +impl IContextMenuCallback_Vtbl { + pub const fn new, Impl: IContextMenuCallback_Impl, const OFFSET: isize>() -> IContextMenuCallback_Vtbl { + unsafe extern "system" fn AddItem, Impl: IContextMenuCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *const CONTEXTMENUITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddItem(::core::mem::transmute_copy(&pitem)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), AddItem: AddItem:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IContextMenuCallback2_Impl: Sized { + fn AddItem(&self, pitem: *const CONTEXTMENUITEM2) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IContextMenuCallback2 {} +impl IContextMenuCallback2_Vtbl { + pub const fn new, Impl: IContextMenuCallback2_Impl, const OFFSET: isize>() -> IContextMenuCallback2_Vtbl { + unsafe extern "system" fn AddItem, Impl: IContextMenuCallback2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitem: *const CONTEXTMENUITEM2) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddItem(::core::mem::transmute_copy(&pitem)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), AddItem: AddItem:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IContextMenuProvider_Impl: Sized + IContextMenuCallback_Impl { + fn EmptyMenuList(&self) -> ::windows::core::Result<()>; + fn AddPrimaryExtensionItems(&self, piextension: ::core::option::Option<&::windows::core::IUnknown>, pidataobject: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; + fn AddThirdPartyExtensionItems(&self, pidataobject: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; + fn ShowContextMenu(&self, hwndparent: super::super::Foundation::HWND, xpos: i32, ypos: i32) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IContextMenuProvider {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IContextMenuProvider_Vtbl { + pub const fn new, Impl: IContextMenuProvider_Impl, const OFFSET: isize>() -> IContextMenuProvider_Vtbl { + unsafe extern "system" fn EmptyMenuList, Impl: IContextMenuProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.EmptyMenuList().into() + } + unsafe extern "system" fn AddPrimaryExtensionItems, Impl: IContextMenuProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piextension: *mut ::core::ffi::c_void, pidataobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddPrimaryExtensionItems(::windows::core::from_raw_borrowed(&piextension), ::windows::core::from_raw_borrowed(&pidataobject)).into() + } + unsafe extern "system" fn AddThirdPartyExtensionItems, Impl: IContextMenuProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pidataobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddThirdPartyExtensionItems(::windows::core::from_raw_borrowed(&pidataobject)).into() + } + unsafe extern "system" fn ShowContextMenu, Impl: IContextMenuProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND, xpos: i32, ypos: i32, plselected: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ShowContextMenu(::core::mem::transmute_copy(&hwndparent), ::core::mem::transmute_copy(&xpos), ::core::mem::transmute_copy(&ypos)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(plselected, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: IContextMenuCallback_Vtbl::new::(), + EmptyMenuList: EmptyMenuList::, + AddPrimaryExtensionItems: AddPrimaryExtensionItems::, + AddThirdPartyExtensionItems: AddThirdPartyExtensionItems::, + ShowContextMenu: ShowContextMenu::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IControlbar_Impl: Sized { + fn Create(&self, ntype: MMC_CONTROL_TYPE, pextendcontrolbar: ::core::option::Option<&IExtendControlbar>) -> ::windows::core::Result<::windows::core::IUnknown>; + fn Attach(&self, ntype: MMC_CONTROL_TYPE, lpunknown: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>; + fn Detach(&self, lpunknown: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IControlbar {} +impl IControlbar_Vtbl { + pub const fn new, Impl: IControlbar_Impl, const OFFSET: isize>() -> IControlbar_Vtbl { + unsafe extern "system" fn Create, Impl: IControlbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ntype: MMC_CONTROL_TYPE, pextendcontrolbar: *mut ::core::ffi::c_void, ppunknown: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Create(::core::mem::transmute_copy(&ntype), ::windows::core::from_raw_borrowed(&pextendcontrolbar)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppunknown, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Attach, Impl: IControlbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ntype: MMC_CONTROL_TYPE, lpunknown: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Attach(::core::mem::transmute_copy(&ntype), ::windows::core::from_raw_borrowed(&lpunknown)).into() + } + unsafe extern "system" fn Detach, Impl: IControlbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpunknown: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Detach(::windows::core::from_raw_borrowed(&lpunknown)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + Create: Create::, + Attach: Attach::, + Detach: Detach::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IDisplayHelp_Impl: Sized { + fn ShowTopic(&self, pszhelptopic: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IDisplayHelp {} +impl IDisplayHelp_Vtbl { + pub const fn new, Impl: IDisplayHelp_Impl, const OFFSET: isize>() -> IDisplayHelp_Vtbl { + unsafe extern "system" fn ShowTopic, Impl: IDisplayHelp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszhelptopic: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ShowTopic(::core::mem::transmute(&pszhelptopic)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), ShowTopic: ShowTopic:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IEnumTASK_Impl: Sized { + fn Next(&self, celt: u32, rgelt: *mut MMC_TASK, pceltfetched: *mut u32) -> ::windows::core::Result<()>; + fn Skip(&self, celt: u32) -> ::windows::core::Result<()>; + fn Reset(&self) -> ::windows::core::Result<()>; + fn Clone(&self) -> ::windows::core::Result; +} +impl ::windows::core::RuntimeName for IEnumTASK {} +impl IEnumTASK_Vtbl { + pub const fn new, Impl: IEnumTASK_Impl, const OFFSET: isize>() -> IEnumTASK_Vtbl { + unsafe extern "system" fn Next, Impl: IEnumTASK_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut MMC_TASK, pceltfetched: *mut u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgelt), ::core::mem::transmute_copy(&pceltfetched)).into() + } + unsafe extern "system" fn Skip, Impl: IEnumTASK_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Skip(::core::mem::transmute_copy(&celt)).into() + } + unsafe extern "system" fn Reset, Impl: IEnumTASK_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Reset().into() + } + unsafe extern "system" fn Clone, Impl: IEnumTASK_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Clone() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppenum, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + Next: Next::, + Skip: Skip::, + Reset: Reset::, + Clone: Clone::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_System_Com")] +pub trait IExtendContextMenu_Impl: Sized { + fn AddMenuItems(&self, pidataobject: ::core::option::Option<&super::Com::IDataObject>, picallback: ::core::option::Option<&IContextMenuCallback>, pinsertionallowed: *mut i32) -> ::windows::core::Result<()>; + fn Command(&self, lcommandid: i32, pidataobject: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_System_Com")] +impl ::windows::core::RuntimeName for IExtendContextMenu {} +#[cfg(feature = "Win32_System_Com")] +impl IExtendContextMenu_Vtbl { + pub const fn new, Impl: IExtendContextMenu_Impl, const OFFSET: isize>() -> IExtendContextMenu_Vtbl { + unsafe extern "system" fn AddMenuItems, Impl: IExtendContextMenu_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pidataobject: *mut ::core::ffi::c_void, picallback: *mut ::core::ffi::c_void, pinsertionallowed: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddMenuItems(::windows::core::from_raw_borrowed(&pidataobject), ::windows::core::from_raw_borrowed(&picallback), ::core::mem::transmute_copy(&pinsertionallowed)).into() + } + unsafe extern "system" fn Command, Impl: IExtendContextMenu_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcommandid: i32, pidataobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Command(::core::mem::transmute_copy(&lcommandid), ::windows::core::from_raw_borrowed(&pidataobject)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + AddMenuItems: AddMenuItems::, + Command: Command::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IExtendControlbar_Impl: Sized { + fn SetControlbar(&self, pcontrolbar: ::core::option::Option<&IControlbar>) -> ::windows::core::Result<()>; + fn ControlbarNotify(&self, event: MMC_NOTIFY_TYPE, arg: super::super::Foundation::LPARAM, param2: super::super::Foundation::LPARAM) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IExtendControlbar {} +#[cfg(feature = "Win32_Foundation")] +impl IExtendControlbar_Vtbl { + pub const fn new, Impl: IExtendControlbar_Impl, const OFFSET: isize>() -> IExtendControlbar_Vtbl { + unsafe extern "system" fn SetControlbar, Impl: IExtendControlbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcontrolbar: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetControlbar(::windows::core::from_raw_borrowed(&pcontrolbar)).into() + } + unsafe extern "system" fn ControlbarNotify, Impl: IExtendControlbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, event: MMC_NOTIFY_TYPE, arg: super::super::Foundation::LPARAM, param2: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ControlbarNotify(::core::mem::transmute_copy(&event), ::core::mem::transmute_copy(&arg), ::core::mem::transmute_copy(¶m2)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + SetControlbar: SetControlbar::, + ControlbarNotify: ControlbarNotify::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_System_Com")] +pub trait IExtendPropertySheet_Impl: Sized { + fn CreatePropertyPages(&self, lpprovider: ::core::option::Option<&IPropertySheetCallback>, handle: isize, lpidataobject: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; + fn QueryPagesFor(&self, lpdataobject: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_System_Com")] +impl ::windows::core::RuntimeName for IExtendPropertySheet {} +#[cfg(feature = "Win32_System_Com")] +impl IExtendPropertySheet_Vtbl { + pub const fn new, Impl: IExtendPropertySheet_Impl, const OFFSET: isize>() -> IExtendPropertySheet_Vtbl { + unsafe extern "system" fn CreatePropertyPages, Impl: IExtendPropertySheet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpprovider: *mut ::core::ffi::c_void, handle: isize, lpidataobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CreatePropertyPages(::windows::core::from_raw_borrowed(&lpprovider), ::core::mem::transmute_copy(&handle), ::windows::core::from_raw_borrowed(&lpidataobject)).into() + } + unsafe extern "system" fn QueryPagesFor, Impl: IExtendPropertySheet_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdataobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.QueryPagesFor(::windows::core::from_raw_borrowed(&lpdataobject)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + CreatePropertyPages: CreatePropertyPages::, + QueryPagesFor: QueryPagesFor::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))] +pub trait IExtendPropertySheet2_Impl: Sized + IExtendPropertySheet_Impl { + fn GetWatermarks(&self, lpidataobject: ::core::option::Option<&super::Com::IDataObject>, lphwatermark: *mut super::super::Graphics::Gdi::HBITMAP, lphheader: *mut super::super::Graphics::Gdi::HBITMAP, lphpalette: *mut super::super::Graphics::Gdi::HPALETTE, bstretch: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IExtendPropertySheet2 {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))] +impl IExtendPropertySheet2_Vtbl { + pub const fn new, Impl: IExtendPropertySheet2_Impl, const OFFSET: isize>() -> IExtendPropertySheet2_Vtbl { + unsafe extern "system" fn GetWatermarks, Impl: IExtendPropertySheet2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpidataobject: *mut ::core::ffi::c_void, lphwatermark: *mut super::super::Graphics::Gdi::HBITMAP, lphheader: *mut super::super::Graphics::Gdi::HBITMAP, lphpalette: *mut super::super::Graphics::Gdi::HPALETTE, bstretch: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetWatermarks(::windows::core::from_raw_borrowed(&lpidataobject), ::core::mem::transmute_copy(&lphwatermark), ::core::mem::transmute_copy(&lphheader), ::core::mem::transmute_copy(&lphpalette), ::core::mem::transmute_copy(&bstretch)).into() + } + Self { base__: IExtendPropertySheet_Vtbl::new::(), GetWatermarks: GetWatermarks:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait IExtendTaskPad_Impl: Sized { + fn TaskNotify(&self, pdo: ::core::option::Option<&super::Com::IDataObject>, arg: *const super::Com::VARIANT, param2: *const super::Com::VARIANT) -> ::windows::core::Result<()>; + fn EnumTasks(&self, pdo: ::core::option::Option<&super::Com::IDataObject>, sztaskgroup: &::windows::core::PCWSTR) -> ::windows::core::Result; + fn GetTitle(&self, pszgroup: &::windows::core::PCWSTR) -> ::windows::core::Result<::windows::core::PWSTR>; + fn GetDescriptiveText(&self, pszgroup: &::windows::core::PCWSTR) -> ::windows::core::Result<::windows::core::PWSTR>; + fn GetBackground(&self, pszgroup: &::windows::core::PCWSTR) -> ::windows::core::Result; + fn GetListPadInfo(&self, pszgroup: &::windows::core::PCWSTR) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for IExtendTaskPad {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl IExtendTaskPad_Vtbl { + pub const fn new, Impl: IExtendTaskPad_Impl, const OFFSET: isize>() -> IExtendTaskPad_Vtbl { + unsafe extern "system" fn TaskNotify, Impl: IExtendTaskPad_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdo: *mut ::core::ffi::c_void, arg: *const super::Com::VARIANT, param2: *const super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.TaskNotify(::windows::core::from_raw_borrowed(&pdo), ::core::mem::transmute_copy(&arg), ::core::mem::transmute_copy(¶m2)).into() + } + unsafe extern "system" fn EnumTasks, Impl: IExtendTaskPad_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdo: *mut ::core::ffi::c_void, sztaskgroup: ::windows::core::PCWSTR, ppenumtask: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.EnumTasks(::windows::core::from_raw_borrowed(&pdo), ::core::mem::transmute(&sztaskgroup)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppenumtask, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetTitle, Impl: IExtendTaskPad_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszgroup: ::windows::core::PCWSTR, psztitle: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetTitle(::core::mem::transmute(&pszgroup)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(psztitle, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetDescriptiveText, Impl: IExtendTaskPad_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszgroup: ::windows::core::PCWSTR, pszdescriptivetext: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetDescriptiveText(::core::mem::transmute(&pszgroup)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pszdescriptivetext, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetBackground, Impl: IExtendTaskPad_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszgroup: ::windows::core::PCWSTR, ptdo: *mut MMC_TASK_DISPLAY_OBJECT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetBackground(::core::mem::transmute(&pszgroup)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ptdo, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetListPadInfo, Impl: IExtendTaskPad_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszgroup: ::windows::core::PCWSTR, lplistpadinfo: *mut MMC_LISTPAD_INFO) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetListPadInfo(::core::mem::transmute(&pszgroup)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lplistpadinfo, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + TaskNotify: TaskNotify::, + EnumTasks: EnumTasks::, + GetTitle: GetTitle::, + GetDescriptiveText: GetDescriptiveText::, + GetBackground: GetBackground::, + GetListPadInfo: GetListPadInfo::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_System_Com")] +pub trait IExtendView_Impl: Sized { + fn GetViews(&self, pdataobject: ::core::option::Option<&super::Com::IDataObject>, pviewextensioncallback: ::core::option::Option<&IViewExtensionCallback>) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_System_Com")] +impl ::windows::core::RuntimeName for IExtendView {} +#[cfg(feature = "Win32_System_Com")] +impl IExtendView_Vtbl { + pub const fn new, Impl: IExtendView_Impl, const OFFSET: isize>() -> IExtendView_Vtbl { + unsafe extern "system" fn GetViews, Impl: IExtendView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdataobject: *mut ::core::ffi::c_void, pviewextensioncallback: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetViews(::windows::core::from_raw_borrowed(&pdataobject), ::windows::core::from_raw_borrowed(&pviewextensioncallback)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), GetViews: GetViews:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IHeaderCtrl_Impl: Sized { + fn InsertColumn(&self, ncol: i32, title: &::windows::core::PCWSTR, nformat: i32, nwidth: i32) -> ::windows::core::Result<()>; + fn DeleteColumn(&self, ncol: i32) -> ::windows::core::Result<()>; + fn SetColumnText(&self, ncol: i32, title: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; + fn GetColumnText(&self, ncol: i32) -> ::windows::core::Result<::windows::core::PWSTR>; + fn SetColumnWidth(&self, ncol: i32, nwidth: i32) -> ::windows::core::Result<()>; + fn GetColumnWidth(&self, ncol: i32) -> ::windows::core::Result; +} +impl ::windows::core::RuntimeName for IHeaderCtrl {} +impl IHeaderCtrl_Vtbl { + pub const fn new, Impl: IHeaderCtrl_Impl, const OFFSET: isize>() -> IHeaderCtrl_Vtbl { + unsafe extern "system" fn InsertColumn, Impl: IHeaderCtrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncol: i32, title: ::windows::core::PCWSTR, nformat: i32, nwidth: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.InsertColumn(::core::mem::transmute_copy(&ncol), ::core::mem::transmute(&title), ::core::mem::transmute_copy(&nformat), ::core::mem::transmute_copy(&nwidth)).into() + } + unsafe extern "system" fn DeleteColumn, Impl: IHeaderCtrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncol: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteColumn(::core::mem::transmute_copy(&ncol)).into() + } + unsafe extern "system" fn SetColumnText, Impl: IHeaderCtrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncol: i32, title: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetColumnText(::core::mem::transmute_copy(&ncol), ::core::mem::transmute(&title)).into() + } + unsafe extern "system" fn GetColumnText, Impl: IHeaderCtrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncol: i32, ptext: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetColumnText(::core::mem::transmute_copy(&ncol)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ptext, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetColumnWidth, Impl: IHeaderCtrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncol: i32, nwidth: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetColumnWidth(::core::mem::transmute_copy(&ncol), ::core::mem::transmute_copy(&nwidth)).into() + } + unsafe extern "system" fn GetColumnWidth, Impl: IHeaderCtrl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncol: i32, pwidth: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetColumnWidth(::core::mem::transmute_copy(&ncol)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pwidth, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + InsertColumn: InsertColumn::, + DeleteColumn: DeleteColumn::, + SetColumnText: SetColumnText::, + GetColumnText: GetColumnText::, + SetColumnWidth: SetColumnWidth::, + GetColumnWidth: GetColumnWidth::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IHeaderCtrl2_Impl: Sized + IHeaderCtrl_Impl { + fn SetChangeTimeOut(&self, utimeout: u32) -> ::windows::core::Result<()>; + fn SetColumnFilter(&self, ncolumn: u32, dwtype: u32, pfilterdata: *const MMC_FILTERDATA) -> ::windows::core::Result<()>; + fn GetColumnFilter(&self, ncolumn: u32, pdwtype: *mut u32, pfilterdata: *mut MMC_FILTERDATA) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IHeaderCtrl2 {} +impl IHeaderCtrl2_Vtbl { + pub const fn new, Impl: IHeaderCtrl2_Impl, const OFFSET: isize>() -> IHeaderCtrl2_Vtbl { + unsafe extern "system" fn SetChangeTimeOut, Impl: IHeaderCtrl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, utimeout: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetChangeTimeOut(::core::mem::transmute_copy(&utimeout)).into() + } + unsafe extern "system" fn SetColumnFilter, Impl: IHeaderCtrl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncolumn: u32, dwtype: u32, pfilterdata: *const MMC_FILTERDATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetColumnFilter(::core::mem::transmute_copy(&ncolumn), ::core::mem::transmute_copy(&dwtype), ::core::mem::transmute_copy(&pfilterdata)).into() + } + unsafe extern "system" fn GetColumnFilter, Impl: IHeaderCtrl2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncolumn: u32, pdwtype: *mut u32, pfilterdata: *mut MMC_FILTERDATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetColumnFilter(::core::mem::transmute_copy(&ncolumn), ::core::mem::transmute_copy(&pdwtype), ::core::mem::transmute_copy(&pfilterdata)).into() + } + Self { + base__: IHeaderCtrl_Vtbl::new::(), + SetChangeTimeOut: SetChangeTimeOut::, + SetColumnFilter: SetColumnFilter::, + GetColumnFilter: GetColumnFilter::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IImageList_Impl: Sized { + fn ImageListSetIcon(&self, picon: *const isize, nloc: i32) -> ::windows::core::Result<()>; + fn ImageListSetStrip(&self, pbmapsm: *const isize, pbmaplg: *const isize, nstartloc: i32, cmask: super::super::Foundation::COLORREF) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IImageList {} +#[cfg(feature = "Win32_Foundation")] +impl IImageList_Vtbl { + pub const fn new, Impl: IImageList_Impl, const OFFSET: isize>() -> IImageList_Vtbl { + unsafe extern "system" fn ImageListSetIcon, Impl: IImageList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, picon: *const isize, nloc: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ImageListSetIcon(::core::mem::transmute_copy(&picon), ::core::mem::transmute_copy(&nloc)).into() + } + unsafe extern "system" fn ImageListSetStrip, Impl: IImageList_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbmapsm: *const isize, pbmaplg: *const isize, nstartloc: i32, cmask: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ImageListSetStrip(::core::mem::transmute_copy(&pbmapsm), ::core::mem::transmute_copy(&pbmaplg), ::core::mem::transmute_copy(&nstartloc), ::core::mem::transmute_copy(&cmask)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + ImageListSetIcon: ImageListSetIcon::, + ImageListSetStrip: ImageListSetStrip::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IMMCVersionInfo_Impl: Sized { + fn GetMMCVersion(&self, pversionmajor: *mut i32, pversionminor: *mut i32) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IMMCVersionInfo {} +impl IMMCVersionInfo_Vtbl { + pub const fn new, Impl: IMMCVersionInfo_Impl, const OFFSET: isize>() -> IMMCVersionInfo_Vtbl { + unsafe extern "system" fn GetMMCVersion, Impl: IMMCVersionInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pversionmajor: *mut i32, pversionminor: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetMMCVersion(::core::mem::transmute_copy(&pversionmajor), ::core::mem::transmute_copy(&pversionminor)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), GetMMCVersion: GetMMCVersion:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IMenuButton_Impl: Sized { + fn AddButton(&self, idcommand: i32, lpbuttontext: &::windows::core::PCWSTR, lptooltiptext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; + fn SetButton(&self, idcommand: i32, lpbuttontext: &::windows::core::PCWSTR, lptooltiptext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; + fn SetButtonState(&self, idcommand: i32, nstate: MMC_BUTTON_STATE, bstate: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IMenuButton {} +#[cfg(feature = "Win32_Foundation")] +impl IMenuButton_Vtbl { + pub const fn new, Impl: IMenuButton_Impl, const OFFSET: isize>() -> IMenuButton_Vtbl { + unsafe extern "system" fn AddButton, Impl: IMenuButton_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idcommand: i32, lpbuttontext: ::windows::core::PCWSTR, lptooltiptext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddButton(::core::mem::transmute_copy(&idcommand), ::core::mem::transmute(&lpbuttontext), ::core::mem::transmute(&lptooltiptext)).into() + } + unsafe extern "system" fn SetButton, Impl: IMenuButton_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idcommand: i32, lpbuttontext: ::windows::core::PCWSTR, lptooltiptext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetButton(::core::mem::transmute_copy(&idcommand), ::core::mem::transmute(&lpbuttontext), ::core::mem::transmute(&lptooltiptext)).into() + } + unsafe extern "system" fn SetButtonState, Impl: IMenuButton_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idcommand: i32, nstate: MMC_BUTTON_STATE, bstate: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetButtonState(::core::mem::transmute_copy(&idcommand), ::core::mem::transmute_copy(&nstate), ::core::mem::transmute_copy(&bstate)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + AddButton: AddButton::, + SetButton: SetButton::, + SetButtonState: SetButtonState::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IMessageView_Impl: Sized { + fn SetTitleText(&self, psztitletext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; + fn SetBodyText(&self, pszbodytext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; + fn SetIcon(&self, id: IconIdentifier) -> ::windows::core::Result<()>; + fn Clear(&self) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for IMessageView {} +impl IMessageView_Vtbl { + pub const fn new, Impl: IMessageView_Impl, const OFFSET: isize>() -> IMessageView_Vtbl { + unsafe extern "system" fn SetTitleText, Impl: IMessageView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psztitletext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetTitleText(::core::mem::transmute(&psztitletext)).into() + } + unsafe extern "system" fn SetBodyText, Impl: IMessageView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszbodytext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetBodyText(::core::mem::transmute(&pszbodytext)).into() + } + unsafe extern "system" fn SetIcon, Impl: IMessageView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: IconIdentifier) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetIcon(::core::mem::transmute_copy(&id)).into() + } + unsafe extern "system" fn Clear, Impl: IMessageView_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Clear().into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + SetTitleText: SetTitleText::, + SetBodyText: SetBodyText::, + SetIcon: SetIcon::, + Clear: Clear::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_System_Com")] +pub trait INodeProperties_Impl: Sized { + fn GetProperty(&self, pdataobject: ::core::option::Option<&super::Com::IDataObject>, szpropertyname: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>; +} +#[cfg(feature = "Win32_System_Com")] +impl ::windows::core::RuntimeName for INodeProperties {} +#[cfg(feature = "Win32_System_Com")] +impl INodeProperties_Vtbl { + pub const fn new, Impl: INodeProperties_Impl, const OFFSET: isize>() -> INodeProperties_Vtbl { + unsafe extern "system" fn GetProperty, Impl: INodeProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdataobject: *mut ::core::ffi::c_void, szpropertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrproperty: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetProperty(::windows::core::from_raw_borrowed(&pdataobject), ::core::mem::transmute(&szpropertyname)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pbstrproperty, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), GetProperty: GetProperty:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_UI_Controls\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_UI_Controls")] +pub trait IPropertySheetCallback_Impl: Sized { + fn AddPage(&self, hpage: super::super::UI::Controls::HPROPSHEETPAGE) -> ::windows::core::Result<()>; + fn RemovePage(&self, hpage: super::super::UI::Controls::HPROPSHEETPAGE) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_UI_Controls")] +impl ::windows::core::RuntimeName for IPropertySheetCallback {} +#[cfg(feature = "Win32_UI_Controls")] +impl IPropertySheetCallback_Vtbl { + pub const fn new, Impl: IPropertySheetCallback_Impl, const OFFSET: isize>() -> IPropertySheetCallback_Vtbl { + unsafe extern "system" fn AddPage, Impl: IPropertySheetCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hpage: super::super::UI::Controls::HPROPSHEETPAGE) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddPage(::core::mem::transmute_copy(&hpage)).into() + } + unsafe extern "system" fn RemovePage, Impl: IPropertySheetCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hpage: super::super::UI::Controls::HPROPSHEETPAGE) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RemovePage(::core::mem::transmute_copy(&hpage)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + AddPage: AddPage::, + RemovePage: RemovePage::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +pub trait IPropertySheetProvider_Impl: Sized { + fn CreatePropertySheet(&self, title: &::windows::core::PCWSTR, r#type: u8, cookie: isize, pidataobjectm: ::core::option::Option<&super::Com::IDataObject>, dwoptions: u32) -> ::windows::core::Result<()>; + fn FindPropertySheet(&self, hitem: isize, lpcomponent: ::core::option::Option<&IComponent>, lpdataobject: ::core::option::Option<&super::Com::IDataObject>) -> ::windows::core::Result<()>; + fn AddPrimaryPages(&self, lpunknown: ::core::option::Option<&::windows::core::IUnknown>, bcreatehandle: super::super::Foundation::BOOL, hnotifywindow: super::super::Foundation::HWND, bscopepane: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn AddExtensionPages(&self) -> ::windows::core::Result<()>; + fn Show(&self, window: isize, page: i32) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl ::windows::core::RuntimeName for IPropertySheetProvider {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))] +impl IPropertySheetProvider_Vtbl { + pub const fn new, Impl: IPropertySheetProvider_Impl, const OFFSET: isize>() -> IPropertySheetProvider_Vtbl { + unsafe extern "system" fn CreatePropertySheet, Impl: IPropertySheetProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, title: ::windows::core::PCWSTR, r#type: u8, cookie: isize, pidataobjectm: *mut ::core::ffi::c_void, dwoptions: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CreatePropertySheet(::core::mem::transmute(&title), ::core::mem::transmute_copy(&r#type), ::core::mem::transmute_copy(&cookie), ::windows::core::from_raw_borrowed(&pidataobjectm), ::core::mem::transmute_copy(&dwoptions)).into() + } + unsafe extern "system" fn FindPropertySheet, Impl: IPropertySheetProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hitem: isize, lpcomponent: *mut ::core::ffi::c_void, lpdataobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.FindPropertySheet(::core::mem::transmute_copy(&hitem), ::windows::core::from_raw_borrowed(&lpcomponent), ::windows::core::from_raw_borrowed(&lpdataobject)).into() + } + unsafe extern "system" fn AddPrimaryPages, Impl: IPropertySheetProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpunknown: *mut ::core::ffi::c_void, bcreatehandle: super::super::Foundation::BOOL, hnotifywindow: super::super::Foundation::HWND, bscopepane: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddPrimaryPages(::windows::core::from_raw_borrowed(&lpunknown), ::core::mem::transmute_copy(&bcreatehandle), ::core::mem::transmute_copy(&hnotifywindow), ::core::mem::transmute_copy(&bscopepane)).into() + } + unsafe extern "system" fn AddExtensionPages, Impl: IPropertySheetProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddExtensionPages().into() + } + unsafe extern "system" fn Show, Impl: IPropertySheetProvider_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, window: isize, page: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Show(::core::mem::transmute_copy(&window), ::core::mem::transmute_copy(&page)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + CreatePropertySheet: CreatePropertySheet::, + FindPropertySheet: FindPropertySheet::, + AddPrimaryPages: AddPrimaryPages::, + AddExtensionPages: AddExtensionPages::, + Show: Show::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait IRequiredExtensions_Impl: Sized { + fn EnableAllExtensions(&self) -> ::windows::core::Result<()>; + fn GetFirstExtension(&self) -> ::windows::core::Result<::windows::core::GUID>; + fn GetNextExtension(&self) -> ::windows::core::Result<::windows::core::GUID>; +} +impl ::windows::core::RuntimeName for IRequiredExtensions {} +impl IRequiredExtensions_Vtbl { + pub const fn new, Impl: IRequiredExtensions_Impl, const OFFSET: isize>() -> IRequiredExtensions_Vtbl { + unsafe extern "system" fn EnableAllExtensions, Impl: IRequiredExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.EnableAllExtensions().into() + } + unsafe extern "system" fn GetFirstExtension, Impl: IRequiredExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextclsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetFirstExtension() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pextclsid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetNextExtension, Impl: IRequiredExtensions_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextclsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetNextExtension() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pextclsid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + EnableAllExtensions: EnableAllExtensions::, + GetFirstExtension: GetFirstExtension::, + GetNextExtension: GetNextExtension::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IResultData_Impl: Sized { + fn InsertItem(&self, item: *mut RESULTDATAITEM) -> ::windows::core::Result<()>; + fn DeleteItem(&self, itemid: isize, ncol: i32) -> ::windows::core::Result<()>; + fn FindItemByLParam(&self, lparam: super::super::Foundation::LPARAM) -> ::windows::core::Result; + fn DeleteAllRsltItems(&self) -> ::windows::core::Result<()>; + fn SetItem(&self, item: *const RESULTDATAITEM) -> ::windows::core::Result<()>; + fn GetItem(&self, item: *mut RESULTDATAITEM) -> ::windows::core::Result<()>; + fn GetNextItem(&self, item: *mut RESULTDATAITEM) -> ::windows::core::Result<()>; + fn ModifyItemState(&self, nindex: i32, itemid: isize, uadd: u32, uremove: u32) -> ::windows::core::Result<()>; + fn ModifyViewStyle(&self, add: MMC_RESULT_VIEW_STYLE, remove: MMC_RESULT_VIEW_STYLE) -> ::windows::core::Result<()>; + fn SetViewMode(&self, lviewmode: i32) -> ::windows::core::Result<()>; + fn GetViewMode(&self) -> ::windows::core::Result; + fn UpdateItem(&self, itemid: isize) -> ::windows::core::Result<()>; + fn Sort(&self, ncolumn: i32, dwsortoptions: u32, luserparam: super::super::Foundation::LPARAM) -> ::windows::core::Result<()>; + fn SetDescBarText(&self, desctext: &::windows::core::PCWSTR) -> ::windows::core::Result<()>; + fn SetItemCount(&self, nitemcount: i32, dwoptions: u32) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IResultData {} +#[cfg(feature = "Win32_Foundation")] +impl IResultData_Vtbl { + pub const fn new, Impl: IResultData_Impl, const OFFSET: isize>() -> IResultData_Vtbl { + unsafe extern "system" fn InsertItem, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *mut RESULTDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.InsertItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn DeleteItem, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemid: isize, ncol: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteItem(::core::mem::transmute_copy(&itemid), ::core::mem::transmute_copy(&ncol)).into() + } + unsafe extern "system" fn FindItemByLParam, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lparam: super::super::Foundation::LPARAM, pitemid: *mut isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.FindItemByLParam(::core::mem::transmute_copy(&lparam)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pitemid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn DeleteAllRsltItems, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteAllRsltItems().into() + } + unsafe extern "system" fn SetItem, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *const RESULTDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn GetItem, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *mut RESULTDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn GetNextItem, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, item: *mut RESULTDATAITEM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetNextItem(::core::mem::transmute_copy(&item)).into() + } + unsafe extern "system" fn ModifyItemState, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nindex: i32, itemid: isize, uadd: u32, uremove: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ModifyItemState(::core::mem::transmute_copy(&nindex), ::core::mem::transmute_copy(&itemid), ::core::mem::transmute_copy(&uadd), ::core::mem::transmute_copy(&uremove)).into() + } + unsafe extern "system" fn ModifyViewStyle, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, add: MMC_RESULT_VIEW_STYLE, remove: MMC_RESULT_VIEW_STYLE) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ModifyViewStyle(::core::mem::transmute_copy(&add), ::core::mem::transmute_copy(&remove)).into() + } + unsafe extern "system" fn SetViewMode, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lviewmode: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetViewMode(::core::mem::transmute_copy(&lviewmode)).into() + } + unsafe extern "system" fn GetViewMode, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lviewmode: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetViewMode() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lviewmode, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn UpdateItem, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemid: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.UpdateItem(::core::mem::transmute_copy(&itemid)).into() + } + unsafe extern "system" fn Sort, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncolumn: i32, dwsortoptions: u32, luserparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Sort(::core::mem::transmute_copy(&ncolumn), ::core::mem::transmute_copy(&dwsortoptions), ::core::mem::transmute_copy(&luserparam)).into() + } + unsafe extern "system" fn SetDescBarText, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, desctext: ::windows::core::PCWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetDescBarText(::core::mem::transmute(&desctext)).into() + } + unsafe extern "system" fn SetItemCount, Impl: IResultData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nitemcount: i32, dwoptions: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetItemCount(::core::mem::transmute_copy(&nitemcount), ::core::mem::transmute_copy(&dwoptions)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + InsertItem: InsertItem::, + DeleteItem: DeleteItem::, + FindItemByLParam: FindItemByLParam::, + DeleteAllRsltItems: DeleteAllRsltItems::, + SetItem: SetItem::, + GetItem: GetItem::, + GetNextItem: GetNextItem::, + ModifyItemState: ModifyItemState::, + ModifyViewStyle: ModifyViewStyle::, + SetViewMode: SetViewMode::, + GetViewMode: GetViewMode::, + UpdateItem: UpdateItem::, + Sort: Sort::, + SetDescBarText: SetDescBarText::, + SetItemCount: SetItemCount::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IResultData2_Impl: Sized + IResultData_Impl { + fn RenameResultItem(&self, itemid: isize) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IResultData2 {} +#[cfg(feature = "Win32_Foundation")] +impl IResultData2_Vtbl { + pub const fn new, Impl: IResultData2_Impl, const OFFSET: isize>() -> IResultData2_Vtbl { + unsafe extern "system" fn RenameResultItem, Impl: IResultData2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, itemid: isize) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RenameResultItem(::core::mem::transmute_copy(&itemid)).into() + } + Self { base__: IResultData_Vtbl::new::(), RenameResultItem: RenameResultItem:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IResultDataCompare_Impl: Sized { + fn Compare(&self, luserparam: super::super::Foundation::LPARAM, cookiea: isize, cookieb: isize, pnresult: *mut i32) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IResultDataCompare {} +#[cfg(feature = "Win32_Foundation")] +impl IResultDataCompare_Vtbl { + pub const fn new, Impl: IResultDataCompare_Impl, const OFFSET: isize>() -> IResultDataCompare_Vtbl { + unsafe extern "system" fn Compare, Impl: IResultDataCompare_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, luserparam: super::super::Foundation::LPARAM, cookiea: isize, cookieb: isize, pnresult: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Compare(::core::mem::transmute_copy(&luserparam), ::core::mem::transmute_copy(&cookiea), ::core::mem::transmute_copy(&cookieb), ::core::mem::transmute_copy(&pnresult)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), Compare: Compare:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IResultDataCompareEx_Impl: Sized { + fn Compare(&self, prdc: *const RDCOMPARE) -> ::windows::core::Result; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IResultDataCompareEx {} +#[cfg(feature = "Win32_Foundation")] +impl IResultDataCompareEx_Vtbl { + pub const fn new, Impl: IResultDataCompareEx_Impl, const OFFSET: isize>() -> IResultDataCompareEx_Vtbl { + unsafe extern "system" fn Compare, Impl: IResultDataCompareEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, prdc: *const RDCOMPARE, pnresult: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Compare(::core::mem::transmute_copy(&prdc)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pnresult, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), Compare: Compare:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IResultOwnerData_Impl: Sized { + fn FindItem(&self, pfindinfo: *const RESULTFINDINFO) -> ::windows::core::Result; + fn CacheHint(&self, nstartindex: i32, nendindex: i32) -> ::windows::core::Result<()>; + fn SortItems(&self, ncolumn: i32, dwsortoptions: u32, luserparam: super::super::Foundation::LPARAM) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IResultOwnerData {} +#[cfg(feature = "Win32_Foundation")] +impl IResultOwnerData_Vtbl { + pub const fn new, Impl: IResultOwnerData_Impl, const OFFSET: isize>() -> IResultOwnerData_Vtbl { + unsafe extern "system" fn FindItem, Impl: IResultOwnerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfindinfo: *const RESULTFINDINFO, pnfoundindex: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.FindItem(::core::mem::transmute_copy(&pfindinfo)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pnfoundindex, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn CacheHint, Impl: IResultOwnerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nstartindex: i32, nendindex: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CacheHint(::core::mem::transmute_copy(&nstartindex), ::core::mem::transmute_copy(&nendindex)).into() + } + unsafe extern "system" fn SortItems, Impl: IResultOwnerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ncolumn: i32, dwsortoptions: u32, luserparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SortItems(::core::mem::transmute_copy(&ncolumn), ::core::mem::transmute_copy(&dwsortoptions), ::core::mem::transmute_copy(&luserparam)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + FindItem: FindItem::, + CacheHint: CacheHint::, + SortItems: SortItems::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_UI_WindowsAndMessaging\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_UI_WindowsAndMessaging"))] +pub trait ISnapinAbout_Impl: Sized { + fn GetSnapinDescription(&self) -> ::windows::core::Result<::windows::core::PWSTR>; + fn GetProvider(&self) -> ::windows::core::Result<::windows::core::PWSTR>; + fn GetSnapinVersion(&self) -> ::windows::core::Result<::windows::core::PWSTR>; + fn GetSnapinImage(&self) -> ::windows::core::Result; + fn GetStaticFolderImage(&self, hsmallimage: *mut super::super::Graphics::Gdi::HBITMAP, hsmallimageopen: *mut super::super::Graphics::Gdi::HBITMAP, hlargeimage: *mut super::super::Graphics::Gdi::HBITMAP, cmask: *mut super::super::Foundation::COLORREF) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_UI_WindowsAndMessaging"))] +impl ::windows::core::RuntimeName for ISnapinAbout {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_UI_WindowsAndMessaging"))] +impl ISnapinAbout_Vtbl { + pub const fn new, Impl: ISnapinAbout_Impl, const OFFSET: isize>() -> ISnapinAbout_Vtbl { + unsafe extern "system" fn GetSnapinDescription, Impl: ISnapinAbout_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpdescription: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetSnapinDescription() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lpdescription, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetProvider, Impl: ISnapinAbout_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetProvider() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lpname, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetSnapinVersion, Impl: ISnapinAbout_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpversion: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetSnapinVersion() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lpversion, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetSnapinImage, Impl: ISnapinAbout_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, happicon: *mut super::super::UI::WindowsAndMessaging::HICON) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetSnapinImage() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(happicon, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetStaticFolderImage, Impl: ISnapinAbout_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hsmallimage: *mut super::super::Graphics::Gdi::HBITMAP, hsmallimageopen: *mut super::super::Graphics::Gdi::HBITMAP, hlargeimage: *mut super::super::Graphics::Gdi::HBITMAP, cmask: *mut super::super::Foundation::COLORREF) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetStaticFolderImage(::core::mem::transmute_copy(&hsmallimage), ::core::mem::transmute_copy(&hsmallimageopen), ::core::mem::transmute_copy(&hlargeimage), ::core::mem::transmute_copy(&cmask)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + GetSnapinDescription: GetSnapinDescription::, + GetProvider: GetProvider::, + GetSnapinVersion: GetSnapinVersion::, + GetSnapinImage: GetSnapinImage::, + GetStaticFolderImage: GetStaticFolderImage::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait ISnapinHelp_Impl: Sized { + fn GetHelpTopic(&self) -> ::windows::core::Result<::windows::core::PWSTR>; +} +impl ::windows::core::RuntimeName for ISnapinHelp {} +impl ISnapinHelp_Vtbl { + pub const fn new, Impl: ISnapinHelp_Impl, const OFFSET: isize>() -> ISnapinHelp_Vtbl { + unsafe extern "system" fn GetHelpTopic, Impl: ISnapinHelp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpcompiledhelpfile: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetHelpTopic() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lpcompiledhelpfile, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), GetHelpTopic: GetHelpTopic:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait ISnapinHelp2_Impl: Sized + ISnapinHelp_Impl { + fn GetLinkedTopics(&self) -> ::windows::core::Result<::windows::core::PWSTR>; +} +impl ::windows::core::RuntimeName for ISnapinHelp2 {} +impl ISnapinHelp2_Vtbl { + pub const fn new, Impl: ISnapinHelp2_Impl, const OFFSET: isize>() -> ISnapinHelp2_Vtbl { + unsafe extern "system" fn GetLinkedTopics, Impl: ISnapinHelp2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpcompiledhelpfiles: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetLinkedTopics() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(lpcompiledhelpfiles, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { base__: ISnapinHelp_Vtbl::new::(), GetLinkedTopics: GetLinkedTopics:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait ISnapinProperties_Impl: Sized { + fn Initialize(&self, pproperties: ::core::option::Option<&Properties>) -> ::windows::core::Result<()>; + fn QueryPropertyNames(&self, pcallback: ::core::option::Option<&ISnapinPropertiesCallback>) -> ::windows::core::Result<()>; + fn PropertiesChanged(&self, cproperties: i32, pproperties: *const MMC_SNAPIN_PROPERTY) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for ISnapinProperties {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ISnapinProperties_Vtbl { + pub const fn new, Impl: ISnapinProperties_Impl, const OFFSET: isize>() -> ISnapinProperties_Vtbl { + unsafe extern "system" fn Initialize, Impl: ISnapinProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pproperties: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Initialize(::windows::core::from_raw_borrowed(&pproperties)).into() + } + unsafe extern "system" fn QueryPropertyNames, Impl: ISnapinProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcallback: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.QueryPropertyNames(::windows::core::from_raw_borrowed(&pcallback)).into() + } + unsafe extern "system" fn PropertiesChanged, Impl: ISnapinProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cproperties: i32, pproperties: *const MMC_SNAPIN_PROPERTY) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.PropertiesChanged(::core::mem::transmute_copy(&cproperties), ::core::mem::transmute_copy(&pproperties)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + Initialize: Initialize::, + QueryPropertyNames: QueryPropertyNames::, + PropertiesChanged: PropertiesChanged::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"implement\"`*"] +pub trait ISnapinPropertiesCallback_Impl: Sized { + fn AddPropertyName(&self, pszpropname: &::windows::core::PCWSTR, dwflags: u32) -> ::windows::core::Result<()>; +} +impl ::windows::core::RuntimeName for ISnapinPropertiesCallback {} +impl ISnapinPropertiesCallback_Vtbl { + pub const fn new, Impl: ISnapinPropertiesCallback_Impl, const OFFSET: isize>() -> ISnapinPropertiesCallback_Vtbl { + unsafe extern "system" fn AddPropertyName, Impl: ISnapinPropertiesCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszpropname: ::windows::core::PCWSTR, dwflags: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddPropertyName(::core::mem::transmute(&pszpropname), ::core::mem::transmute_copy(&dwflags)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), AddPropertyName: AddPropertyName:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_System_Com\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_System_Com")] +pub trait IStringTable_Impl: Sized { + fn AddString(&self, pszadd: &::windows::core::PCWSTR) -> ::windows::core::Result; + fn GetString(&self, stringid: u32, cchbuffer: u32, lpbuffer: ::windows::core::PWSTR, pcchout: *mut u32) -> ::windows::core::Result<()>; + fn GetStringLength(&self, stringid: u32) -> ::windows::core::Result; + fn DeleteString(&self, stringid: u32) -> ::windows::core::Result<()>; + fn DeleteAllStrings(&self) -> ::windows::core::Result<()>; + fn FindString(&self, pszfind: &::windows::core::PCWSTR) -> ::windows::core::Result; + fn Enumerate(&self) -> ::windows::core::Result; +} +#[cfg(feature = "Win32_System_Com")] +impl ::windows::core::RuntimeName for IStringTable {} +#[cfg(feature = "Win32_System_Com")] +impl IStringTable_Vtbl { + pub const fn new, Impl: IStringTable_Impl, const OFFSET: isize>() -> IStringTable_Vtbl { + unsafe extern "system" fn AddString, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszadd: ::windows::core::PCWSTR, pstringid: *mut u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.AddString(::core::mem::transmute(&pszadd)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pstringid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetString, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stringid: u32, cchbuffer: u32, lpbuffer: ::windows::core::PWSTR, pcchout: *mut u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.GetString(::core::mem::transmute_copy(&stringid), ::core::mem::transmute_copy(&cchbuffer), ::core::mem::transmute_copy(&lpbuffer), ::core::mem::transmute_copy(&pcchout)).into() + } + unsafe extern "system" fn GetStringLength, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stringid: u32, pcchstring: *mut u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetStringLength(::core::mem::transmute_copy(&stringid)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pcchstring, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn DeleteString, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, stringid: u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteString(::core::mem::transmute_copy(&stringid)).into() + } + unsafe extern "system" fn DeleteAllStrings, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteAllStrings().into() + } + unsafe extern "system" fn FindString, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszfind: ::windows::core::PCWSTR, pstringid: *mut u32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.FindString(::core::mem::transmute(&pszfind)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pstringid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Enumerate, Impl: IStringTable_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Enumerate() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(ppenum, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + AddString: AddString::, + GetString: GetString::, + GetStringLength: GetStringLength::, + DeleteString: DeleteString::, + DeleteAllStrings: DeleteAllStrings::, + FindString: FindString::, + Enumerate: Enumerate::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))] +pub trait IToolbar_Impl: Sized { + fn AddBitmap(&self, nimages: i32, hbmp: super::super::Graphics::Gdi::HBITMAP, cxsize: i32, cysize: i32, crmask: super::super::Foundation::COLORREF) -> ::windows::core::Result<()>; + fn AddButtons(&self, nbuttons: i32, lpbuttons: *const MMCBUTTON) -> ::windows::core::Result<()>; + fn InsertButton(&self, nindex: i32, lpbutton: *const MMCBUTTON) -> ::windows::core::Result<()>; + fn DeleteButton(&self, nindex: i32) -> ::windows::core::Result<()>; + fn GetButtonState(&self, idcommand: i32, nstate: MMC_BUTTON_STATE) -> ::windows::core::Result; + fn SetButtonState(&self, idcommand: i32, nstate: MMC_BUTTON_STATE, bstate: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))] +impl ::windows::core::RuntimeName for IToolbar {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi"))] +impl IToolbar_Vtbl { + pub const fn new, Impl: IToolbar_Impl, const OFFSET: isize>() -> IToolbar_Vtbl { + unsafe extern "system" fn AddBitmap, Impl: IToolbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nimages: i32, hbmp: super::super::Graphics::Gdi::HBITMAP, cxsize: i32, cysize: i32, crmask: super::super::Foundation::COLORREF) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddBitmap(::core::mem::transmute_copy(&nimages), ::core::mem::transmute_copy(&hbmp), ::core::mem::transmute_copy(&cxsize), ::core::mem::transmute_copy(&cysize), ::core::mem::transmute_copy(&crmask)).into() + } + unsafe extern "system" fn AddButtons, Impl: IToolbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nbuttons: i32, lpbuttons: *const MMCBUTTON) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddButtons(::core::mem::transmute_copy(&nbuttons), ::core::mem::transmute_copy(&lpbuttons)).into() + } + unsafe extern "system" fn InsertButton, Impl: IToolbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nindex: i32, lpbutton: *const MMCBUTTON) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.InsertButton(::core::mem::transmute_copy(&nindex), ::core::mem::transmute_copy(&lpbutton)).into() + } + unsafe extern "system" fn DeleteButton, Impl: IToolbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nindex: i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteButton(::core::mem::transmute_copy(&nindex)).into() + } + unsafe extern "system" fn GetButtonState, Impl: IToolbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idcommand: i32, nstate: MMC_BUTTON_STATE, pstate: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetButtonState(::core::mem::transmute_copy(&idcommand), ::core::mem::transmute_copy(&nstate)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(pstate, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetButtonState, Impl: IToolbar_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, idcommand: i32, nstate: MMC_BUTTON_STATE, bstate: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetButtonState(::core::mem::transmute_copy(&idcommand), ::core::mem::transmute_copy(&nstate), ::core::mem::transmute_copy(&bstate)).into() + } + Self { + base__: ::windows::core::IUnknown_Vtbl::new::(), + AddBitmap: AddBitmap::, + AddButtons: AddButtons::, + InsertButton: InsertButton::, + DeleteButton: DeleteButton::, + GetButtonState: GetButtonState::, + SetButtonState: SetButtonState::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"implement\"`*"] +#[cfg(feature = "Win32_Foundation")] +pub trait IViewExtensionCallback_Impl: Sized { + fn AddView(&self, pextviewdata: *const MMC_EXT_VIEW_DATA) -> ::windows::core::Result<()>; +} +#[cfg(feature = "Win32_Foundation")] +impl ::windows::core::RuntimeName for IViewExtensionCallback {} +#[cfg(feature = "Win32_Foundation")] +impl IViewExtensionCallback_Vtbl { + pub const fn new, Impl: IViewExtensionCallback_Impl, const OFFSET: isize>() -> IViewExtensionCallback_Vtbl { + unsafe extern "system" fn AddView, Impl: IViewExtensionCallback_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pextviewdata: *const MMC_EXT_VIEW_DATA) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.AddView(::core::mem::transmute_copy(&pextviewdata)).into() + } + Self { base__: ::windows::core::IUnknown_Vtbl::new::(), AddView: AddView:: } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait MenuItem_Impl: Sized + super::Com::IDispatch_Impl { + fn DisplayName(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn LanguageIndependentName(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Path(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn LanguageIndependentPath(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Execute(&self) -> ::windows::core::Result<()>; + fn Enabled(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for MenuItem {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl MenuItem_Vtbl { + pub const fn new, Impl: MenuItem_Impl, const OFFSET: isize>() -> MenuItem_Vtbl { + unsafe extern "system" fn DisplayName, Impl: MenuItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, displayname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.DisplayName() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(displayname, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn LanguageIndependentName, Impl: MenuItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, languageindependentname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.LanguageIndependentName() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(languageindependentname, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Path, Impl: MenuItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, path: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Path() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(path, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn LanguageIndependentPath, Impl: MenuItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, languageindependentpath: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.LanguageIndependentPath() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(languageindependentpath, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Execute, Impl: MenuItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Execute().into() + } + unsafe extern "system" fn Enabled, Impl: MenuItem_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Enabled() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(enabled, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + DisplayName: DisplayName::, + LanguageIndependentName: LanguageIndependentName::, + Path: Path::, + LanguageIndependentPath: LanguageIndependentPath::, + Execute: Execute::, + Enabled: Enabled::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Node_Impl: Sized + super::Com::IDispatch_Impl { + fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn get_Property(&self, propertyname: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>; + fn Bookmark(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn IsScopeNode(&self) -> ::windows::core::Result; + fn Nodetype(&self) -> ::windows::core::Result<::windows::core::BSTR>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Node {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Node_Vtbl { + pub const fn new, Impl: Node_Impl, const OFFSET: isize>() -> Node_Vtbl { + unsafe extern "system" fn Name, Impl: Node_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Name() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(name, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn get_Property, Impl: Node_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertyvalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.get_Property(::core::mem::transmute(&propertyname)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(propertyvalue, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Bookmark, Impl: Node_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bookmark: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Bookmark() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(bookmark, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn IsScopeNode, Impl: Node_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, isscopenode: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.IsScopeNode() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(isscopenode, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Nodetype, Impl: Node_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nodetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Nodetype() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(nodetype, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Name: Name::, + get_Property: get_Property::, + Bookmark: Bookmark::, + IsScopeNode: IsScopeNode::, + Nodetype: Nodetype::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Nodes_Impl: Sized + super::Com::IDispatch_Impl { + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; + fn Item(&self, index: i32) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Nodes {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Nodes_Vtbl { + pub const fn new, Impl: Nodes_Impl, const OFFSET: isize>() -> Nodes_Vtbl { + unsafe extern "system" fn _NewEnum, Impl: Nodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Item, Impl: Nodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, node: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Item(::core::mem::transmute_copy(&index)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(node, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: Nodes_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + _NewEnum: _NewEnum::, + Item: Item::, + Count: Count::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Properties_Impl: Sized + super::Com::IDispatch_Impl { + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; + fn Item(&self, name: &::windows::core::BSTR) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; + fn Remove(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Properties {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Properties_Vtbl { + pub const fn new, Impl: Properties_Impl, const OFFSET: isize>() -> Properties_Vtbl { + unsafe extern "system" fn _NewEnum, Impl: Properties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Item, Impl: Properties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, property: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Item(::core::mem::transmute(&name)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(property, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: Properties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Remove, Impl: Properties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Remove(::core::mem::transmute(&name)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + _NewEnum: _NewEnum::, + Item: Item::, + Count: Count::, + Remove: Remove::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Property_Impl: Sized + super::Com::IDispatch_Impl { + fn Value(&self) -> ::windows::core::Result; + fn SetValue(&self, value: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Property {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Property_Vtbl { + pub const fn new, Impl: Property_Impl, const OFFSET: isize>() -> Property_Vtbl { + unsafe extern "system" fn Value, Impl: Property_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: *mut super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Value() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(value, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetValue, Impl: Property_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, value: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetValue(::core::mem::transmute(&value)).into() + } + unsafe extern "system" fn Name, Impl: Property_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Name() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(name, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Value: Value::, + SetValue: SetValue::, + Name: Name::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait ScopeNamespace_Impl: Sized + super::Com::IDispatch_Impl { + fn GetParent(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result; + fn GetChild(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result; + fn GetNext(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result; + fn GetRoot(&self) -> ::windows::core::Result; + fn Expand(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for ScopeNamespace {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ScopeNamespace_Vtbl { + pub const fn new, Impl: ScopeNamespace_Impl, const OFFSET: isize>() -> ScopeNamespace_Vtbl { + unsafe extern "system" fn GetParent, Impl: ScopeNamespace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void, parent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetParent(::windows::core::from_raw_borrowed(&node)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(parent, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetChild, Impl: ScopeNamespace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void, child: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetChild(::windows::core::from_raw_borrowed(&node)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(child, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetNext, Impl: ScopeNamespace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void, next: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetNext(::windows::core::from_raw_borrowed(&node)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(next, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn GetRoot, Impl: ScopeNamespace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, root: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.GetRoot() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(root, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Expand, Impl: ScopeNamespace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Expand(::windows::core::from_raw_borrowed(&node)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + GetParent: GetParent::, + GetChild: GetChild::, + GetNext: GetNext::, + GetRoot: GetRoot::, + Expand: Expand::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait SnapIn_Impl: Sized + super::Com::IDispatch_Impl { + fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Vendor(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Version(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Extensions(&self) -> ::windows::core::Result; + fn SnapinCLSID(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn Properties(&self) -> ::windows::core::Result; + fn EnableAllExtensions(&self, enable: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for SnapIn {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl SnapIn_Vtbl { + pub const fn new, Impl: SnapIn_Impl, const OFFSET: isize>() -> SnapIn_Vtbl { + unsafe extern "system" fn Name, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Name() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(name, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Vendor, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vendor: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Vendor() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(vendor, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Version, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, version: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Version() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(version, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Extensions, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, extensions: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Extensions() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(extensions, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SnapinCLSID, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, snapinclsid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.SnapinCLSID() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(snapinclsid, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Properties, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, properties: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Properties() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(properties, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn EnableAllExtensions, Impl: SnapIn_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, enable: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.EnableAllExtensions(::core::mem::transmute_copy(&enable)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Name: Name::, + Vendor: Vendor::, + Version: Version::, + Extensions: Extensions::, + SnapinCLSID: SnapinCLSID::, + Properties: Properties::, + EnableAllExtensions: EnableAllExtensions::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait SnapIns_Impl: Sized + super::Com::IDispatch_Impl { + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; + fn Item(&self, index: i32) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; + fn Add(&self, snapinnameorclsid: &::windows::core::BSTR, parentsnapin: &super::Com::VARIANT, properties: &super::Com::VARIANT) -> ::windows::core::Result; + fn Remove(&self, snapin: ::core::option::Option<&SnapIn>) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for SnapIns {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl SnapIns_Vtbl { + pub const fn new, Impl: SnapIns_Impl, const OFFSET: isize>() -> SnapIns_Vtbl { + unsafe extern "system" fn _NewEnum, Impl: SnapIns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Item, Impl: SnapIns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, snapin: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Item(::core::mem::transmute_copy(&index)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(snapin, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: SnapIns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Add, Impl: SnapIns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, snapinnameorclsid: ::std::mem::MaybeUninit<::windows::core::BSTR>, parentsnapin: super::Com::VARIANT, properties: super::Com::VARIANT, snapin: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Add(::core::mem::transmute(&snapinnameorclsid), ::core::mem::transmute(&parentsnapin), ::core::mem::transmute(&properties)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(snapin, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Remove, Impl: SnapIns_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, snapin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Remove(::windows::core::from_raw_borrowed(&snapin)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + _NewEnum: _NewEnum::, + Item: Item::, + Count: Count::, + Add: Add::, + Remove: Remove::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait View_Impl: Sized + super::Com::IDispatch_Impl { + fn ActiveScopeNode(&self) -> ::windows::core::Result; + fn SetActiveScopeNode(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result<()>; + fn Selection(&self) -> ::windows::core::Result; + fn ListItems(&self) -> ::windows::core::Result; + fn SnapinScopeObject(&self, scopenode: &super::Com::VARIANT) -> ::windows::core::Result; + fn SnapinSelectionObject(&self) -> ::windows::core::Result; + fn Is(&self, view: ::core::option::Option<&View>) -> ::windows::core::Result; + fn Document(&self) -> ::windows::core::Result; + fn SelectAll(&self) -> ::windows::core::Result<()>; + fn Select(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result<()>; + fn Deselect(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result<()>; + fn IsSelected(&self, node: ::core::option::Option<&Node>) -> ::windows::core::Result; + fn DisplayScopeNodePropertySheet(&self, scopenode: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn DisplaySelectionPropertySheet(&self) -> ::windows::core::Result<()>; + fn CopyScopeNode(&self, scopenode: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn CopySelection(&self) -> ::windows::core::Result<()>; + fn DeleteScopeNode(&self, scopenode: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn DeleteSelection(&self) -> ::windows::core::Result<()>; + fn RenameScopeNode(&self, newname: &::windows::core::BSTR, scopenode: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn RenameSelectedItem(&self, newname: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn get_ScopeNodeContextMenu(&self, scopenode: &super::Com::VARIANT) -> ::windows::core::Result; + fn SelectionContextMenu(&self) -> ::windows::core::Result; + fn RefreshScopeNode(&self, scopenode: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn RefreshSelection(&self) -> ::windows::core::Result<()>; + fn ExecuteSelectionMenuItem(&self, menuitempath: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn ExecuteScopeNodeMenuItem(&self, menuitempath: &::windows::core::BSTR, scopenode: &super::Com::VARIANT) -> ::windows::core::Result<()>; + fn ExecuteShellCommand(&self, command: &::windows::core::BSTR, directory: &::windows::core::BSTR, parameters: &::windows::core::BSTR, windowstate: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn Frame(&self) -> ::windows::core::Result; + fn Close(&self) -> ::windows::core::Result<()>; + fn ScopeTreeVisible(&self) -> ::windows::core::Result; + fn SetScopeTreeVisible(&self, visible: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn Back(&self) -> ::windows::core::Result<()>; + fn Forward(&self) -> ::windows::core::Result<()>; + fn SetStatusBarText(&self, statusbartext: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn Memento(&self) -> ::windows::core::Result<::windows::core::BSTR>; + fn ViewMemento(&self, memento: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn Columns(&self) -> ::windows::core::Result; + fn get_CellContents(&self, node: ::core::option::Option<&Node>, column: i32) -> ::windows::core::Result<::windows::core::BSTR>; + fn ExportList(&self, file: &::windows::core::BSTR, exportoptions: _ExportListOptions) -> ::windows::core::Result<()>; + fn ListViewMode(&self) -> ::windows::core::Result<_ListViewMode>; + fn SetListViewMode(&self, mode: _ListViewMode) -> ::windows::core::Result<()>; + fn ControlObject(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for View {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl View_Vtbl { + pub const fn new, Impl: View_Impl, const OFFSET: isize>() -> View_Vtbl { + unsafe extern "system" fn ActiveScopeNode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ActiveScopeNode() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(node, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetActiveScopeNode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetActiveScopeNode(::windows::core::from_raw_borrowed(&node)).into() + } + unsafe extern "system" fn Selection, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nodes: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Selection() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(nodes, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn ListItems, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, nodes: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ListItems() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(nodes, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SnapinScopeObject, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenode: super::Com::VARIANT, scopenodeobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.SnapinScopeObject(::core::mem::transmute(&scopenode)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(scopenodeobject, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SnapinSelectionObject, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, selectionobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.SnapinSelectionObject() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(selectionobject, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Is, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void, thesame: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Is(::windows::core::from_raw_borrowed(&view)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(thesame, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Document, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, document: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Document() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(document, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SelectAll, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SelectAll().into() + } + unsafe extern "system" fn Select, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Select(::windows::core::from_raw_borrowed(&node)).into() + } + unsafe extern "system" fn Deselect, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Deselect(::windows::core::from_raw_borrowed(&node)).into() + } + unsafe extern "system" fn IsSelected, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void, isselected: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.IsSelected(::windows::core::from_raw_borrowed(&node)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(isselected, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn DisplayScopeNodePropertySheet, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenode: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DisplayScopeNodePropertySheet(::core::mem::transmute(&scopenode)).into() + } + unsafe extern "system" fn DisplaySelectionPropertySheet, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DisplaySelectionPropertySheet().into() + } + unsafe extern "system" fn CopyScopeNode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenode: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CopyScopeNode(::core::mem::transmute(&scopenode)).into() + } + unsafe extern "system" fn CopySelection, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.CopySelection().into() + } + unsafe extern "system" fn DeleteScopeNode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenode: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteScopeNode(::core::mem::transmute(&scopenode)).into() + } + unsafe extern "system" fn DeleteSelection, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.DeleteSelection().into() + } + unsafe extern "system" fn RenameScopeNode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newname: ::std::mem::MaybeUninit<::windows::core::BSTR>, scopenode: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RenameScopeNode(::core::mem::transmute(&newname), ::core::mem::transmute(&scopenode)).into() + } + unsafe extern "system" fn RenameSelectedItem, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RenameSelectedItem(::core::mem::transmute(&newname)).into() + } + unsafe extern "system" fn get_ScopeNodeContextMenu, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenode: super::Com::VARIANT, contextmenu: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.get_ScopeNodeContextMenu(::core::mem::transmute(&scopenode)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(contextmenu, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SelectionContextMenu, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, contextmenu: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.SelectionContextMenu() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(contextmenu, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn RefreshScopeNode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scopenode: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RefreshScopeNode(::core::mem::transmute(&scopenode)).into() + } + unsafe extern "system" fn RefreshSelection, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.RefreshSelection().into() + } + unsafe extern "system" fn ExecuteSelectionMenuItem, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, menuitempath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ExecuteSelectionMenuItem(::core::mem::transmute(&menuitempath)).into() + } + unsafe extern "system" fn ExecuteScopeNodeMenuItem, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, menuitempath: ::std::mem::MaybeUninit<::windows::core::BSTR>, scopenode: super::Com::VARIANT) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ExecuteScopeNodeMenuItem(::core::mem::transmute(&menuitempath), ::core::mem::transmute(&scopenode)).into() + } + unsafe extern "system" fn ExecuteShellCommand, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, command: ::std::mem::MaybeUninit<::windows::core::BSTR>, directory: ::std::mem::MaybeUninit<::windows::core::BSTR>, parameters: ::std::mem::MaybeUninit<::windows::core::BSTR>, windowstate: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ExecuteShellCommand(::core::mem::transmute(&command), ::core::mem::transmute(&directory), ::core::mem::transmute(¶meters), ::core::mem::transmute(&windowstate)).into() + } + unsafe extern "system" fn Frame, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frame: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Frame() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(frame, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Close, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Close().into() + } + unsafe extern "system" fn ScopeTreeVisible, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, visible: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ScopeTreeVisible() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(visible, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetScopeTreeVisible, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, visible: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetScopeTreeVisible(::core::mem::transmute_copy(&visible)).into() + } + unsafe extern "system" fn Back, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Back().into() + } + unsafe extern "system" fn Forward, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Forward().into() + } + unsafe extern "system" fn SetStatusBarText, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, statusbartext: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetStatusBarText(::core::mem::transmute(&statusbartext)).into() + } + unsafe extern "system" fn Memento, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, memento: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Memento() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(memento, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn ViewMemento, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, memento: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ViewMemento(::core::mem::transmute(&memento)).into() + } + unsafe extern "system" fn Columns, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, columns: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Columns() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(columns, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn get_CellContents, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void, column: i32, cellcontents: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.get_CellContents(::windows::core::from_raw_borrowed(&node), ::core::mem::transmute_copy(&column)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(cellcontents, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn ExportList, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, file: ::std::mem::MaybeUninit<::windows::core::BSTR>, exportoptions: _ExportListOptions) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ExportList(::core::mem::transmute(&file), ::core::mem::transmute_copy(&exportoptions)).into() + } + unsafe extern "system" fn ListViewMode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: *mut _ListViewMode) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ListViewMode() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(mode, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetListViewMode, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, mode: _ListViewMode) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetListViewMode(::core::mem::transmute_copy(&mode)).into() + } + unsafe extern "system" fn ControlObject, Impl: View_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, control: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.ControlObject() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(control, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + ActiveScopeNode: ActiveScopeNode::, + SetActiveScopeNode: SetActiveScopeNode::, + Selection: Selection::, + ListItems: ListItems::, + SnapinScopeObject: SnapinScopeObject::, + SnapinSelectionObject: SnapinSelectionObject::, + Is: Is::, + Document: Document::, + SelectAll: SelectAll::, + Select: Select::, + Deselect: Deselect::, + IsSelected: IsSelected::, + DisplayScopeNodePropertySheet: DisplayScopeNodePropertySheet::, + DisplaySelectionPropertySheet: DisplaySelectionPropertySheet::, + CopyScopeNode: CopyScopeNode::, + CopySelection: CopySelection::, + DeleteScopeNode: DeleteScopeNode::, + DeleteSelection: DeleteSelection::, + RenameScopeNode: RenameScopeNode::, + RenameSelectedItem: RenameSelectedItem::, + get_ScopeNodeContextMenu: get_ScopeNodeContextMenu::, + SelectionContextMenu: SelectionContextMenu::, + RefreshScopeNode: RefreshScopeNode::, + RefreshSelection: RefreshSelection::, + ExecuteSelectionMenuItem: ExecuteSelectionMenuItem::, + ExecuteScopeNodeMenuItem: ExecuteScopeNodeMenuItem::, + ExecuteShellCommand: ExecuteShellCommand::, + Frame: Frame::, + Close: Close::, + ScopeTreeVisible: ScopeTreeVisible::, + SetScopeTreeVisible: SetScopeTreeVisible::, + Back: Back::, + Forward: Forward::, + SetStatusBarText: SetStatusBarText::, + Memento: Memento::, + ViewMemento: ViewMemento::, + Columns: Columns::, + get_CellContents: get_CellContents::, + ExportList: ExportList::, + ListViewMode: ListViewMode::, + SetListViewMode: SetListViewMode::, + ControlObject: ControlObject::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait Views_Impl: Sized + super::Com::IDispatch_Impl { + fn Item(&self, index: i32) -> ::windows::core::Result; + fn Count(&self) -> ::windows::core::Result; + fn Add(&self, node: ::core::option::Option<&Node>, viewoptions: _ViewOptions) -> ::windows::core::Result<()>; + fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for Views {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl Views_Vtbl { + pub const fn new, Impl: Views_Impl, const OFFSET: isize>() -> Views_Vtbl { + unsafe extern "system" fn Item, Impl: Views_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, view: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Item(::core::mem::transmute_copy(&index)) { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(view, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Count, Impl: Views_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Count() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(count, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Add, Impl: Views_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, node: *mut ::core::ffi::c_void, viewoptions: _ViewOptions) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Add(::windows::core::from_raw_borrowed(&node), ::core::mem::transmute_copy(&viewoptions)).into() + } + unsafe extern "system" fn _NewEnum, Impl: Views_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this._NewEnum() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(retval, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Item: Item::, + Count: Count::, + Add: Add::, + _NewEnum: _NewEnum::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait _AppEvents_Impl: Sized + super::Com::IDispatch_Impl { + fn OnQuit(&self, application: ::core::option::Option<&_Application>) -> ::windows::core::Result<()>; + fn OnDocumentOpen(&self, document: ::core::option::Option<&Document>, new: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn OnDocumentClose(&self, document: ::core::option::Option<&Document>) -> ::windows::core::Result<()>; + fn OnSnapInAdded(&self, document: ::core::option::Option<&Document>, snapin: ::core::option::Option<&SnapIn>) -> ::windows::core::Result<()>; + fn OnSnapInRemoved(&self, document: ::core::option::Option<&Document>, snapin: ::core::option::Option<&SnapIn>) -> ::windows::core::Result<()>; + fn OnNewView(&self, view: ::core::option::Option<&View>) -> ::windows::core::Result<()>; + fn OnViewClose(&self, view: ::core::option::Option<&View>) -> ::windows::core::Result<()>; + fn OnViewChange(&self, view: ::core::option::Option<&View>, newownernode: ::core::option::Option<&Node>) -> ::windows::core::Result<()>; + fn OnSelectionChange(&self, view: ::core::option::Option<&View>, newnodes: ::core::option::Option<&Nodes>) -> ::windows::core::Result<()>; + fn OnContextMenuExecuted(&self, menuitem: ::core::option::Option<&MenuItem>) -> ::windows::core::Result<()>; + fn OnToolbarButtonClicked(&self) -> ::windows::core::Result<()>; + fn OnListUpdated(&self, view: ::core::option::Option<&View>) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for _AppEvents {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl _AppEvents_Vtbl { + pub const fn new, Impl: _AppEvents_Impl, const OFFSET: isize>() -> _AppEvents_Vtbl { + unsafe extern "system" fn OnQuit, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, application: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnQuit(::windows::core::from_raw_borrowed(&application)).into() + } + unsafe extern "system" fn OnDocumentOpen, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, document: *mut ::core::ffi::c_void, new: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnDocumentOpen(::windows::core::from_raw_borrowed(&document), ::core::mem::transmute_copy(&new)).into() + } + unsafe extern "system" fn OnDocumentClose, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, document: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnDocumentClose(::windows::core::from_raw_borrowed(&document)).into() + } + unsafe extern "system" fn OnSnapInAdded, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, document: *mut ::core::ffi::c_void, snapin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnSnapInAdded(::windows::core::from_raw_borrowed(&document), ::windows::core::from_raw_borrowed(&snapin)).into() + } + unsafe extern "system" fn OnSnapInRemoved, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, document: *mut ::core::ffi::c_void, snapin: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnSnapInRemoved(::windows::core::from_raw_borrowed(&document), ::windows::core::from_raw_borrowed(&snapin)).into() + } + unsafe extern "system" fn OnNewView, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnNewView(::windows::core::from_raw_borrowed(&view)).into() + } + unsafe extern "system" fn OnViewClose, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnViewClose(::windows::core::from_raw_borrowed(&view)).into() + } + unsafe extern "system" fn OnViewChange, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void, newownernode: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnViewChange(::windows::core::from_raw_borrowed(&view), ::windows::core::from_raw_borrowed(&newownernode)).into() + } + unsafe extern "system" fn OnSelectionChange, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void, newnodes: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnSelectionChange(::windows::core::from_raw_borrowed(&view), ::windows::core::from_raw_borrowed(&newnodes)).into() + } + unsafe extern "system" fn OnContextMenuExecuted, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, menuitem: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnContextMenuExecuted(::windows::core::from_raw_borrowed(&menuitem)).into() + } + unsafe extern "system" fn OnToolbarButtonClicked, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnToolbarButtonClicked().into() + } + unsafe extern "system" fn OnListUpdated, Impl: _AppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, view: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.OnListUpdated(::windows::core::from_raw_borrowed(&view)).into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + OnQuit: OnQuit::, + OnDocumentOpen: OnDocumentOpen::, + OnDocumentClose: OnDocumentClose::, + OnSnapInAdded: OnSnapInAdded::, + OnSnapInRemoved: OnSnapInRemoved::, + OnNewView: OnNewView::, + OnViewClose: OnViewClose::, + OnViewChange: OnViewChange::, + OnSelectionChange: OnSelectionChange::, + OnContextMenuExecuted: OnContextMenuExecuted::, + OnToolbarButtonClicked: OnToolbarButtonClicked::, + OnListUpdated: OnListUpdated::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &<_AppEvents as ::windows::core::ComInterface>::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait _Application_Impl: Sized + super::Com::IDispatch_Impl { + fn Help(&self); + fn Quit(&self); + fn Document(&self) -> ::windows::core::Result; + fn Load(&self, filename: &::windows::core::BSTR) -> ::windows::core::Result<()>; + fn Frame(&self) -> ::windows::core::Result; + fn Visible(&self) -> ::windows::core::Result; + fn Show(&self) -> ::windows::core::Result<()>; + fn Hide(&self) -> ::windows::core::Result<()>; + fn UserControl(&self) -> ::windows::core::Result; + fn SetUserControl(&self, usercontrol: super::super::Foundation::BOOL) -> ::windows::core::Result<()>; + fn VersionMajor(&self) -> ::windows::core::Result; + fn VersionMinor(&self) -> ::windows::core::Result; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for _Application {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl _Application_Vtbl { + pub const fn new, Impl: _Application_Impl, const OFFSET: isize>() -> _Application_Vtbl { + unsafe extern "system" fn Help, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Help() + } + unsafe extern "system" fn Quit, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Quit() + } + unsafe extern "system" fn Document, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, document: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Document() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(document, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Load, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, filename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Load(::core::mem::transmute(&filename)).into() + } + unsafe extern "system" fn Frame, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frame: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Frame() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(frame, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Visible, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, visible: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.Visible() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(visible, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn Show, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Show().into() + } + unsafe extern "system" fn Hide, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Hide().into() + } + unsafe extern "system" fn UserControl, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usercontrol: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.UserControl() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(usercontrol, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn SetUserControl, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, usercontrol: super::super::Foundation::BOOL) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.SetUserControl(::core::mem::transmute_copy(&usercontrol)).into() + } + unsafe extern "system" fn VersionMajor, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, versionmajor: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.VersionMajor() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(versionmajor, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + unsafe extern "system" fn VersionMinor, Impl: _Application_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, versionminor: *mut i32) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + match this.VersionMinor() { + ::core::result::Result::Ok(ok__) => { + ::core::ptr::write(versionminor, ::core::mem::transmute(ok__)); + ::windows::core::HRESULT(0) + } + ::core::result::Result::Err(err) => err.into(), + } + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + Help: Help::, + Quit: Quit::, + Document: Document::, + Load: Load::, + Frame: Frame::, + Visible: Visible::, + Show: Show::, + Hide: Hide::, + UserControl: UserControl::, + SetUserControl: SetUserControl::, + VersionMajor: VersionMajor::, + VersionMinor: VersionMinor::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &<_Application as ::windows::core::ComInterface>::IID || iid == &::IID + } +} +#[doc = "*Required features: `\"Win32_System_Mmc\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"] +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +pub trait _EventConnector_Impl: Sized + super::Com::IDispatch_Impl { + fn ConnectTo(&self, application: ::core::option::Option<&_Application>) -> ::windows::core::Result<()>; + fn Disconnect(&self) -> ::windows::core::Result<()>; +} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl ::windows::core::RuntimeName for _EventConnector {} +#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))] +impl _EventConnector_Vtbl { + pub const fn new, Impl: _EventConnector_Impl, const OFFSET: isize>() -> _EventConnector_Vtbl { + unsafe extern "system" fn ConnectTo, Impl: _EventConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, application: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.ConnectTo(::windows::core::from_raw_borrowed(&application)).into() + } + unsafe extern "system" fn Disconnect, Impl: _EventConnector_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT { + let this = (this as *const *const ()).offset(OFFSET) as *const Identity; + let this = (*this).get_impl(); + this.Disconnect().into() + } + Self { + base__: super::Com::IDispatch_Vtbl::new::(), + ConnectTo: ConnectTo::, + Disconnect: Disconnect::, + } + } + pub fn matches(iid: &windows::core::GUID) -> bool { + iid == &<_EventConnector as ::windows::core::ComInterface>::IID || iid == &::IID + } +}