#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait CIE4ConnectionPoint_Impl: Sized + super::super::System::Com::IConnectionPoint_Impl {
fn DoInvokeIE4(&self, pf: *mut super::super::Foundation::BOOL, ppv: *mut *mut core::ffi::c_void, dispid: i32, pdispparams: *mut super::super::System::Com::DISPPARAMS) -> windows_core::Result<()>;
fn DoInvokePIDLIE4(&self, dispid: i32, pidl: *mut Common::ITEMIDLIST, fcancancel: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for CIE4ConnectionPoint {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl CIE4ConnectionPoint_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> CIE4ConnectionPoint_Vtbl
where
Identity: CIE4ConnectionPoint_Impl,
{
unsafe extern "system" fn DoInvokeIE4<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pf: *mut super::super::Foundation::BOOL, ppv: *mut *mut core::ffi::c_void, dispid: i32, pdispparams: *mut super::super::System::Com::DISPPARAMS) -> windows_core::HRESULT
where
Identity: CIE4ConnectionPoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
CIE4ConnectionPoint_Impl::DoInvokeIE4(this, core::mem::transmute_copy(&pf), core::mem::transmute_copy(&ppv), core::mem::transmute_copy(&dispid), core::mem::transmute_copy(&pdispparams)).into()
}
unsafe extern "system" fn DoInvokePIDLIE4<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dispid: i32, pidl: *mut Common::ITEMIDLIST, fcancancel: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: CIE4ConnectionPoint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
CIE4ConnectionPoint_Impl::DoInvokePIDLIE4(this, core::mem::transmute_copy(&dispid), core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&fcancancel)).into()
}
Self {
base__: super::super::System::Com::IConnectionPoint_Vtbl::new::<Identity, OFFSET>(),
DoInvokeIE4: DoInvokeIE4::<Identity, OFFSET>,
DoInvokePIDLIE4: DoInvokePIDLIE4::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<CIE4ConnectionPoint as windows_core::Interface>::IID || iid == &<super::super::System::Com::IConnectionPoint as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait DFConstraint_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Name(&self) -> windows_core::Result<windows_core::BSTR>;
fn Value(&self) -> windows_core::Result<windows_core::VARIANT>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for DFConstraint {}
#[cfg(feature = "Win32_System_Com")]
impl DFConstraint_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DFConstraint_Vtbl
where
Identity: DFConstraint_Impl,
{
unsafe extern "system" fn Name<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: DFConstraint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match DFConstraint_Impl::Name(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Value<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pv: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: DFConstraint_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match DFConstraint_Impl::Value(this) {
Ok(ok__) => {
pv.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(), Name: Name::<Identity, OFFSET>, Value: Value::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DFConstraint as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait DShellFolderViewEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for DShellFolderViewEvents {}
#[cfg(feature = "Win32_System_Com")]
impl DShellFolderViewEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DShellFolderViewEvents_Vtbl
where
Identity: DShellFolderViewEvents_Impl,
{
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DShellFolderViewEvents as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait DShellNameSpaceEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for DShellNameSpaceEvents {}
#[cfg(feature = "Win32_System_Com")]
impl DShellNameSpaceEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DShellNameSpaceEvents_Vtbl
where
Identity: DShellNameSpaceEvents_Impl,
{
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DShellNameSpaceEvents as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait DShellWindowsEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for DShellWindowsEvents {}
#[cfg(feature = "Win32_System_Com")]
impl DShellWindowsEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DShellWindowsEvents_Vtbl
where
Identity: DShellWindowsEvents_Impl,
{
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DShellWindowsEvents as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait DWebBrowserEvents_Impl: Sized + super::super::System::Com::IDispatch_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for DWebBrowserEvents {}
#[cfg(feature = "Win32_System_Com")]
impl DWebBrowserEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DWebBrowserEvents_Vtbl
where
Identity: DWebBrowserEvents_Impl,
{
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DWebBrowserEvents as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait DWebBrowserEvents2_Impl: Sized + super::super::System::Com::IDispatch_Impl {}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for DWebBrowserEvents2 {}
#[cfg(feature = "Win32_System_Com")]
impl DWebBrowserEvents2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> DWebBrowserEvents2_Vtbl
where
Identity: DWebBrowserEvents2_Impl,
{
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<DWebBrowserEvents2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait Folder_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Title(&self) -> windows_core::Result<windows_core::BSTR>;
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn ParentFolder(&self) -> windows_core::Result<Folder>;
fn Items(&self) -> windows_core::Result<FolderItems>;
fn ParseName(&self, bname: &windows_core::BSTR) -> windows_core::Result<FolderItem>;
fn NewFolder(&self, bname: &windows_core::BSTR, voptions: &windows_core::VARIANT) -> windows_core::Result<()>;
fn MoveHere(&self, vitem: &windows_core::VARIANT, voptions: &windows_core::VARIANT) -> windows_core::Result<()>;
fn CopyHere(&self, vitem: &windows_core::VARIANT, voptions: &windows_core::VARIANT) -> windows_core::Result<()>;
fn GetDetailsOf(&self, vitem: &windows_core::VARIANT, icolumn: i32) -> windows_core::Result<windows_core::BSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for Folder {}
#[cfg(feature = "Win32_System_Com")]
impl Folder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> Folder_Vtbl
where
Identity: Folder_Impl,
{
unsafe extern "system" fn Title<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::Title(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ParentFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::ParentFolder(this) {
Ok(ok__) => {
ppsf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Items<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::Items(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ParseName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bname: core::mem::MaybeUninit<windows_core::BSTR>, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::ParseName(this, core::mem::transmute(&bname)) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn NewFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bname: core::mem::MaybeUninit<windows_core::BSTR>, voptions: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
Folder_Impl::NewFolder(this, core::mem::transmute(&bname), core::mem::transmute(&voptions)).into()
}
unsafe extern "system" fn MoveHere<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vitem: core::mem::MaybeUninit<windows_core::VARIANT>, voptions: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
Folder_Impl::MoveHere(this, core::mem::transmute(&vitem), core::mem::transmute(&voptions)).into()
}
unsafe extern "system" fn CopyHere<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vitem: core::mem::MaybeUninit<windows_core::VARIANT>, voptions: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
Folder_Impl::CopyHere(this, core::mem::transmute(&vitem), core::mem::transmute(&voptions)).into()
}
unsafe extern "system" fn GetDetailsOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vitem: core::mem::MaybeUninit<windows_core::VARIANT>, icolumn: i32, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: Folder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder_Impl::GetDetailsOf(this, core::mem::transmute(&vitem), core::mem::transmute_copy(&icolumn)) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Title: Title::<Identity, OFFSET>,
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
ParentFolder: ParentFolder::<Identity, OFFSET>,
Items: Items::<Identity, OFFSET>,
ParseName: ParseName::<Identity, OFFSET>,
NewFolder: NewFolder::<Identity, OFFSET>,
MoveHere: MoveHere::<Identity, OFFSET>,
CopyHere: CopyHere::<Identity, OFFSET>,
GetDetailsOf: GetDetailsOf::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<Folder as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait Folder2_Impl: Sized + Folder_Impl {
fn Self_(&self) -> windows_core::Result<FolderItem>;
fn OfflineStatus(&self) -> windows_core::Result<i32>;
fn Synchronize(&self) -> windows_core::Result<()>;
fn HaveToShowWebViewBarricade(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn DismissedWebViewBarricade(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for Folder2 {}
#[cfg(feature = "Win32_System_Com")]
impl Folder2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> Folder2_Vtbl
where
Identity: Folder2_Impl,
{
unsafe extern "system" fn Self_<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppfi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder2_Impl::Self_(this) {
Ok(ok__) => {
ppfi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OfflineStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pul: *mut i32) -> windows_core::HRESULT
where
Identity: Folder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder2_Impl::OfflineStatus(this) {
Ok(ok__) => {
pul.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Synchronize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
Folder2_Impl::Synchronize(this).into()
}
unsafe extern "system" fn HaveToShowWebViewBarricade<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbhavetoshowwebviewbarricade: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: Folder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder2_Impl::HaveToShowWebViewBarricade(this) {
Ok(ok__) => {
pbhavetoshowwebviewbarricade.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DismissedWebViewBarricade<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: Folder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
Folder2_Impl::DismissedWebViewBarricade(this).into()
}
Self {
base__: Folder_Vtbl::new::<Identity, OFFSET>(),
Self_: Self_::<Identity, OFFSET>,
OfflineStatus: OfflineStatus::<Identity, OFFSET>,
Synchronize: Synchronize::<Identity, OFFSET>,
HaveToShowWebViewBarricade: HaveToShowWebViewBarricade::<Identity, OFFSET>,
DismissedWebViewBarricade: DismissedWebViewBarricade::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<Folder2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<Folder as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait Folder3_Impl: Sized + Folder2_Impl {
fn ShowWebViewBarricade(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetShowWebViewBarricade(&self, bshowwebviewbarricade: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for Folder3 {}
#[cfg(feature = "Win32_System_Com")]
impl Folder3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> Folder3_Vtbl
where
Identity: Folder3_Impl,
{
unsafe extern "system" fn ShowWebViewBarricade<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbshowwebviewbarricade: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: Folder3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match Folder3_Impl::ShowWebViewBarricade(this) {
Ok(ok__) => {
pbshowwebviewbarricade.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetShowWebViewBarricade<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bshowwebviewbarricade: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: Folder3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
Folder3_Impl::SetShowWebViewBarricade(this, core::mem::transmute_copy(&bshowwebviewbarricade)).into()
}
Self {
base__: Folder2_Vtbl::new::<Identity, OFFSET>(),
ShowWebViewBarricade: ShowWebViewBarricade::<Identity, OFFSET>,
SetShowWebViewBarricade: SetShowWebViewBarricade::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<Folder3 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<Folder as windows_core::Interface>::IID || iid == &<Folder2 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItem_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Name(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetName(&self, bs: &windows_core::BSTR) -> windows_core::Result<()>;
fn Path(&self) -> windows_core::Result<windows_core::BSTR>;
fn GetLink(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn GetFolder(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn IsLink(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn IsFolder(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn IsFileSystem(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn IsBrowsable(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn ModifyDate(&self) -> windows_core::Result<f64>;
fn SetModifyDate(&self, dt: f64) -> windows_core::Result<()>;
fn Size(&self) -> windows_core::Result<i32>;
fn Type(&self) -> windows_core::Result<windows_core::BSTR>;
fn Verbs(&self) -> windows_core::Result<FolderItemVerbs>;
fn InvokeVerb(&self, vverb: &windows_core::VARIANT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItem {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItem_Vtbl
where
Identity: FolderItem_Impl,
{
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Name(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bs: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItem_Impl::SetName(this, core::mem::transmute(&bs)).into()
}
unsafe extern "system" fn Path<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Path(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::GetLink(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::GetFolder(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsLink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pb: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::IsLink(this) {
Ok(ok__) => {
pb.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pb: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::IsFolder(this) {
Ok(ok__) => {
pb.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsFileSystem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pb: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::IsFileSystem(this) {
Ok(ok__) => {
pb.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsBrowsable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pb: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::IsBrowsable(this) {
Ok(ok__) => {
pb.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ModifyDate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdt: *mut f64) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::ModifyDate(this) {
Ok(ok__) => {
pdt.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetModifyDate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dt: f64) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItem_Impl::SetModifyDate(this, core::mem::transmute_copy(&dt)).into()
}
unsafe extern "system" fn Size<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pul: *mut i32) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Size(this) {
Ok(ok__) => {
pul.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Type<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Type(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Verbs<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppfic: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem_Impl::Verbs(this) {
Ok(ok__) => {
ppfic.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InvokeVerb<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vverb: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: FolderItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItem_Impl::InvokeVerb(this, core::mem::transmute(&vverb)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
Name: Name::<Identity, OFFSET>,
SetName: SetName::<Identity, OFFSET>,
Path: Path::<Identity, OFFSET>,
GetLink: GetLink::<Identity, OFFSET>,
GetFolder: GetFolder::<Identity, OFFSET>,
IsLink: IsLink::<Identity, OFFSET>,
IsFolder: IsFolder::<Identity, OFFSET>,
IsFileSystem: IsFileSystem::<Identity, OFFSET>,
IsBrowsable: IsBrowsable::<Identity, OFFSET>,
ModifyDate: ModifyDate::<Identity, OFFSET>,
SetModifyDate: SetModifyDate::<Identity, OFFSET>,
Size: Size::<Identity, OFFSET>,
Type: Type::<Identity, OFFSET>,
Verbs: Verbs::<Identity, OFFSET>,
InvokeVerb: InvokeVerb::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItem as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItem2_Impl: Sized + FolderItem_Impl {
fn InvokeVerbEx(&self, vverb: &windows_core::VARIANT, vargs: &windows_core::VARIANT) -> windows_core::Result<()>;
fn ExtendedProperty(&self, bstrpropname: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItem2 {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItem2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItem2_Vtbl
where
Identity: FolderItem2_Impl,
{
unsafe extern "system" fn InvokeVerbEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vverb: core::mem::MaybeUninit<windows_core::VARIANT>, vargs: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: FolderItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItem2_Impl::InvokeVerbEx(this, core::mem::transmute(&vverb), core::mem::transmute(&vargs)).into()
}
unsafe extern "system" fn ExtendedProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrpropname: core::mem::MaybeUninit<windows_core::BSTR>, pvret: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: FolderItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItem2_Impl::ExtendedProperty(this, core::mem::transmute(&bstrpropname)) {
Ok(ok__) => {
pvret.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: FolderItem_Vtbl::new::<Identity, OFFSET>(),
InvokeVerbEx: InvokeVerbEx::<Identity, OFFSET>,
ExtendedProperty: ExtendedProperty::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItem2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<FolderItem as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItemVerb_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Name(&self) -> windows_core::Result<windows_core::BSTR>;
fn DoIt(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItemVerb {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItemVerb_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItemVerb_Vtbl
where
Identity: FolderItemVerb_Impl,
{
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerb_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerb_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerb_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerb_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: FolderItemVerb_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerb_Impl::Name(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DoIt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerb_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItemVerb_Impl::DoIt(this).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
Name: Name::<Identity, OFFSET>,
DoIt: DoIt::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItemVerb as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItemVerbs_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> windows_core::Result<i32>;
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Item(&self, index: &windows_core::VARIANT) -> windows_core::Result<FolderItemVerb>;
fn _NewEnum(&self) -> windows_core::Result<windows_core::IUnknown>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItemVerbs {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItemVerbs_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItemVerbs_Vtbl
where
Identity: FolderItemVerbs_Impl,
{
unsafe extern "system" fn Count<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plcount: *mut i32) -> windows_core::HRESULT
where
Identity: FolderItemVerbs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerbs_Impl::Count(this) {
Ok(ok__) => {
plcount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerbs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerbs_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerbs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerbs_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Item<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: core::mem::MaybeUninit<windows_core::VARIANT>, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerbs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerbs_Impl::Item(this, core::mem::transmute(&index)) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItemVerbs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItemVerbs_Impl::_NewEnum(this) {
Ok(ok__) => {
ppunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Count: Count::<Identity, OFFSET>,
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
Item: Item::<Identity, OFFSET>,
_NewEnum: _NewEnum::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItemVerbs as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItems_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> windows_core::Result<i32>;
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Item(&self, index: &windows_core::VARIANT) -> windows_core::Result<FolderItem>;
fn _NewEnum(&self) -> windows_core::Result<windows_core::IUnknown>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItems {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItems_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItems_Vtbl
where
Identity: FolderItems_Impl,
{
unsafe extern "system" fn Count<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plcount: *mut i32) -> windows_core::HRESULT
where
Identity: FolderItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItems_Impl::Count(this) {
Ok(ok__) => {
plcount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItems_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItems_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Item<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: core::mem::MaybeUninit<windows_core::VARIANT>, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItems_Impl::Item(this, core::mem::transmute(&index)) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItems_Impl::_NewEnum(this) {
Ok(ok__) => {
ppunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Count: Count::<Identity, OFFSET>,
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
Item: Item::<Identity, OFFSET>,
_NewEnum: _NewEnum::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItems as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItems2_Impl: Sized + FolderItems_Impl {
fn InvokeVerbEx(&self, vverb: &windows_core::VARIANT, vargs: &windows_core::VARIANT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItems2 {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItems2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItems2_Vtbl
where
Identity: FolderItems2_Impl,
{
unsafe extern "system" fn InvokeVerbEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vverb: core::mem::MaybeUninit<windows_core::VARIANT>, vargs: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: FolderItems2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItems2_Impl::InvokeVerbEx(this, core::mem::transmute(&vverb), core::mem::transmute(&vargs)).into()
}
Self { base__: FolderItems_Vtbl::new::<Identity, OFFSET>(), InvokeVerbEx: InvokeVerbEx::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItems2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<FolderItems as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait FolderItems3_Impl: Sized + FolderItems2_Impl {
fn Filter(&self, grfflags: i32, bstrfilespec: &windows_core::BSTR) -> windows_core::Result<()>;
fn Verbs(&self) -> windows_core::Result<FolderItemVerbs>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for FolderItems3 {}
#[cfg(feature = "Win32_System_Com")]
impl FolderItems3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> FolderItems3_Vtbl
where
Identity: FolderItems3_Impl,
{
unsafe extern "system" fn Filter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfflags: i32, bstrfilespec: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: FolderItems3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
FolderItems3_Impl::Filter(this, core::mem::transmute_copy(&grfflags), core::mem::transmute(&bstrfilespec)).into()
}
unsafe extern "system" fn Verbs<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppfic: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: FolderItems3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match FolderItems3_Impl::Verbs(this) {
Ok(ok__) => {
ppfic.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: FolderItems2_Vtbl::new::<Identity, OFFSET>(), Filter: Filter::<Identity, OFFSET>, Verbs: Verbs::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<FolderItems3 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<FolderItems as windows_core::Interface>::IID || iid == &<FolderItems2 as windows_core::Interface>::IID
}
}
pub trait IACList_Impl: Sized {
fn Expand(&self, pszexpand: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IACList {}
impl IACList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IACList_Vtbl
where
Identity: IACList_Impl,
{
unsafe extern "system" fn Expand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszexpand: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IACList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IACList_Impl::Expand(this, core::mem::transmute(&pszexpand)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Expand: Expand::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IACList as windows_core::Interface>::IID
}
}
pub trait IACList2_Impl: Sized + IACList_Impl {
fn SetOptions(&self, dwflag: u32) -> windows_core::Result<()>;
fn GetOptions(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IACList2 {}
impl IACList2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IACList2_Vtbl
where
Identity: IACList2_Impl,
{
unsafe extern "system" fn SetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflag: u32) -> windows_core::HRESULT
where
Identity: IACList2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IACList2_Impl::SetOptions(this, core::mem::transmute_copy(&dwflag)).into()
}
unsafe extern "system" fn GetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflag: *mut u32) -> windows_core::HRESULT
where
Identity: IACList2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IACList2_Impl::GetOptions(this) {
Ok(ok__) => {
pdwflag.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IACList_Vtbl::new::<Identity, OFFSET>(), SetOptions: SetOptions::<Identity, OFFSET>, GetOptions: GetOptions::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IACList2 as windows_core::Interface>::IID || iid == &<IACList as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IAccessibilityDockingService_Impl: Sized {
fn GetAvailableSize(&self, hmonitor: super::super::Graphics::Gdi::HMONITOR, pcxfixed: *mut u32, pcymax: *mut u32) -> windows_core::Result<()>;
fn DockWindow(&self, hwnd: super::super::Foundation::HWND, hmonitor: super::super::Graphics::Gdi::HMONITOR, cyrequested: u32, pcallback: Option<&IAccessibilityDockingServiceCallback>) -> windows_core::Result<()>;
fn UndockWindow(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IAccessibilityDockingService {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IAccessibilityDockingService_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAccessibilityDockingService_Vtbl
where
Identity: IAccessibilityDockingService_Impl,
{
unsafe extern "system" fn GetAvailableSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR, pcxfixed: *mut u32, pcymax: *mut u32) -> windows_core::HRESULT
where
Identity: IAccessibilityDockingService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAccessibilityDockingService_Impl::GetAvailableSize(this, core::mem::transmute_copy(&hmonitor), core::mem::transmute_copy(&pcxfixed), core::mem::transmute_copy(&pcymax)).into()
}
unsafe extern "system" fn DockWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, hmonitor: super::super::Graphics::Gdi::HMONITOR, cyrequested: u32, pcallback: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAccessibilityDockingService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAccessibilityDockingService_Impl::DockWindow(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&hmonitor), core::mem::transmute_copy(&cyrequested), windows_core::from_raw_borrowed(&pcallback)).into()
}
unsafe extern "system" fn UndockWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IAccessibilityDockingService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAccessibilityDockingService_Impl::UndockWindow(this, core::mem::transmute_copy(&hwnd)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetAvailableSize: GetAvailableSize::<Identity, OFFSET>,
DockWindow: DockWindow::<Identity, OFFSET>,
UndockWindow: UndockWindow::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAccessibilityDockingService as windows_core::Interface>::IID
}
}
pub trait IAccessibilityDockingServiceCallback_Impl: Sized {
fn Undocked(&self, undockreason: UNDOCK_REASON) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IAccessibilityDockingServiceCallback {}
impl IAccessibilityDockingServiceCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAccessibilityDockingServiceCallback_Vtbl
where
Identity: IAccessibilityDockingServiceCallback_Impl,
{
unsafe extern "system" fn Undocked<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, undockreason: UNDOCK_REASON) -> windows_core::HRESULT
where
Identity: IAccessibilityDockingServiceCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAccessibilityDockingServiceCallback_Impl::Undocked(this, core::mem::transmute_copy(&undockreason)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Undocked: Undocked::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAccessibilityDockingServiceCallback as windows_core::Interface>::IID
}
}
pub trait IAccessibleObject_Impl: Sized {
fn SetAccessibleName(&self, pszname: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IAccessibleObject {}
impl IAccessibleObject_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAccessibleObject_Vtbl
where
Identity: IAccessibleObject_Impl,
{
unsafe extern "system" fn SetAccessibleName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAccessibleObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAccessibleObject_Impl::SetAccessibleName(this, core::mem::transmute(&pszname)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetAccessibleName: SetAccessibleName::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAccessibleObject as windows_core::Interface>::IID
}
}
pub trait IActionProgress_Impl: Sized {
fn Begin(&self, action: SPACTION, flags: u32) -> windows_core::Result<()>;
fn UpdateProgress(&self, ulcompleted: u64, ultotal: u64) -> windows_core::Result<()>;
fn UpdateText(&self, sptext: SPTEXT, psztext: &windows_core::PCWSTR, fmaycompact: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn QueryCancel(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn ResetCancel(&self) -> windows_core::Result<()>;
fn End(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IActionProgress {}
impl IActionProgress_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IActionProgress_Vtbl
where
Identity: IActionProgress_Impl,
{
unsafe extern "system" fn Begin<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, action: SPACTION, flags: u32) -> windows_core::HRESULT
where
Identity: IActionProgress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgress_Impl::Begin(this, core::mem::transmute_copy(&action), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn UpdateProgress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ulcompleted: u64, ultotal: u64) -> windows_core::HRESULT
where
Identity: IActionProgress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgress_Impl::UpdateProgress(this, core::mem::transmute_copy(&ulcompleted), core::mem::transmute_copy(&ultotal)).into()
}
unsafe extern "system" fn UpdateText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sptext: SPTEXT, psztext: windows_core::PCWSTR, fmaycompact: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IActionProgress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgress_Impl::UpdateText(this, core::mem::transmute_copy(&sptext), core::mem::transmute(&psztext), core::mem::transmute_copy(&fmaycompact)).into()
}
unsafe extern "system" fn QueryCancel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfcancelled: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IActionProgress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IActionProgress_Impl::QueryCancel(this) {
Ok(ok__) => {
pfcancelled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ResetCancel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IActionProgress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgress_Impl::ResetCancel(this).into()
}
unsafe extern "system" fn End<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IActionProgress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgress_Impl::End(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Begin: Begin::<Identity, OFFSET>,
UpdateProgress: UpdateProgress::<Identity, OFFSET>,
UpdateText: UpdateText::<Identity, OFFSET>,
QueryCancel: QueryCancel::<Identity, OFFSET>,
ResetCancel: ResetCancel::<Identity, OFFSET>,
End: End::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IActionProgress as windows_core::Interface>::IID
}
}
pub trait IActionProgressDialog_Impl: Sized {
fn Initialize(&self, flags: u32, psztitle: &windows_core::PCWSTR, pszcancel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Stop(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IActionProgressDialog {}
impl IActionProgressDialog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IActionProgressDialog_Vtbl
where
Identity: IActionProgressDialog_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: u32, psztitle: windows_core::PCWSTR, pszcancel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IActionProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgressDialog_Impl::Initialize(this, core::mem::transmute_copy(&flags), core::mem::transmute(&psztitle), core::mem::transmute(&pszcancel)).into()
}
unsafe extern "system" fn Stop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IActionProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IActionProgressDialog_Impl::Stop(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET>, Stop: Stop::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IActionProgressDialog as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IAppActivationUIInfo_Impl: Sized {
fn GetMonitor(&self) -> windows_core::Result<super::super::Graphics::Gdi::HMONITOR>;
fn GetInvokePoint(&self) -> windows_core::Result<super::super::Foundation::POINT>;
fn GetShowCommand(&self) -> windows_core::Result<i32>;
fn GetShowUI(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn GetKeyState(&self) -> windows_core::Result<u32>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IAppActivationUIInfo {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IAppActivationUIInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAppActivationUIInfo_Vtbl
where
Identity: IAppActivationUIInfo_Impl,
{
unsafe extern "system" fn GetMonitor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut super::super::Graphics::Gdi::HMONITOR) -> windows_core::HRESULT
where
Identity: IAppActivationUIInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppActivationUIInfo_Impl::GetMonitor(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInvokePoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IAppActivationUIInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppActivationUIInfo_Impl::GetInvokePoint(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetShowCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut i32) -> windows_core::HRESULT
where
Identity: IAppActivationUIInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppActivationUIInfo_Impl::GetShowCommand(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetShowUI<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IAppActivationUIInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppActivationUIInfo_Impl::GetShowUI(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKeyState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut u32) -> windows_core::HRESULT
where
Identity: IAppActivationUIInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppActivationUIInfo_Impl::GetKeyState(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetMonitor: GetMonitor::<Identity, OFFSET>,
GetInvokePoint: GetInvokePoint::<Identity, OFFSET>,
GetShowCommand: GetShowCommand::<Identity, OFFSET>,
GetShowUI: GetShowUI::<Identity, OFFSET>,
GetKeyState: GetKeyState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAppActivationUIInfo as windows_core::Interface>::IID
}
}
pub trait IAppPublisher_Impl: Sized {
fn GetNumberOfCategories(&self) -> windows_core::Result<u32>;
fn GetCategories(&self) -> windows_core::Result<APPCATEGORYINFOLIST>;
fn GetNumberOfApps(&self) -> windows_core::Result<u32>;
fn EnumApps(&self, pappcategoryid: *const windows_core::GUID) -> windows_core::Result<IEnumPublishedApps>;
}
impl windows_core::RuntimeName for IAppPublisher {}
impl IAppPublisher_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAppPublisher_Vtbl
where
Identity: IAppPublisher_Impl,
{
unsafe extern "system" fn GetNumberOfCategories<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwcat: *mut u32) -> windows_core::HRESULT
where
Identity: IAppPublisher_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppPublisher_Impl::GetNumberOfCategories(this) {
Ok(ok__) => {
pdwcat.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCategories<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pappcategorylist: *mut APPCATEGORYINFOLIST) -> windows_core::HRESULT
where
Identity: IAppPublisher_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppPublisher_Impl::GetCategories(this) {
Ok(ok__) => {
pappcategorylist.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNumberOfApps<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwapps: *mut u32) -> windows_core::HRESULT
where
Identity: IAppPublisher_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppPublisher_Impl::GetNumberOfApps(this) {
Ok(ok__) => {
pdwapps.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumApps<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pappcategoryid: *const windows_core::GUID, ppepa: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAppPublisher_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppPublisher_Impl::EnumApps(this, core::mem::transmute_copy(&pappcategoryid)) {
Ok(ok__) => {
ppepa.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetNumberOfCategories: GetNumberOfCategories::<Identity, OFFSET>,
GetCategories: GetCategories::<Identity, OFFSET>,
GetNumberOfApps: GetNumberOfApps::<Identity, OFFSET>,
EnumApps: EnumApps::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAppPublisher as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IAppVisibility_Impl: Sized {
fn GetAppVisibilityOnMonitor(&self, hmonitor: super::super::Graphics::Gdi::HMONITOR) -> windows_core::Result<MONITOR_APP_VISIBILITY>;
fn IsLauncherVisible(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn Advise(&self, pcallback: Option<&IAppVisibilityEvents>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IAppVisibility {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IAppVisibility_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAppVisibility_Vtbl
where
Identity: IAppVisibility_Impl,
{
unsafe extern "system" fn GetAppVisibilityOnMonitor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR, pmode: *mut MONITOR_APP_VISIBILITY) -> windows_core::HRESULT
where
Identity: IAppVisibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppVisibility_Impl::GetAppVisibilityOnMonitor(this, core::mem::transmute_copy(&hmonitor)) {
Ok(ok__) => {
pmode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsLauncherVisible<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfvisible: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IAppVisibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppVisibility_Impl::IsLauncherVisible(this) {
Ok(ok__) => {
pfvisible.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcallback: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IAppVisibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAppVisibility_Impl::Advise(this, windows_core::from_raw_borrowed(&pcallback)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: IAppVisibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAppVisibility_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetAppVisibilityOnMonitor: GetAppVisibilityOnMonitor::<Identity, OFFSET>,
IsLauncherVisible: IsLauncherVisible::<Identity, OFFSET>,
Advise: Advise::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAppVisibility as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IAppVisibilityEvents_Impl: Sized {
fn AppVisibilityOnMonitorChanged(&self, hmonitor: super::super::Graphics::Gdi::HMONITOR, previousmode: MONITOR_APP_VISIBILITY, currentmode: MONITOR_APP_VISIBILITY) -> windows_core::Result<()>;
fn LauncherVisibilityChange(&self, currentvisiblestate: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IAppVisibilityEvents {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IAppVisibilityEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAppVisibilityEvents_Vtbl
where
Identity: IAppVisibilityEvents_Impl,
{
unsafe extern "system" fn AppVisibilityOnMonitorChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmonitor: super::super::Graphics::Gdi::HMONITOR, previousmode: MONITOR_APP_VISIBILITY, currentmode: MONITOR_APP_VISIBILITY) -> windows_core::HRESULT
where
Identity: IAppVisibilityEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAppVisibilityEvents_Impl::AppVisibilityOnMonitorChanged(this, core::mem::transmute_copy(&hmonitor), core::mem::transmute_copy(&previousmode), core::mem::transmute_copy(¤tmode)).into()
}
unsafe extern "system" fn LauncherVisibilityChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, currentvisiblestate: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IAppVisibilityEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAppVisibilityEvents_Impl::LauncherVisibilityChange(this, core::mem::transmute_copy(¤tvisiblestate)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AppVisibilityOnMonitorChanged: AppVisibilityOnMonitorChanged::<Identity, OFFSET>,
LauncherVisibilityChange: LauncherVisibilityChange::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAppVisibilityEvents as windows_core::Interface>::IID
}
}
pub trait IApplicationActivationManager_Impl: Sized {
fn ActivateApplication(&self, appusermodelid: &windows_core::PCWSTR, arguments: &windows_core::PCWSTR, options: ACTIVATEOPTIONS) -> windows_core::Result<u32>;
fn ActivateForFile(&self, appusermodelid: &windows_core::PCWSTR, itemarray: Option<&IShellItemArray>, verb: &windows_core::PCWSTR) -> windows_core::Result<u32>;
fn ActivateForProtocol(&self, appusermodelid: &windows_core::PCWSTR, itemarray: Option<&IShellItemArray>) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IApplicationActivationManager {}
impl IApplicationActivationManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationActivationManager_Vtbl
where
Identity: IApplicationActivationManager_Impl,
{
unsafe extern "system" fn ActivateApplication<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, appusermodelid: windows_core::PCWSTR, arguments: windows_core::PCWSTR, options: ACTIVATEOPTIONS, processid: *mut u32) -> windows_core::HRESULT
where
Identity: IApplicationActivationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationActivationManager_Impl::ActivateApplication(this, core::mem::transmute(&appusermodelid), core::mem::transmute(&arguments), core::mem::transmute_copy(&options)) {
Ok(ok__) => {
processid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ActivateForFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, appusermodelid: windows_core::PCWSTR, itemarray: *mut core::ffi::c_void, verb: windows_core::PCWSTR, processid: *mut u32) -> windows_core::HRESULT
where
Identity: IApplicationActivationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationActivationManager_Impl::ActivateForFile(this, core::mem::transmute(&appusermodelid), windows_core::from_raw_borrowed(&itemarray), core::mem::transmute(&verb)) {
Ok(ok__) => {
processid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ActivateForProtocol<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, appusermodelid: windows_core::PCWSTR, itemarray: *mut core::ffi::c_void, processid: *mut u32) -> windows_core::HRESULT
where
Identity: IApplicationActivationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationActivationManager_Impl::ActivateForProtocol(this, core::mem::transmute(&appusermodelid), windows_core::from_raw_borrowed(&itemarray)) {
Ok(ok__) => {
processid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ActivateApplication: ActivateApplication::<Identity, OFFSET>,
ActivateForFile: ActivateForFile::<Identity, OFFSET>,
ActivateForProtocol: ActivateForProtocol::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationActivationManager as windows_core::Interface>::IID
}
}
pub trait IApplicationAssociationRegistration_Impl: Sized {
fn QueryCurrentDefault(&self, pszquery: &windows_core::PCWSTR, atquerytype: ASSOCIATIONTYPE, alquerylevel: ASSOCIATIONLEVEL) -> windows_core::Result<windows_core::PWSTR>;
fn QueryAppIsDefault(&self, pszquery: &windows_core::PCWSTR, atquerytype: ASSOCIATIONTYPE, alquerylevel: ASSOCIATIONLEVEL, pszappregistryname: &windows_core::PCWSTR) -> windows_core::Result<super::super::Foundation::BOOL>;
fn QueryAppIsDefaultAll(&self, alquerylevel: ASSOCIATIONLEVEL, pszappregistryname: &windows_core::PCWSTR) -> windows_core::Result<super::super::Foundation::BOOL>;
fn SetAppAsDefault(&self, pszappregistryname: &windows_core::PCWSTR, pszset: &windows_core::PCWSTR, atsettype: ASSOCIATIONTYPE) -> windows_core::Result<()>;
fn SetAppAsDefaultAll(&self, pszappregistryname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn ClearUserAssociations(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IApplicationAssociationRegistration {}
impl IApplicationAssociationRegistration_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationAssociationRegistration_Vtbl
where
Identity: IApplicationAssociationRegistration_Impl,
{
unsafe extern "system" fn QueryCurrentDefault<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszquery: windows_core::PCWSTR, atquerytype: ASSOCIATIONTYPE, alquerylevel: ASSOCIATIONLEVEL, ppszassociation: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationAssociationRegistration_Impl::QueryCurrentDefault(this, core::mem::transmute(&pszquery), core::mem::transmute_copy(&atquerytype), core::mem::transmute_copy(&alquerylevel)) {
Ok(ok__) => {
ppszassociation.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryAppIsDefault<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszquery: windows_core::PCWSTR, atquerytype: ASSOCIATIONTYPE, alquerylevel: ASSOCIATIONLEVEL, pszappregistryname: windows_core::PCWSTR, pfdefault: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationAssociationRegistration_Impl::QueryAppIsDefault(this, core::mem::transmute(&pszquery), core::mem::transmute_copy(&atquerytype), core::mem::transmute_copy(&alquerylevel), core::mem::transmute(&pszappregistryname)) {
Ok(ok__) => {
pfdefault.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryAppIsDefaultAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, alquerylevel: ASSOCIATIONLEVEL, pszappregistryname: windows_core::PCWSTR, pfdefault: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationAssociationRegistration_Impl::QueryAppIsDefaultAll(this, core::mem::transmute_copy(&alquerylevel), core::mem::transmute(&pszappregistryname)) {
Ok(ok__) => {
pfdefault.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAppAsDefault<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappregistryname: windows_core::PCWSTR, pszset: windows_core::PCWSTR, atsettype: ASSOCIATIONTYPE) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationAssociationRegistration_Impl::SetAppAsDefault(this, core::mem::transmute(&pszappregistryname), core::mem::transmute(&pszset), core::mem::transmute_copy(&atsettype)).into()
}
unsafe extern "system" fn SetAppAsDefaultAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappregistryname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationAssociationRegistration_Impl::SetAppAsDefaultAll(this, core::mem::transmute(&pszappregistryname)).into()
}
unsafe extern "system" fn ClearUserAssociations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationAssociationRegistration_Impl::ClearUserAssociations(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
QueryCurrentDefault: QueryCurrentDefault::<Identity, OFFSET>,
QueryAppIsDefault: QueryAppIsDefault::<Identity, OFFSET>,
QueryAppIsDefaultAll: QueryAppIsDefaultAll::<Identity, OFFSET>,
SetAppAsDefault: SetAppAsDefault::<Identity, OFFSET>,
SetAppAsDefaultAll: SetAppAsDefaultAll::<Identity, OFFSET>,
ClearUserAssociations: ClearUserAssociations::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationAssociationRegistration as windows_core::Interface>::IID
}
}
pub trait IApplicationAssociationRegistrationUI_Impl: Sized {
fn LaunchAdvancedAssociationUI(&self, pszappregistryname: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IApplicationAssociationRegistrationUI {}
impl IApplicationAssociationRegistrationUI_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationAssociationRegistrationUI_Vtbl
where
Identity: IApplicationAssociationRegistrationUI_Impl,
{
unsafe extern "system" fn LaunchAdvancedAssociationUI<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappregistryname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IApplicationAssociationRegistrationUI_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationAssociationRegistrationUI_Impl::LaunchAdvancedAssociationUI(this, core::mem::transmute(&pszappregistryname)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), LaunchAdvancedAssociationUI: LaunchAdvancedAssociationUI::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationAssociationRegistrationUI as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IApplicationDesignModeSettings_Impl: Sized {
fn SetNativeDisplaySize(&self, nativedisplaysizepixels: &super::super::Foundation::SIZE) -> windows_core::Result<()>;
fn SetScaleFactor(&self, scalefactor: Common::DEVICE_SCALE_FACTOR) -> windows_core::Result<()>;
fn SetApplicationViewState(&self, viewstate: APPLICATION_VIEW_STATE) -> windows_core::Result<()>;
fn ComputeApplicationSize(&self) -> windows_core::Result<super::super::Foundation::SIZE>;
fn IsApplicationViewStateSupported(&self, viewstate: APPLICATION_VIEW_STATE, nativedisplaysizepixels: &super::super::Foundation::SIZE, scalefactor: Common::DEVICE_SCALE_FACTOR) -> windows_core::Result<super::super::Foundation::BOOL>;
fn TriggerEdgeGesture(&self, edgegesturekind: EDGE_GESTURE_KIND) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IApplicationDesignModeSettings {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IApplicationDesignModeSettings_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationDesignModeSettings_Vtbl
where
Identity: IApplicationDesignModeSettings_Impl,
{
unsafe extern "system" fn SetNativeDisplaySize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nativedisplaysizepixels: super::super::Foundation::SIZE) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings_Impl::SetNativeDisplaySize(this, core::mem::transmute(&nativedisplaysizepixels)).into()
}
unsafe extern "system" fn SetScaleFactor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, scalefactor: Common::DEVICE_SCALE_FACTOR) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings_Impl::SetScaleFactor(this, core::mem::transmute_copy(&scalefactor)).into()
}
unsafe extern "system" fn SetApplicationViewState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, viewstate: APPLICATION_VIEW_STATE) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings_Impl::SetApplicationViewState(this, core::mem::transmute_copy(&viewstate)).into()
}
unsafe extern "system" fn ComputeApplicationSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, applicationsizepixels: *mut super::super::Foundation::SIZE) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationDesignModeSettings_Impl::ComputeApplicationSize(this) {
Ok(ok__) => {
applicationsizepixels.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsApplicationViewStateSupported<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, viewstate: APPLICATION_VIEW_STATE, nativedisplaysizepixels: super::super::Foundation::SIZE, scalefactor: Common::DEVICE_SCALE_FACTOR, supported: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationDesignModeSettings_Impl::IsApplicationViewStateSupported(this, core::mem::transmute_copy(&viewstate), core::mem::transmute(&nativedisplaysizepixels), core::mem::transmute_copy(&scalefactor)) {
Ok(ok__) => {
supported.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TriggerEdgeGesture<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, edgegesturekind: EDGE_GESTURE_KIND) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings_Impl::TriggerEdgeGesture(this, core::mem::transmute_copy(&edgegesturekind)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetNativeDisplaySize: SetNativeDisplaySize::<Identity, OFFSET>,
SetScaleFactor: SetScaleFactor::<Identity, OFFSET>,
SetApplicationViewState: SetApplicationViewState::<Identity, OFFSET>,
ComputeApplicationSize: ComputeApplicationSize::<Identity, OFFSET>,
IsApplicationViewStateSupported: IsApplicationViewStateSupported::<Identity, OFFSET>,
TriggerEdgeGesture: TriggerEdgeGesture::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationDesignModeSettings as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IApplicationDesignModeSettings2_Impl: Sized + IApplicationDesignModeSettings_Impl {
fn SetNativeDisplayOrientation(&self, nativedisplayorientation: NATIVE_DISPLAY_ORIENTATION) -> windows_core::Result<()>;
fn SetApplicationViewOrientation(&self, vieworientation: APPLICATION_VIEW_ORIENTATION) -> windows_core::Result<()>;
fn SetAdjacentDisplayEdges(&self, adjacentdisplayedges: ADJACENT_DISPLAY_EDGES) -> windows_core::Result<()>;
fn SetIsOnLockScreen(&self, isonlockscreen: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetApplicationViewMinWidth(&self, viewminwidth: APPLICATION_VIEW_MIN_WIDTH) -> windows_core::Result<()>;
fn GetApplicationSizeBounds(&self, minapplicationsizepixels: *mut super::super::Foundation::SIZE, maxapplicationsizepixels: *mut super::super::Foundation::SIZE) -> windows_core::Result<()>;
fn GetApplicationViewOrientation(&self, applicationsizepixels: &super::super::Foundation::SIZE) -> windows_core::Result<APPLICATION_VIEW_ORIENTATION>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IApplicationDesignModeSettings2 {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IApplicationDesignModeSettings2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationDesignModeSettings2_Vtbl
where
Identity: IApplicationDesignModeSettings2_Impl,
{
unsafe extern "system" fn SetNativeDisplayOrientation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nativedisplayorientation: NATIVE_DISPLAY_ORIENTATION) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings2_Impl::SetNativeDisplayOrientation(this, core::mem::transmute_copy(&nativedisplayorientation)).into()
}
unsafe extern "system" fn SetApplicationViewOrientation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vieworientation: APPLICATION_VIEW_ORIENTATION) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings2_Impl::SetApplicationViewOrientation(this, core::mem::transmute_copy(&vieworientation)).into()
}
unsafe extern "system" fn SetAdjacentDisplayEdges<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, adjacentdisplayedges: ADJACENT_DISPLAY_EDGES) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings2_Impl::SetAdjacentDisplayEdges(this, core::mem::transmute_copy(&adjacentdisplayedges)).into()
}
unsafe extern "system" fn SetIsOnLockScreen<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, isonlockscreen: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings2_Impl::SetIsOnLockScreen(this, core::mem::transmute_copy(&isonlockscreen)).into()
}
unsafe extern "system" fn SetApplicationViewMinWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, viewminwidth: APPLICATION_VIEW_MIN_WIDTH) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings2_Impl::SetApplicationViewMinWidth(this, core::mem::transmute_copy(&viewminwidth)).into()
}
unsafe extern "system" fn GetApplicationSizeBounds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, minapplicationsizepixels: *mut super::super::Foundation::SIZE, maxapplicationsizepixels: *mut super::super::Foundation::SIZE) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDesignModeSettings2_Impl::GetApplicationSizeBounds(this, core::mem::transmute_copy(&minapplicationsizepixels), core::mem::transmute_copy(&maxapplicationsizepixels)).into()
}
unsafe extern "system" fn GetApplicationViewOrientation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, applicationsizepixels: super::super::Foundation::SIZE, vieworientation: *mut APPLICATION_VIEW_ORIENTATION) -> windows_core::HRESULT
where
Identity: IApplicationDesignModeSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IApplicationDesignModeSettings2_Impl::GetApplicationViewOrientation(this, core::mem::transmute(&applicationsizepixels)) {
Ok(ok__) => {
vieworientation.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IApplicationDesignModeSettings_Vtbl::new::<Identity, OFFSET>(),
SetNativeDisplayOrientation: SetNativeDisplayOrientation::<Identity, OFFSET>,
SetApplicationViewOrientation: SetApplicationViewOrientation::<Identity, OFFSET>,
SetAdjacentDisplayEdges: SetAdjacentDisplayEdges::<Identity, OFFSET>,
SetIsOnLockScreen: SetIsOnLockScreen::<Identity, OFFSET>,
SetApplicationViewMinWidth: SetApplicationViewMinWidth::<Identity, OFFSET>,
GetApplicationSizeBounds: GetApplicationSizeBounds::<Identity, OFFSET>,
GetApplicationViewOrientation: GetApplicationViewOrientation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationDesignModeSettings2 as windows_core::Interface>::IID || iid == &<IApplicationDesignModeSettings as windows_core::Interface>::IID
}
}
pub trait IApplicationDestinations_Impl: Sized {
fn SetAppID(&self, pszappid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn RemoveDestination(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn RemoveAllDestinations(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IApplicationDestinations {}
impl IApplicationDestinations_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationDestinations_Vtbl
where
Identity: IApplicationDestinations_Impl,
{
unsafe extern "system" fn SetAppID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IApplicationDestinations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDestinations_Impl::SetAppID(this, core::mem::transmute(&pszappid)).into()
}
unsafe extern "system" fn RemoveDestination<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IApplicationDestinations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDestinations_Impl::RemoveDestination(this, windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn RemoveAllDestinations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IApplicationDestinations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDestinations_Impl::RemoveAllDestinations(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetAppID: SetAppID::<Identity, OFFSET>,
RemoveDestination: RemoveDestination::<Identity, OFFSET>,
RemoveAllDestinations: RemoveAllDestinations::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationDestinations as windows_core::Interface>::IID
}
}
pub trait IApplicationDocumentLists_Impl: Sized {
fn SetAppID(&self, pszappid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetList(&self, listtype: APPDOCLISTTYPE, citemsdesired: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IApplicationDocumentLists {}
impl IApplicationDocumentLists_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IApplicationDocumentLists_Vtbl
where
Identity: IApplicationDocumentLists_Impl,
{
unsafe extern "system" fn SetAppID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IApplicationDocumentLists_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDocumentLists_Impl::SetAppID(this, core::mem::transmute(&pszappid)).into()
}
unsafe extern "system" fn GetList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, listtype: APPDOCLISTTYPE, citemsdesired: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IApplicationDocumentLists_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IApplicationDocumentLists_Impl::GetList(this, core::mem::transmute_copy(&listtype), core::mem::transmute_copy(&citemsdesired), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetAppID: SetAppID::<Identity, OFFSET>, GetList: GetList::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IApplicationDocumentLists as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IAssocHandler_Impl: Sized {
fn GetName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetUIName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetIconLocation(&self, ppszpath: *mut windows_core::PWSTR, pindex: *mut i32) -> windows_core::Result<()>;
fn IsRecommended(&self) -> windows_core::HRESULT;
fn MakeDefault(&self, pszdescription: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Invoke(&self, pdo: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
fn CreateInvoker(&self, pdo: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<IAssocHandlerInvoker>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IAssocHandler {}
#[cfg(feature = "Win32_System_Com")]
impl IAssocHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAssocHandler_Vtbl
where
Identity: IAssocHandler_Impl,
{
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsz: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAssocHandler_Impl::GetName(this) {
Ok(ok__) => {
ppsz.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUIName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsz: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAssocHandler_Impl::GetUIName(this) {
Ok(ok__) => {
ppsz.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszpath: *mut windows_core::PWSTR, pindex: *mut i32) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAssocHandler_Impl::GetIconLocation(this, core::mem::transmute_copy(&ppszpath), core::mem::transmute_copy(&pindex)).into()
}
unsafe extern "system" fn IsRecommended<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAssocHandler_Impl::IsRecommended(this)
}
unsafe extern "system" fn MakeDefault<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdescription: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAssocHandler_Impl::MakeDefault(this, core::mem::transmute(&pszdescription)).into()
}
unsafe extern "system" fn Invoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdo: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAssocHandler_Impl::Invoke(this, windows_core::from_raw_borrowed(&pdo)).into()
}
unsafe extern "system" fn CreateInvoker<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdo: *mut core::ffi::c_void, ppinvoker: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAssocHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAssocHandler_Impl::CreateInvoker(this, windows_core::from_raw_borrowed(&pdo)) {
Ok(ok__) => {
ppinvoker.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, OFFSET>,
GetUIName: GetUIName::<Identity, OFFSET>,
GetIconLocation: GetIconLocation::<Identity, OFFSET>,
IsRecommended: IsRecommended::<Identity, OFFSET>,
MakeDefault: MakeDefault::<Identity, OFFSET>,
Invoke: Invoke::<Identity, OFFSET>,
CreateInvoker: CreateInvoker::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAssocHandler as windows_core::Interface>::IID
}
}
pub trait IAssocHandlerInvoker_Impl: Sized {
fn SupportsSelection(&self) -> windows_core::Result<()>;
fn Invoke(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IAssocHandlerInvoker {}
impl IAssocHandlerInvoker_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAssocHandlerInvoker_Vtbl
where
Identity: IAssocHandlerInvoker_Impl,
{
unsafe extern "system" fn SupportsSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAssocHandlerInvoker_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAssocHandlerInvoker_Impl::SupportsSelection(this).into()
}
unsafe extern "system" fn Invoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAssocHandlerInvoker_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAssocHandlerInvoker_Impl::Invoke(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SupportsSelection: SupportsSelection::<Identity, OFFSET>,
Invoke: Invoke::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAssocHandlerInvoker as windows_core::Interface>::IID
}
}
pub trait IAttachmentExecute_Impl: Sized {
fn SetClientTitle(&self, psztitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetClientGuid(&self, guid: *const windows_core::GUID) -> windows_core::Result<()>;
fn SetLocalPath(&self, pszlocalpath: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFileName(&self, pszfilename: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetSource(&self, pszsource: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetReferrer(&self, pszreferrer: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn CheckPolicy(&self) -> windows_core::Result<()>;
fn Prompt(&self, hwnd: super::super::Foundation::HWND, prompt: ATTACHMENT_PROMPT) -> windows_core::Result<ATTACHMENT_ACTION>;
fn Save(&self) -> windows_core::Result<()>;
fn Execute(&self, hwnd: super::super::Foundation::HWND, pszverb: &windows_core::PCWSTR, phprocess: *mut super::super::Foundation::HANDLE) -> windows_core::Result<()>;
fn SaveWithUI(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn ClearClientState(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IAttachmentExecute {}
impl IAttachmentExecute_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAttachmentExecute_Vtbl
where
Identity: IAttachmentExecute_Impl,
{
unsafe extern "system" fn SetClientTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztitle: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SetClientTitle(this, core::mem::transmute(&psztitle)).into()
}
unsafe extern "system" fn SetClientGuid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, guid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SetClientGuid(this, core::mem::transmute_copy(&guid)).into()
}
unsafe extern "system" fn SetLocalPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszlocalpath: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SetLocalPath(this, core::mem::transmute(&pszlocalpath)).into()
}
unsafe extern "system" fn SetFileName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfilename: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SetFileName(this, core::mem::transmute(&pszfilename)).into()
}
unsafe extern "system" fn SetSource<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszsource: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SetSource(this, core::mem::transmute(&pszsource)).into()
}
unsafe extern "system" fn SetReferrer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszreferrer: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SetReferrer(this, core::mem::transmute(&pszreferrer)).into()
}
unsafe extern "system" fn CheckPolicy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::CheckPolicy(this).into()
}
unsafe extern "system" fn Prompt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, prompt: ATTACHMENT_PROMPT, paction: *mut ATTACHMENT_ACTION) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAttachmentExecute_Impl::Prompt(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&prompt)) {
Ok(ok__) => {
paction.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Save<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::Save(this).into()
}
unsafe extern "system" fn Execute<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, pszverb: windows_core::PCWSTR, phprocess: *mut super::super::Foundation::HANDLE) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::Execute(this, core::mem::transmute_copy(&hwnd), core::mem::transmute(&pszverb), core::mem::transmute_copy(&phprocess)).into()
}
unsafe extern "system" fn SaveWithUI<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::SaveWithUI(this, core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn ClearClientState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAttachmentExecute_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAttachmentExecute_Impl::ClearClientState(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetClientTitle: SetClientTitle::<Identity, OFFSET>,
SetClientGuid: SetClientGuid::<Identity, OFFSET>,
SetLocalPath: SetLocalPath::<Identity, OFFSET>,
SetFileName: SetFileName::<Identity, OFFSET>,
SetSource: SetSource::<Identity, OFFSET>,
SetReferrer: SetReferrer::<Identity, OFFSET>,
CheckPolicy: CheckPolicy::<Identity, OFFSET>,
Prompt: Prompt::<Identity, OFFSET>,
Save: Save::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
SaveWithUI: SaveWithUI::<Identity, OFFSET>,
ClearClientState: ClearClientState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAttachmentExecute as windows_core::Interface>::IID
}
}
pub trait IAutoComplete_Impl: Sized {
fn Init(&self, hwndedit: super::super::Foundation::HWND, punkacl: Option<&windows_core::IUnknown>, pwszregkeypath: &windows_core::PCWSTR, pwszquickcomplete: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Enable(&self, fenable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IAutoComplete {}
impl IAutoComplete_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAutoComplete_Vtbl
where
Identity: IAutoComplete_Impl,
{
unsafe extern "system" fn Init<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndedit: super::super::Foundation::HWND, punkacl: *mut core::ffi::c_void, pwszregkeypath: windows_core::PCWSTR, pwszquickcomplete: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IAutoComplete_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAutoComplete_Impl::Init(this, core::mem::transmute_copy(&hwndedit), windows_core::from_raw_borrowed(&punkacl), core::mem::transmute(&pwszregkeypath), core::mem::transmute(&pwszquickcomplete)).into()
}
unsafe extern "system" fn Enable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IAutoComplete_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAutoComplete_Impl::Enable(this, core::mem::transmute_copy(&fenable)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Init: Init::<Identity, OFFSET>, Enable: Enable::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAutoComplete as windows_core::Interface>::IID
}
}
pub trait IAutoComplete2_Impl: Sized + IAutoComplete_Impl {
fn SetOptions(&self, dwflag: u32) -> windows_core::Result<()>;
fn GetOptions(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IAutoComplete2 {}
impl IAutoComplete2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAutoComplete2_Vtbl
where
Identity: IAutoComplete2_Impl,
{
unsafe extern "system" fn SetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflag: u32) -> windows_core::HRESULT
where
Identity: IAutoComplete2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAutoComplete2_Impl::SetOptions(this, core::mem::transmute_copy(&dwflag)).into()
}
unsafe extern "system" fn GetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflag: *mut u32) -> windows_core::HRESULT
where
Identity: IAutoComplete2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IAutoComplete2_Impl::GetOptions(this) {
Ok(ok__) => {
pdwflag.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IAutoComplete_Vtbl::new::<Identity, OFFSET>(), SetOptions: SetOptions::<Identity, OFFSET>, GetOptions: GetOptions::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAutoComplete2 as windows_core::Interface>::IID || iid == &<IAutoComplete as windows_core::Interface>::IID
}
}
pub trait IAutoCompleteDropDown_Impl: Sized {
fn GetDropDownStatus(&self, pdwflags: *mut u32, ppwszstring: *mut windows_core::PWSTR) -> windows_core::Result<()>;
fn ResetEnumerator(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IAutoCompleteDropDown {}
impl IAutoCompleteDropDown_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IAutoCompleteDropDown_Vtbl
where
Identity: IAutoCompleteDropDown_Impl,
{
unsafe extern "system" fn GetDropDownStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32, ppwszstring: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IAutoCompleteDropDown_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAutoCompleteDropDown_Impl::GetDropDownStatus(this, core::mem::transmute_copy(&pdwflags), core::mem::transmute_copy(&ppwszstring)).into()
}
unsafe extern "system" fn ResetEnumerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IAutoCompleteDropDown_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IAutoCompleteDropDown_Impl::ResetEnumerator(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDropDownStatus: GetDropDownStatus::<Identity, OFFSET>,
ResetEnumerator: ResetEnumerator::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IAutoCompleteDropDown as windows_core::Interface>::IID
}
}
pub trait IBandHost_Impl: Sized {
fn CreateBand(&self, rclsidband: *const windows_core::GUID, favailable: super::super::Foundation::BOOL, fvisible: super::super::Foundation::BOOL, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn SetBandAvailability(&self, rclsidband: *const windows_core::GUID, favailable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn DestroyBand(&self, rclsidband: *const windows_core::GUID) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IBandHost {}
impl IBandHost_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBandHost_Vtbl
where
Identity: IBandHost_Impl,
{
unsafe extern "system" fn CreateBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rclsidband: *const windows_core::GUID, favailable: super::super::Foundation::BOOL, fvisible: super::super::Foundation::BOOL, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBandHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandHost_Impl::CreateBand(this, core::mem::transmute_copy(&rclsidband), core::mem::transmute_copy(&favailable), core::mem::transmute_copy(&fvisible), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn SetBandAvailability<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rclsidband: *const windows_core::GUID, favailable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBandHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandHost_Impl::SetBandAvailability(this, core::mem::transmute_copy(&rclsidband), core::mem::transmute_copy(&favailable)).into()
}
unsafe extern "system" fn DestroyBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rclsidband: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IBandHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandHost_Impl::DestroyBand(this, core::mem::transmute_copy(&rclsidband)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateBand: CreateBand::<Identity, OFFSET>,
SetBandAvailability: SetBandAvailability::<Identity, OFFSET>,
DestroyBand: DestroyBand::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBandHost as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IBandSite_Impl: Sized {
fn AddBand(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn EnumBands(&self, uband: u32) -> windows_core::Result<u32>;
fn QueryBand(&self, dwbandid: u32, ppstb: *mut Option<IDeskBand>, pdwstate: *mut u32, pszname: windows_core::PWSTR, cchname: i32) -> windows_core::Result<()>;
fn SetBandState(&self, dwbandid: u32, dwmask: u32, dwstate: u32) -> windows_core::Result<()>;
fn RemoveBand(&self, dwbandid: u32) -> windows_core::Result<()>;
fn GetBandObject(&self, dwbandid: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn SetBandSiteInfo(&self, pbsinfo: *const BANDSITEINFO) -> windows_core::Result<()>;
fn GetBandSiteInfo(&self, pbsinfo: *mut BANDSITEINFO) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IBandSite {}
#[cfg(feature = "Win32_System_Ole")]
impl IBandSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBandSite_Vtbl
where
Identity: IBandSite_Impl,
{
unsafe extern "system" fn AddBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::AddBand(this, windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn EnumBands<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uband: u32, pdwbandid: *mut u32) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBandSite_Impl::EnumBands(this, core::mem::transmute_copy(&uband)) {
Ok(ok__) => {
pdwbandid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwbandid: u32, ppstb: *mut *mut core::ffi::c_void, pdwstate: *mut u32, pszname: windows_core::PWSTR, cchname: i32) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::QueryBand(this, core::mem::transmute_copy(&dwbandid), core::mem::transmute_copy(&ppstb), core::mem::transmute_copy(&pdwstate), core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cchname)).into()
}
unsafe extern "system" fn SetBandState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwbandid: u32, dwmask: u32, dwstate: u32) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::SetBandState(this, core::mem::transmute_copy(&dwbandid), core::mem::transmute_copy(&dwmask), core::mem::transmute_copy(&dwstate)).into()
}
unsafe extern "system" fn RemoveBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwbandid: u32) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::RemoveBand(this, core::mem::transmute_copy(&dwbandid)).into()
}
unsafe extern "system" fn GetBandObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwbandid: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::GetBandObject(this, core::mem::transmute_copy(&dwbandid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn SetBandSiteInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbsinfo: *const BANDSITEINFO) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::SetBandSiteInfo(this, core::mem::transmute_copy(&pbsinfo)).into()
}
unsafe extern "system" fn GetBandSiteInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbsinfo: *mut BANDSITEINFO) -> windows_core::HRESULT
where
Identity: IBandSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBandSite_Impl::GetBandSiteInfo(this, core::mem::transmute_copy(&pbsinfo)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddBand: AddBand::<Identity, OFFSET>,
EnumBands: EnumBands::<Identity, OFFSET>,
QueryBand: QueryBand::<Identity, OFFSET>,
SetBandState: SetBandState::<Identity, OFFSET>,
RemoveBand: RemoveBand::<Identity, OFFSET>,
GetBandObject: GetBandObject::<Identity, OFFSET>,
SetBandSiteInfo: SetBandSiteInfo::<Identity, OFFSET>,
GetBandSiteInfo: GetBandSiteInfo::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBandSite as windows_core::Interface>::IID
}
}
pub trait IBannerNotificationHandler_Impl: Sized {
fn OnBannerEvent(&self, notification: *const BANNER_NOTIFICATION) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IBannerNotificationHandler {}
impl IBannerNotificationHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBannerNotificationHandler_Vtbl
where
Identity: IBannerNotificationHandler_Impl,
{
unsafe extern "system" fn OnBannerEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, notification: *const BANNER_NOTIFICATION) -> windows_core::HRESULT
where
Identity: IBannerNotificationHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBannerNotificationHandler_Impl::OnBannerEvent(this, core::mem::transmute_copy(¬ification)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnBannerEvent: OnBannerEvent::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBannerNotificationHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IBanneredBar_Impl: Sized {
fn SetIconSize(&self, iicon: u32) -> windows_core::Result<()>;
fn GetIconSize(&self) -> windows_core::Result<u32>;
fn SetBitmap(&self, hbitmap: super::super::Graphics::Gdi::HBITMAP) -> windows_core::Result<()>;
fn GetBitmap(&self) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IBanneredBar {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IBanneredBar_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBanneredBar_Vtbl
where
Identity: IBanneredBar_Impl,
{
unsafe extern "system" fn SetIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iicon: u32) -> windows_core::HRESULT
where
Identity: IBanneredBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBanneredBar_Impl::SetIconSize(this, core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn GetIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, piicon: *mut u32) -> windows_core::HRESULT
where
Identity: IBanneredBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBanneredBar_Impl::GetIconSize(this) {
Ok(ok__) => {
piicon.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBitmap<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hbitmap: super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: IBanneredBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBanneredBar_Impl::SetBitmap(this, core::mem::transmute_copy(&hbitmap)).into()
}
unsafe extern "system" fn GetBitmap<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phbitmap: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: IBanneredBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBanneredBar_Impl::GetBitmap(this) {
Ok(ok__) => {
phbitmap.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetIconSize: SetIconSize::<Identity, OFFSET>,
GetIconSize: GetIconSize::<Identity, OFFSET>,
SetBitmap: SetBitmap::<Identity, OFFSET>,
GetBitmap: GetBitmap::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBanneredBar as windows_core::Interface>::IID
}
}
pub trait IBrowserFrameOptions_Impl: Sized {
fn GetFrameOptions(&self, dwmask: u32) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IBrowserFrameOptions {}
impl IBrowserFrameOptions_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBrowserFrameOptions_Vtbl
where
Identity: IBrowserFrameOptions_Impl,
{
unsafe extern "system" fn GetFrameOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwmask: u32, pdwoptions: *mut u32) -> windows_core::HRESULT
where
Identity: IBrowserFrameOptions_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserFrameOptions_Impl::GetFrameOptions(this, core::mem::transmute_copy(&dwmask)) {
Ok(ok__) => {
pdwoptions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetFrameOptions: GetFrameOptions::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBrowserFrameOptions as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
pub trait IBrowserService_Impl: Sized {
fn GetParentSite(&self) -> windows_core::Result<super::super::System::Ole::IOleInPlaceSite>;
fn SetTitle(&self, psv: Option<&IShellView>, pszname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetTitle(&self, psv: Option<&IShellView>, pszname: windows_core::PWSTR, cchname: u32) -> windows_core::Result<()>;
fn GetOleObject(&self) -> windows_core::Result<super::super::System::Ole::IOleObject>;
fn GetTravelLog(&self) -> windows_core::Result<ITravelLog>;
fn ShowControlWindow(&self, id: u32, fshow: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn IsControlWindowShown(&self, id: u32) -> windows_core::Result<super::super::Foundation::BOOL>;
fn IEGetDisplayName(&self, pidl: *const Common::ITEMIDLIST, pwszname: windows_core::PWSTR, uflags: u32) -> windows_core::Result<()>;
fn IEParseDisplayName(&self, uicp: u32, pwszpath: &windows_core::PCWSTR) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn DisplayParseError(&self, hres: windows_core::HRESULT, pwszpath: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn NavigateToPidl(&self, pidl: *const Common::ITEMIDLIST, grfhlnf: u32) -> windows_core::Result<()>;
fn SetNavigateState(&self, bnstate: BNSTATE) -> windows_core::Result<()>;
fn GetNavigateState(&self) -> windows_core::Result<BNSTATE>;
fn NotifyRedirect(&self, psv: Option<&IShellView>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<super::super::Foundation::BOOL>;
fn UpdateWindowList(&self) -> windows_core::Result<()>;
fn UpdateBackForwardState(&self) -> windows_core::Result<()>;
fn SetFlags(&self, dwflags: u32, dwflagmask: u32) -> windows_core::Result<()>;
fn GetFlags(&self) -> windows_core::Result<u32>;
fn CanNavigateNow(&self) -> windows_core::Result<()>;
fn GetPidl(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn SetReferrer(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn GetBrowserIndex(&self) -> u32;
fn GetBrowserByIndex(&self, dwid: u32) -> windows_core::Result<windows_core::IUnknown>;
fn GetHistoryObject(&self, ppole: *mut Option<super::super::System::Ole::IOleObject>, pstm: *mut Option<super::super::System::Com::IStream>, ppbc: *mut Option<super::super::System::Com::IBindCtx>) -> windows_core::Result<()>;
fn SetHistoryObject(&self, pole: Option<&super::super::System::Ole::IOleObject>, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn CacheOLEServer(&self, pole: Option<&super::super::System::Ole::IOleObject>) -> windows_core::Result<()>;
fn GetSetCodePage(&self, pvarin: *const windows_core::VARIANT) -> windows_core::Result<windows_core::VARIANT>;
fn OnHttpEquiv(&self, psv: Option<&IShellView>, fdone: super::super::Foundation::BOOL, pvarargin: *const windows_core::VARIANT) -> windows_core::Result<windows_core::VARIANT>;
fn GetPalette(&self) -> windows_core::Result<super::super::Graphics::Gdi::HPALETTE>;
fn RegisterWindow(&self, fforceregister: super::super::Foundation::BOOL, swc: ShellWindowTypeConstants) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IBrowserService {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl IBrowserService_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBrowserService_Vtbl
where
Identity: IBrowserService_Impl,
{
unsafe extern "system" fn GetParentSite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppipsite: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetParentSite(this) {
Ok(ok__) => {
ppipsite.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psv: *mut core::ffi::c_void, pszname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::SetTitle(this, windows_core::from_raw_borrowed(&psv), core::mem::transmute(&pszname)).into()
}
unsafe extern "system" fn GetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psv: *mut core::ffi::c_void, pszname: windows_core::PWSTR, cchname: u32) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::GetTitle(this, windows_core::from_raw_borrowed(&psv), core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cchname)).into()
}
unsafe extern "system" fn GetOleObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppobjv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetOleObject(this) {
Ok(ok__) => {
ppobjv.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTravelLog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pptl: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetTravelLog(this) {
Ok(ok__) => {
pptl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ShowControlWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, fshow: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::ShowControlWindow(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&fshow)).into()
}
unsafe extern "system" fn IsControlWindowShown<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, pfshown: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::IsControlWindowShown(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
pfshown.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IEGetDisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pwszname: windows_core::PWSTR, uflags: u32) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::IEGetDisplayName(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&pwszname), core::mem::transmute_copy(&uflags)).into()
}
unsafe extern "system" fn IEParseDisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uicp: u32, pwszpath: windows_core::PCWSTR, ppidlout: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::IEParseDisplayName(this, core::mem::transmute_copy(&uicp), core::mem::transmute(&pwszpath)) {
Ok(ok__) => {
ppidlout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DisplayParseError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hres: windows_core::HRESULT, pwszpath: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::DisplayParseError(this, core::mem::transmute_copy(&hres), core::mem::transmute(&pwszpath)).into()
}
unsafe extern "system" fn NavigateToPidl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, grfhlnf: u32) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::NavigateToPidl(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&grfhlnf)).into()
}
unsafe extern "system" fn SetNavigateState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bnstate: BNSTATE) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::SetNavigateState(this, core::mem::transmute_copy(&bnstate)).into()
}
unsafe extern "system" fn GetNavigateState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbnstate: *mut BNSTATE) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetNavigateState(this) {
Ok(ok__) => {
pbnstate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn NotifyRedirect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psv: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pfdidbrowse: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::NotifyRedirect(this, windows_core::from_raw_borrowed(&psv), core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
pfdidbrowse.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn UpdateWindowList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::UpdateWindowList(this).into()
}
unsafe extern "system" fn UpdateBackForwardState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::UpdateBackForwardState(this).into()
}
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, dwflagmask: u32) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::SetFlags(this, core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&dwflagmask)).into()
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetFlags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CanNavigateNow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::CanNavigateNow(this).into()
}
unsafe extern "system" fn GetPidl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetPidl(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetReferrer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::SetReferrer(this, core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn GetBrowserIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::GetBrowserIndex(this)
}
unsafe extern "system" fn GetBrowserByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwid: u32, ppunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetBrowserByIndex(this, core::mem::transmute_copy(&dwid)) {
Ok(ok__) => {
ppunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHistoryObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppole: *mut *mut core::ffi::c_void, pstm: *mut *mut core::ffi::c_void, ppbc: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::GetHistoryObject(this, core::mem::transmute_copy(&ppole), core::mem::transmute_copy(&pstm), core::mem::transmute_copy(&ppbc)).into()
}
unsafe extern "system" fn SetHistoryObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pole: *mut core::ffi::c_void, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::SetHistoryObject(this, windows_core::from_raw_borrowed(&pole), core::mem::transmute_copy(&fislocalanchor)).into()
}
unsafe extern "system" fn CacheOLEServer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pole: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::CacheOLEServer(this, windows_core::from_raw_borrowed(&pole)).into()
}
unsafe extern "system" fn GetSetCodePage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvarin: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarout: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetSetCodePage(this, core::mem::transmute_copy(&pvarin)) {
Ok(ok__) => {
pvarout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnHttpEquiv<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psv: *mut core::ffi::c_void, fdone: super::super::Foundation::BOOL, pvarargin: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarargout: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::OnHttpEquiv(this, windows_core::from_raw_borrowed(&psv), core::mem::transmute_copy(&fdone), core::mem::transmute_copy(&pvarargin)) {
Ok(ok__) => {
pvarargout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPalette<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hpal: *mut super::super::Graphics::Gdi::HPALETTE) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService_Impl::GetPalette(this) {
Ok(ok__) => {
hpal.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fforceregister: super::super::Foundation::BOOL, swc: ShellWindowTypeConstants) -> windows_core::HRESULT
where
Identity: IBrowserService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService_Impl::RegisterWindow(this, core::mem::transmute_copy(&fforceregister), core::mem::transmute_copy(&swc)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetParentSite: GetParentSite::<Identity, OFFSET>,
SetTitle: SetTitle::<Identity, OFFSET>,
GetTitle: GetTitle::<Identity, OFFSET>,
GetOleObject: GetOleObject::<Identity, OFFSET>,
GetTravelLog: GetTravelLog::<Identity, OFFSET>,
ShowControlWindow: ShowControlWindow::<Identity, OFFSET>,
IsControlWindowShown: IsControlWindowShown::<Identity, OFFSET>,
IEGetDisplayName: IEGetDisplayName::<Identity, OFFSET>,
IEParseDisplayName: IEParseDisplayName::<Identity, OFFSET>,
DisplayParseError: DisplayParseError::<Identity, OFFSET>,
NavigateToPidl: NavigateToPidl::<Identity, OFFSET>,
SetNavigateState: SetNavigateState::<Identity, OFFSET>,
GetNavigateState: GetNavigateState::<Identity, OFFSET>,
NotifyRedirect: NotifyRedirect::<Identity, OFFSET>,
UpdateWindowList: UpdateWindowList::<Identity, OFFSET>,
UpdateBackForwardState: UpdateBackForwardState::<Identity, OFFSET>,
SetFlags: SetFlags::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
CanNavigateNow: CanNavigateNow::<Identity, OFFSET>,
GetPidl: GetPidl::<Identity, OFFSET>,
SetReferrer: SetReferrer::<Identity, OFFSET>,
GetBrowserIndex: GetBrowserIndex::<Identity, OFFSET>,
GetBrowserByIndex: GetBrowserByIndex::<Identity, OFFSET>,
GetHistoryObject: GetHistoryObject::<Identity, OFFSET>,
SetHistoryObject: SetHistoryObject::<Identity, OFFSET>,
CacheOLEServer: CacheOLEServer::<Identity, OFFSET>,
GetSetCodePage: GetSetCodePage::<Identity, OFFSET>,
OnHttpEquiv: OnHttpEquiv::<Identity, OFFSET>,
GetPalette: GetPalette::<Identity, OFFSET>,
RegisterWindow: RegisterWindow::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBrowserService as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IBrowserService2_Impl: Sized + IBrowserService_Impl {
fn WndProcBS(&self, hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT;
fn SetAsDefFolderSettings(&self) -> windows_core::Result<()>;
fn GetViewRect(&self) -> windows_core::Result<super::super::Foundation::RECT>;
fn OnSize(&self, wparam: super::super::Foundation::WPARAM) -> windows_core::Result<()>;
fn OnCreate(&self, pcs: *const super::WindowsAndMessaging::CREATESTRUCTW) -> windows_core::Result<()>;
fn OnCommand(&self, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT;
fn OnDestroy(&self) -> windows_core::Result<()>;
fn OnNotify(&self, pnm: *const super::Controls::NMHDR) -> super::super::Foundation::LRESULT;
fn OnSetFocus(&self) -> windows_core::Result<()>;
fn OnFrameWindowActivateBS(&self, factive: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn ReleaseShellView(&self) -> windows_core::Result<()>;
fn ActivatePendingView(&self) -> windows_core::Result<()>;
fn CreateViewWindow(&self, psvnew: Option<&IShellView>, psvold: Option<&IShellView>, prcview: *const super::super::Foundation::RECT) -> windows_core::Result<super::super::Foundation::HWND>;
fn CreateBrowserPropSheetExt(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetViewWindow(&self) -> windows_core::Result<super::super::Foundation::HWND>;
fn GetBaseBrowserData(&self) -> windows_core::Result<*mut BASEBROWSERDATALH>;
fn PutBaseBrowserData(&self) -> *mut BASEBROWSERDATALH;
fn InitializeTravelLog(&self, ptl: Option<&ITravelLog>, dw: u32) -> windows_core::Result<()>;
fn SetTopBrowser(&self) -> windows_core::Result<()>;
fn Offline(&self, icmd: i32) -> windows_core::Result<()>;
fn AllowViewResize(&self, f: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetActivateState(&self, u: u32) -> windows_core::Result<()>;
fn UpdateSecureLockIcon(&self, esecurelock: i32) -> windows_core::Result<()>;
fn InitializeDownloadManager(&self) -> windows_core::Result<()>;
fn InitializeTransitionSite(&self) -> windows_core::Result<()>;
fn _Initialize(&self, hwnd: super::super::Foundation::HWND, pauto: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn _CancelPendingNavigationAsync(&self) -> windows_core::Result<()>;
fn _CancelPendingView(&self) -> windows_core::Result<()>;
fn _MaySaveChanges(&self) -> windows_core::Result<()>;
fn _PauseOrResumeView(&self, fpaused: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn _DisableModeless(&self) -> windows_core::Result<()>;
fn _NavigateToPidl2(&self, pidl: *const Common::ITEMIDLIST, grfhlnf: u32, dwflags: u32) -> windows_core::Result<()>;
fn _TryShell2Rename(&self, psv: Option<&IShellView>, pidlnew: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn _SwitchActivationNow(&self) -> windows_core::Result<()>;
fn _ExecChildren(&self, punkbar: Option<&windows_core::IUnknown>, fbroadcast: super::super::Foundation::BOOL, pguidcmdgroup: *const windows_core::GUID, ncmdid: u32, ncmdexecopt: u32, pvarargin: *const windows_core::VARIANT, pvarargout: *mut windows_core::VARIANT) -> windows_core::Result<()>;
fn _SendChildren(&self, hwndbar: super::super::Foundation::HWND, fbroadcast: super::super::Foundation::BOOL, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
fn GetFolderSetData(&self, pfsd: *mut FOLDERSETDATA) -> windows_core::Result<()>;
fn _OnFocusChange(&self, itb: u32) -> windows_core::Result<()>;
fn v_ShowHideChildWindows(&self, fchildonly: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn _get_itbLastFocus(&self) -> u32;
fn _put_itbLastFocus(&self, itblastfocus: u32) -> windows_core::Result<()>;
fn _UIActivateView(&self, ustate: u32) -> windows_core::Result<()>;
fn _GetViewBorderRect(&self, prc: *mut super::super::Foundation::RECT) -> windows_core::Result<()>;
fn _UpdateViewRectSize(&self) -> windows_core::Result<()>;
fn _ResizeNextBorder(&self, itb: u32) -> windows_core::Result<()>;
fn _ResizeView(&self) -> windows_core::Result<()>;
fn _GetEffectiveClientArea(&self, lprectborder: *mut super::super::Foundation::RECT, hmon: super::super::Graphics::Gdi::HMONITOR) -> windows_core::Result<()>;
fn v_GetViewStream(&self, pidl: *mut Common::ITEMIDLIST, grfmode: u32, pwszname: &windows_core::PCWSTR) -> Option<super::super::System::Com::IStream>;
fn ForwardViewMsg(&self, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT;
fn SetAcceleratorMenu(&self, hacc: super::WindowsAndMessaging::HACCEL) -> windows_core::Result<()>;
fn _GetToolbarCount(&self) -> i32;
fn _GetToolbarItem(&self, itb: i32) -> *mut TOOLBARITEM;
fn _SaveToolbars(&self, pstm: Option<&super::super::System::Com::IStream>) -> windows_core::Result<()>;
fn _LoadToolbars(&self, pstm: Option<&super::super::System::Com::IStream>) -> windows_core::Result<()>;
fn _CloseAndReleaseToolbars(&self, fclose: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn v_MayGetNextToolbarFocus(&self, lpmsg: *const super::WindowsAndMessaging::MSG, itbnext: u32, citb: i32, pptbi: *mut *mut TOOLBARITEM, phwnd: *mut super::super::Foundation::HWND) -> windows_core::Result<()>;
fn _ResizeNextBorderHelper(&self, itb: u32, busehmonitor: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn _FindTBar(&self, punksrc: Option<&windows_core::IUnknown>) -> u32;
fn _SetFocus(&self, ptbi: *const TOOLBARITEM, hwnd: super::super::Foundation::HWND, lpmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
fn v_MayTranslateAccelerator(&self, pmsg: *mut super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
fn _GetBorderDWHelper(&self, punksrc: Option<&windows_core::IUnknown>, lprectborder: *mut super::super::Foundation::RECT, busehmonitor: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn v_CheckZoneCrossing(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IBrowserService2 {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IBrowserService2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBrowserService2_Vtbl
where
Identity: IBrowserService2_Impl,
{
unsafe extern "system" fn WndProcBS<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::WndProcBS(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam))
}
unsafe extern "system" fn SetAsDefFolderSettings<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::SetAsDefFolderSettings(this).into()
}
unsafe extern "system" fn GetViewRect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prc: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService2_Impl::GetViewRect(this) {
Ok(ok__) => {
prc.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, wparam: super::super::Foundation::WPARAM) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnSize(this, core::mem::transmute_copy(&wparam)).into()
}
unsafe extern "system" fn OnCreate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcs: *const super::WindowsAndMessaging::CREATESTRUCTW) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnCreate(this, core::mem::transmute_copy(&pcs)).into()
}
unsafe extern "system" fn OnCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnCommand(this, core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam))
}
unsafe extern "system" fn OnDestroy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnDestroy(this).into()
}
unsafe extern "system" fn OnNotify<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnm: *const super::Controls::NMHDR) -> super::super::Foundation::LRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnNotify(this, core::mem::transmute_copy(&pnm))
}
unsafe extern "system" fn OnSetFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnSetFocus(this).into()
}
unsafe extern "system" fn OnFrameWindowActivateBS<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, factive: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::OnFrameWindowActivateBS(this, core::mem::transmute_copy(&factive)).into()
}
unsafe extern "system" fn ReleaseShellView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::ReleaseShellView(this).into()
}
unsafe extern "system" fn ActivatePendingView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::ActivatePendingView(this).into()
}
unsafe extern "system" fn CreateViewWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psvnew: *mut core::ffi::c_void, psvold: *mut core::ffi::c_void, prcview: *const super::super::Foundation::RECT, phwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService2_Impl::CreateViewWindow(this, windows_core::from_raw_borrowed(&psvnew), windows_core::from_raw_borrowed(&psvold), core::mem::transmute_copy(&prcview)) {
Ok(ok__) => {
phwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateBrowserPropSheetExt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::CreateBrowserPropSheetExt(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetViewWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phwndview: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService2_Impl::GetViewWindow(this) {
Ok(ok__) => {
phwndview.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBaseBrowserData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbbd: *mut *mut BASEBROWSERDATALH) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService2_Impl::GetBaseBrowserData(this) {
Ok(ok__) => {
pbbd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PutBaseBrowserData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> *mut BASEBROWSERDATALH
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::PutBaseBrowserData(this)
}
unsafe extern "system" fn InitializeTravelLog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ptl: *mut core::ffi::c_void, dw: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::InitializeTravelLog(this, windows_core::from_raw_borrowed(&ptl), core::mem::transmute_copy(&dw)).into()
}
unsafe extern "system" fn SetTopBrowser<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::SetTopBrowser(this).into()
}
unsafe extern "system" fn Offline<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, icmd: i32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::Offline(this, core::mem::transmute_copy(&icmd)).into()
}
unsafe extern "system" fn AllowViewResize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, f: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::AllowViewResize(this, core::mem::transmute_copy(&f)).into()
}
unsafe extern "system" fn SetActivateState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, u: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::SetActivateState(this, core::mem::transmute_copy(&u)).into()
}
unsafe extern "system" fn UpdateSecureLockIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, esecurelock: i32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::UpdateSecureLockIcon(this, core::mem::transmute_copy(&esecurelock)).into()
}
unsafe extern "system" fn InitializeDownloadManager<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::InitializeDownloadManager(this).into()
}
unsafe extern "system" fn InitializeTransitionSite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::InitializeTransitionSite(this).into()
}
unsafe extern "system" fn _Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, pauto: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_Initialize(this, core::mem::transmute_copy(&hwnd), windows_core::from_raw_borrowed(&pauto)).into()
}
unsafe extern "system" fn _CancelPendingNavigationAsync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_CancelPendingNavigationAsync(this).into()
}
unsafe extern "system" fn _CancelPendingView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_CancelPendingView(this).into()
}
unsafe extern "system" fn _MaySaveChanges<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_MaySaveChanges(this).into()
}
unsafe extern "system" fn _PauseOrResumeView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fpaused: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_PauseOrResumeView(this, core::mem::transmute_copy(&fpaused)).into()
}
unsafe extern "system" fn _DisableModeless<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_DisableModeless(this).into()
}
unsafe extern "system" fn _NavigateToPidl2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, grfhlnf: u32, dwflags: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_NavigateToPidl2(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&grfhlnf), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn _TryShell2Rename<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psv: *mut core::ffi::c_void, pidlnew: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_TryShell2Rename(this, windows_core::from_raw_borrowed(&psv), core::mem::transmute_copy(&pidlnew)).into()
}
unsafe extern "system" fn _SwitchActivationNow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_SwitchActivationNow(this).into()
}
unsafe extern "system" fn _ExecChildren<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkbar: *mut core::ffi::c_void, fbroadcast: super::super::Foundation::BOOL, pguidcmdgroup: *const windows_core::GUID, ncmdid: u32, ncmdexecopt: u32, pvarargin: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarargout: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_ExecChildren(this, windows_core::from_raw_borrowed(&punkbar), core::mem::transmute_copy(&fbroadcast), core::mem::transmute_copy(&pguidcmdgroup), core::mem::transmute_copy(&ncmdid), core::mem::transmute_copy(&ncmdexecopt), core::mem::transmute_copy(&pvarargin), core::mem::transmute_copy(&pvarargout)).into()
}
unsafe extern "system" fn _SendChildren<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndbar: super::super::Foundation::HWND, fbroadcast: super::super::Foundation::BOOL, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_SendChildren(this, core::mem::transmute_copy(&hwndbar), core::mem::transmute_copy(&fbroadcast), core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam)).into()
}
unsafe extern "system" fn GetFolderSetData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfsd: *mut FOLDERSETDATA) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::GetFolderSetData(this, core::mem::transmute_copy(&pfsd)).into()
}
unsafe extern "system" fn _OnFocusChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itb: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_OnFocusChange(this, core::mem::transmute_copy(&itb)).into()
}
unsafe extern "system" fn v_ShowHideChildWindows<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fchildonly: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::v_ShowHideChildWindows(this, core::mem::transmute_copy(&fchildonly)).into()
}
unsafe extern "system" fn _get_itbLastFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_get_itbLastFocus(this)
}
unsafe extern "system" fn _put_itbLastFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itblastfocus: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_put_itbLastFocus(this, core::mem::transmute_copy(&itblastfocus)).into()
}
unsafe extern "system" fn _UIActivateView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ustate: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_UIActivateView(this, core::mem::transmute_copy(&ustate)).into()
}
unsafe extern "system" fn _GetViewBorderRect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prc: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_GetViewBorderRect(this, core::mem::transmute_copy(&prc)).into()
}
unsafe extern "system" fn _UpdateViewRectSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_UpdateViewRectSize(this).into()
}
unsafe extern "system" fn _ResizeNextBorder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itb: u32) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_ResizeNextBorder(this, core::mem::transmute_copy(&itb)).into()
}
unsafe extern "system" fn _ResizeView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_ResizeView(this).into()
}
unsafe extern "system" fn _GetEffectiveClientArea<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lprectborder: *mut super::super::Foundation::RECT, hmon: super::super::Graphics::Gdi::HMONITOR) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_GetEffectiveClientArea(this, core::mem::transmute_copy(&lprectborder), core::mem::transmute_copy(&hmon)).into()
}
unsafe extern "system" fn v_GetViewStream<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *mut Common::ITEMIDLIST, grfmode: u32, pwszname: windows_core::PCWSTR) -> Option<super::super::System::Com::IStream>
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::v_GetViewStream(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&grfmode), core::mem::transmute(&pwszname))
}
unsafe extern "system" fn ForwardViewMsg<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> super::super::Foundation::LRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::ForwardViewMsg(this, core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam))
}
unsafe extern "system" fn SetAcceleratorMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hacc: super::WindowsAndMessaging::HACCEL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::SetAcceleratorMenu(this, core::mem::transmute_copy(&hacc)).into()
}
unsafe extern "system" fn _GetToolbarCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> i32
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_GetToolbarCount(this)
}
unsafe extern "system" fn _GetToolbarItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itb: i32) -> *mut TOOLBARITEM
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_GetToolbarItem(this, core::mem::transmute_copy(&itb))
}
unsafe extern "system" fn _SaveToolbars<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstm: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_SaveToolbars(this, windows_core::from_raw_borrowed(&pstm)).into()
}
unsafe extern "system" fn _LoadToolbars<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstm: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_LoadToolbars(this, windows_core::from_raw_borrowed(&pstm)).into()
}
unsafe extern "system" fn _CloseAndReleaseToolbars<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fclose: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_CloseAndReleaseToolbars(this, core::mem::transmute_copy(&fclose)).into()
}
unsafe extern "system" fn v_MayGetNextToolbarFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lpmsg: *const super::WindowsAndMessaging::MSG, itbnext: u32, citb: i32, pptbi: *mut *mut TOOLBARITEM, phwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::v_MayGetNextToolbarFocus(this, core::mem::transmute_copy(&lpmsg), core::mem::transmute_copy(&itbnext), core::mem::transmute_copy(&citb), core::mem::transmute_copy(&pptbi), core::mem::transmute_copy(&phwnd)).into()
}
unsafe extern "system" fn _ResizeNextBorderHelper<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itb: u32, busehmonitor: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_ResizeNextBorderHelper(this, core::mem::transmute_copy(&itb), core::mem::transmute_copy(&busehmonitor)).into()
}
unsafe extern "system" fn _FindTBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punksrc: *mut core::ffi::c_void) -> u32
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_FindTBar(this, windows_core::from_raw_borrowed(&punksrc))
}
unsafe extern "system" fn _SetFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ptbi: *const TOOLBARITEM, hwnd: super::super::Foundation::HWND, lpmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_SetFocus(this, core::mem::transmute_copy(&ptbi), core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&lpmsg)).into()
}
unsafe extern "system" fn v_MayTranslateAccelerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *mut super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::v_MayTranslateAccelerator(this, core::mem::transmute_copy(&pmsg)).into()
}
unsafe extern "system" fn _GetBorderDWHelper<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punksrc: *mut core::ffi::c_void, lprectborder: *mut super::super::Foundation::RECT, busehmonitor: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::_GetBorderDWHelper(this, windows_core::from_raw_borrowed(&punksrc), core::mem::transmute_copy(&lprectborder), core::mem::transmute_copy(&busehmonitor)).into()
}
unsafe extern "system" fn v_CheckZoneCrossing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IBrowserService2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService2_Impl::v_CheckZoneCrossing(this, core::mem::transmute_copy(&pidl)).into()
}
Self {
base__: IBrowserService_Vtbl::new::<Identity, OFFSET>(),
WndProcBS: WndProcBS::<Identity, OFFSET>,
SetAsDefFolderSettings: SetAsDefFolderSettings::<Identity, OFFSET>,
GetViewRect: GetViewRect::<Identity, OFFSET>,
OnSize: OnSize::<Identity, OFFSET>,
OnCreate: OnCreate::<Identity, OFFSET>,
OnCommand: OnCommand::<Identity, OFFSET>,
OnDestroy: OnDestroy::<Identity, OFFSET>,
OnNotify: OnNotify::<Identity, OFFSET>,
OnSetFocus: OnSetFocus::<Identity, OFFSET>,
OnFrameWindowActivateBS: OnFrameWindowActivateBS::<Identity, OFFSET>,
ReleaseShellView: ReleaseShellView::<Identity, OFFSET>,
ActivatePendingView: ActivatePendingView::<Identity, OFFSET>,
CreateViewWindow: CreateViewWindow::<Identity, OFFSET>,
CreateBrowserPropSheetExt: CreateBrowserPropSheetExt::<Identity, OFFSET>,
GetViewWindow: GetViewWindow::<Identity, OFFSET>,
GetBaseBrowserData: GetBaseBrowserData::<Identity, OFFSET>,
PutBaseBrowserData: PutBaseBrowserData::<Identity, OFFSET>,
InitializeTravelLog: InitializeTravelLog::<Identity, OFFSET>,
SetTopBrowser: SetTopBrowser::<Identity, OFFSET>,
Offline: Offline::<Identity, OFFSET>,
AllowViewResize: AllowViewResize::<Identity, OFFSET>,
SetActivateState: SetActivateState::<Identity, OFFSET>,
UpdateSecureLockIcon: UpdateSecureLockIcon::<Identity, OFFSET>,
InitializeDownloadManager: InitializeDownloadManager::<Identity, OFFSET>,
InitializeTransitionSite: InitializeTransitionSite::<Identity, OFFSET>,
_Initialize: _Initialize::<Identity, OFFSET>,
_CancelPendingNavigationAsync: _CancelPendingNavigationAsync::<Identity, OFFSET>,
_CancelPendingView: _CancelPendingView::<Identity, OFFSET>,
_MaySaveChanges: _MaySaveChanges::<Identity, OFFSET>,
_PauseOrResumeView: _PauseOrResumeView::<Identity, OFFSET>,
_DisableModeless: _DisableModeless::<Identity, OFFSET>,
_NavigateToPidl2: _NavigateToPidl2::<Identity, OFFSET>,
_TryShell2Rename: _TryShell2Rename::<Identity, OFFSET>,
_SwitchActivationNow: _SwitchActivationNow::<Identity, OFFSET>,
_ExecChildren: _ExecChildren::<Identity, OFFSET>,
_SendChildren: _SendChildren::<Identity, OFFSET>,
GetFolderSetData: GetFolderSetData::<Identity, OFFSET>,
_OnFocusChange: _OnFocusChange::<Identity, OFFSET>,
v_ShowHideChildWindows: v_ShowHideChildWindows::<Identity, OFFSET>,
_get_itbLastFocus: _get_itbLastFocus::<Identity, OFFSET>,
_put_itbLastFocus: _put_itbLastFocus::<Identity, OFFSET>,
_UIActivateView: _UIActivateView::<Identity, OFFSET>,
_GetViewBorderRect: _GetViewBorderRect::<Identity, OFFSET>,
_UpdateViewRectSize: _UpdateViewRectSize::<Identity, OFFSET>,
_ResizeNextBorder: _ResizeNextBorder::<Identity, OFFSET>,
_ResizeView: _ResizeView::<Identity, OFFSET>,
_GetEffectiveClientArea: _GetEffectiveClientArea::<Identity, OFFSET>,
v_GetViewStream: v_GetViewStream::<Identity, OFFSET>,
ForwardViewMsg: ForwardViewMsg::<Identity, OFFSET>,
SetAcceleratorMenu: SetAcceleratorMenu::<Identity, OFFSET>,
_GetToolbarCount: _GetToolbarCount::<Identity, OFFSET>,
_GetToolbarItem: _GetToolbarItem::<Identity, OFFSET>,
_SaveToolbars: _SaveToolbars::<Identity, OFFSET>,
_LoadToolbars: _LoadToolbars::<Identity, OFFSET>,
_CloseAndReleaseToolbars: _CloseAndReleaseToolbars::<Identity, OFFSET>,
v_MayGetNextToolbarFocus: v_MayGetNextToolbarFocus::<Identity, OFFSET>,
_ResizeNextBorderHelper: _ResizeNextBorderHelper::<Identity, OFFSET>,
_FindTBar: _FindTBar::<Identity, OFFSET>,
_SetFocus: _SetFocus::<Identity, OFFSET>,
v_MayTranslateAccelerator: v_MayTranslateAccelerator::<Identity, OFFSET>,
_GetBorderDWHelper: _GetBorderDWHelper::<Identity, OFFSET>,
v_CheckZoneCrossing: v_CheckZoneCrossing::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBrowserService2 as windows_core::Interface>::IID || iid == &<IBrowserService as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IBrowserService3_Impl: Sized + IBrowserService2_Impl {
fn _PositionViewWindow(&self, hwnd: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
fn IEParseDisplayNameEx(&self, uicp: u32, pwszpath: &windows_core::PCWSTR, dwflags: u32) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IBrowserService3 {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IBrowserService3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBrowserService3_Vtbl
where
Identity: IBrowserService3_Impl,
{
unsafe extern "system" fn _PositionViewWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IBrowserService3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService3_Impl::_PositionViewWindow(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&prc)).into()
}
unsafe extern "system" fn IEParseDisplayNameEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uicp: u32, pwszpath: windows_core::PCWSTR, dwflags: u32, ppidlout: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IBrowserService3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IBrowserService3_Impl::IEParseDisplayNameEx(this, core::mem::transmute_copy(&uicp), core::mem::transmute(&pwszpath), core::mem::transmute_copy(&dwflags)) {
Ok(ok__) => {
ppidlout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IBrowserService2_Vtbl::new::<Identity, OFFSET>(),
_PositionViewWindow: _PositionViewWindow::<Identity, OFFSET>,
IEParseDisplayNameEx: IEParseDisplayNameEx::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBrowserService3 as windows_core::Interface>::IID || iid == &<IBrowserService as windows_core::Interface>::IID || iid == &<IBrowserService2 as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IBrowserService4_Impl: Sized + IBrowserService3_Impl {
fn ActivateView(&self, fpendingview: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SaveViewState(&self) -> windows_core::Result<()>;
fn _ResizeAllBorders(&self) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IBrowserService4 {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IBrowserService4_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IBrowserService4_Vtbl
where
Identity: IBrowserService4_Impl,
{
unsafe extern "system" fn ActivateView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fpendingview: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IBrowserService4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService4_Impl::ActivateView(this, core::mem::transmute_copy(&fpendingview)).into()
}
unsafe extern "system" fn SaveViewState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService4_Impl::SaveViewState(this).into()
}
unsafe extern "system" fn _ResizeAllBorders<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IBrowserService4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IBrowserService4_Impl::_ResizeAllBorders(this).into()
}
Self {
base__: IBrowserService3_Vtbl::new::<Identity, OFFSET>(),
ActivateView: ActivateView::<Identity, OFFSET>,
SaveViewState: SaveViewState::<Identity, OFFSET>,
_ResizeAllBorders: _ResizeAllBorders::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IBrowserService4 as windows_core::Interface>::IID || iid == &<IBrowserService as windows_core::Interface>::IID || iid == &<IBrowserService2 as windows_core::Interface>::IID || iid == &<IBrowserService3 as windows_core::Interface>::IID
}
}
pub trait ICDBurn_Impl: Sized {
fn GetRecorderDriveLetter(&self, pszdrive: windows_core::PWSTR, cch: u32) -> windows_core::Result<()>;
fn Burn(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn HasRecordableDrive(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
}
impl windows_core::RuntimeName for ICDBurn {}
impl ICDBurn_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICDBurn_Vtbl
where
Identity: ICDBurn_Impl,
{
unsafe extern "system" fn GetRecorderDriveLetter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdrive: windows_core::PWSTR, cch: u32) -> windows_core::HRESULT
where
Identity: ICDBurn_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICDBurn_Impl::GetRecorderDriveLetter(this, core::mem::transmute_copy(&pszdrive), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn Burn<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ICDBurn_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICDBurn_Impl::Burn(this, core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn HasRecordableDrive<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfhasrecorder: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ICDBurn_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICDBurn_Impl::HasRecordableDrive(this) {
Ok(ok__) => {
pfhasrecorder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetRecorderDriveLetter: GetRecorderDriveLetter::<Identity, OFFSET>,
Burn: Burn::<Identity, OFFSET>,
HasRecordableDrive: HasRecordableDrive::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICDBurn as windows_core::Interface>::IID
}
}
pub trait ICDBurnExt_Impl: Sized {
fn GetSupportedActionTypes(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for ICDBurnExt {}
impl ICDBurnExt_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICDBurnExt_Vtbl
where
Identity: ICDBurnExt_Impl,
{
unsafe extern "system" fn GetSupportedActionTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwactions: *mut u32) -> windows_core::HRESULT
where
Identity: ICDBurnExt_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICDBurnExt_Impl::GetSupportedActionTypes(this) {
Ok(ok__) => {
pdwactions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetSupportedActionTypes: GetSupportedActionTypes::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICDBurnExt as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait ICategorizer_Impl: Sized {
fn GetDescription(&self, pszdesc: windows_core::PWSTR, cch: u32) -> windows_core::Result<()>;
fn GetCategory(&self, cidl: u32, apidl: *const *const Common::ITEMIDLIST, rgcategoryids: *mut u32) -> windows_core::Result<()>;
fn GetCategoryInfo(&self, dwcategoryid: u32, pci: *mut CATEGORY_INFO) -> windows_core::Result<()>;
fn CompareCategory(&self, csfflags: CATSORT_FLAGS, dwcategoryid1: u32, dwcategoryid2: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for ICategorizer {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl ICategorizer_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICategorizer_Vtbl
where
Identity: ICategorizer_Impl,
{
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdesc: windows_core::PWSTR, cch: u32) -> windows_core::HRESULT
where
Identity: ICategorizer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategorizer_Impl::GetDescription(this, core::mem::transmute_copy(&pszdesc), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn GetCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cidl: u32, apidl: *const *const Common::ITEMIDLIST, rgcategoryids: *mut u32) -> windows_core::HRESULT
where
Identity: ICategorizer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategorizer_Impl::GetCategory(this, core::mem::transmute_copy(&cidl), core::mem::transmute_copy(&apidl), core::mem::transmute_copy(&rgcategoryids)).into()
}
unsafe extern "system" fn GetCategoryInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcategoryid: u32, pci: *mut CATEGORY_INFO) -> windows_core::HRESULT
where
Identity: ICategorizer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategorizer_Impl::GetCategoryInfo(this, core::mem::transmute_copy(&dwcategoryid), core::mem::transmute_copy(&pci)).into()
}
unsafe extern "system" fn CompareCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, csfflags: CATSORT_FLAGS, dwcategoryid1: u32, dwcategoryid2: u32) -> windows_core::HRESULT
where
Identity: ICategorizer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategorizer_Impl::CompareCategory(this, core::mem::transmute_copy(&csfflags), core::mem::transmute_copy(&dwcategoryid1), core::mem::transmute_copy(&dwcategoryid2)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDescription: GetDescription::<Identity, OFFSET>,
GetCategory: GetCategory::<Identity, OFFSET>,
GetCategoryInfo: GetCategoryInfo::<Identity, OFFSET>,
CompareCategory: CompareCategory::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICategorizer as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait ICategoryProvider_Impl: Sized {
fn CanCategorizeOnSCID(&self, pscid: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn GetDefaultCategory(&self, pguid: *mut windows_core::GUID, pscid: *mut PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn GetCategoryForSCID(&self, pscid: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::GUID>;
fn EnumCategories(&self) -> windows_core::Result<super::super::System::Com::IEnumGUID>;
fn GetCategoryName(&self, pguid: *const windows_core::GUID, pszname: windows_core::PWSTR, cch: u32) -> windows_core::Result<()>;
fn CreateCategory(&self, pguid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for ICategoryProvider {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl ICategoryProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICategoryProvider_Vtbl
where
Identity: ICategoryProvider_Impl,
{
unsafe extern "system" fn CanCategorizeOnSCID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pscid: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: ICategoryProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategoryProvider_Impl::CanCategorizeOnSCID(this, core::mem::transmute_copy(&pscid)).into()
}
unsafe extern "system" fn GetDefaultCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguid: *mut windows_core::GUID, pscid: *mut PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: ICategoryProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategoryProvider_Impl::GetDefaultCategory(this, core::mem::transmute_copy(&pguid), core::mem::transmute_copy(&pscid)).into()
}
unsafe extern "system" fn GetCategoryForSCID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pscid: *const PropertiesSystem::PROPERTYKEY, pguid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: ICategoryProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICategoryProvider_Impl::GetCategoryForSCID(this, core::mem::transmute_copy(&pscid)) {
Ok(ok__) => {
pguid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumCategories<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, penum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICategoryProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICategoryProvider_Impl::EnumCategories(this) {
Ok(ok__) => {
penum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCategoryName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguid: *const windows_core::GUID, pszname: windows_core::PWSTR, cch: u32) -> windows_core::HRESULT
where
Identity: ICategoryProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategoryProvider_Impl::GetCategoryName(this, core::mem::transmute_copy(&pguid), core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn CreateCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICategoryProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICategoryProvider_Impl::CreateCategory(this, core::mem::transmute_copy(&pguid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CanCategorizeOnSCID: CanCategorizeOnSCID::<Identity, OFFSET>,
GetDefaultCategory: GetDefaultCategory::<Identity, OFFSET>,
GetCategoryForSCID: GetCategoryForSCID::<Identity, OFFSET>,
EnumCategories: EnumCategories::<Identity, OFFSET>,
GetCategoryName: GetCategoryName::<Identity, OFFSET>,
CreateCategory: CreateCategory::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICategoryProvider as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IColumnManager_Impl: Sized {
fn SetColumnInfo(&self, propkey: *const PropertiesSystem::PROPERTYKEY, pcmci: *const CM_COLUMNINFO) -> windows_core::Result<()>;
fn GetColumnInfo(&self, propkey: *const PropertiesSystem::PROPERTYKEY, pcmci: *mut CM_COLUMNINFO) -> windows_core::Result<()>;
fn GetColumnCount(&self, dwflags: CM_ENUM_FLAGS) -> windows_core::Result<u32>;
fn GetColumns(&self, dwflags: CM_ENUM_FLAGS, rgkeyorder: *mut PropertiesSystem::PROPERTYKEY, ccolumns: u32) -> windows_core::Result<()>;
fn SetColumns(&self, rgkeyorder: *const PropertiesSystem::PROPERTYKEY, cvisible: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IColumnManager {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IColumnManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IColumnManager_Vtbl
where
Identity: IColumnManager_Impl,
{
unsafe extern "system" fn SetColumnInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, propkey: *const PropertiesSystem::PROPERTYKEY, pcmci: *const CM_COLUMNINFO) -> windows_core::HRESULT
where
Identity: IColumnManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IColumnManager_Impl::SetColumnInfo(this, core::mem::transmute_copy(&propkey), core::mem::transmute_copy(&pcmci)).into()
}
unsafe extern "system" fn GetColumnInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, propkey: *const PropertiesSystem::PROPERTYKEY, pcmci: *mut CM_COLUMNINFO) -> windows_core::HRESULT
where
Identity: IColumnManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IColumnManager_Impl::GetColumnInfo(this, core::mem::transmute_copy(&propkey), core::mem::transmute_copy(&pcmci)).into()
}
unsafe extern "system" fn GetColumnCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: CM_ENUM_FLAGS, pucount: *mut u32) -> windows_core::HRESULT
where
Identity: IColumnManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IColumnManager_Impl::GetColumnCount(this, core::mem::transmute_copy(&dwflags)) {
Ok(ok__) => {
pucount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: CM_ENUM_FLAGS, rgkeyorder: *mut PropertiesSystem::PROPERTYKEY, ccolumns: u32) -> windows_core::HRESULT
where
Identity: IColumnManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IColumnManager_Impl::GetColumns(this, core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&rgkeyorder), core::mem::transmute_copy(&ccolumns)).into()
}
unsafe extern "system" fn SetColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rgkeyorder: *const PropertiesSystem::PROPERTYKEY, cvisible: u32) -> windows_core::HRESULT
where
Identity: IColumnManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IColumnManager_Impl::SetColumns(this, core::mem::transmute_copy(&rgkeyorder), core::mem::transmute_copy(&cvisible)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetColumnInfo: SetColumnInfo::<Identity, OFFSET>,
GetColumnInfo: GetColumnInfo::<Identity, OFFSET>,
GetColumnCount: GetColumnCount::<Identity, OFFSET>,
GetColumns: GetColumns::<Identity, OFFSET>,
SetColumns: SetColumns::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IColumnManager as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Variant", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait IColumnProvider_Impl: Sized {
fn Initialize(&self, psci: *const SHCOLUMNINIT) -> windows_core::Result<()>;
fn GetColumnInfo(&self, dwindex: u32, psci: *mut SHCOLUMNINFO) -> windows_core::Result<()>;
fn GetItemData(&self, pscid: *const PropertiesSystem::PROPERTYKEY, pscd: *const SHCOLUMNDATA) -> windows_core::Result<windows_core::VARIANT>;
}
#[cfg(all(feature = "Win32_System_Variant", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for IColumnProvider {}
#[cfg(all(feature = "Win32_System_Variant", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl IColumnProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IColumnProvider_Vtbl
where
Identity: IColumnProvider_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psci: *const SHCOLUMNINIT) -> windows_core::HRESULT
where
Identity: IColumnProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IColumnProvider_Impl::Initialize(this, core::mem::transmute_copy(&psci)).into()
}
unsafe extern "system" fn GetColumnInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwindex: u32, psci: *mut SHCOLUMNINFO) -> windows_core::HRESULT
where
Identity: IColumnProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IColumnProvider_Impl::GetColumnInfo(this, core::mem::transmute_copy(&dwindex), core::mem::transmute_copy(&psci)).into()
}
unsafe extern "system" fn GetItemData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pscid: *const PropertiesSystem::PROPERTYKEY, pscd: *const SHCOLUMNDATA, pvardata: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IColumnProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IColumnProvider_Impl::GetItemData(this, core::mem::transmute_copy(&pscid), core::mem::transmute_copy(&pscd)) {
Ok(ok__) => {
pvardata.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
GetColumnInfo: GetColumnInfo::<Identity, OFFSET>,
GetItemData: GetItemData::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IColumnProvider as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
pub trait ICommDlgBrowser_Impl: Sized {
fn OnDefaultCommand(&self, ppshv: Option<&IShellView>) -> windows_core::Result<()>;
fn OnStateChange(&self, ppshv: Option<&IShellView>, uchange: u32) -> windows_core::Result<()>;
fn IncludeObject(&self, ppshv: Option<&IShellView>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for ICommDlgBrowser {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl ICommDlgBrowser_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICommDlgBrowser_Vtbl
where
Identity: ICommDlgBrowser_Impl,
{
unsafe extern "system" fn OnDefaultCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser_Impl::OnDefaultCommand(this, windows_core::from_raw_borrowed(&ppshv)).into()
}
unsafe extern "system" fn OnStateChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void, uchange: u32) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser_Impl::OnStateChange(this, windows_core::from_raw_borrowed(&ppshv), core::mem::transmute_copy(&uchange)).into()
}
unsafe extern "system" fn IncludeObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser_Impl::IncludeObject(this, windows_core::from_raw_borrowed(&ppshv), core::mem::transmute_copy(&pidl)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnDefaultCommand: OnDefaultCommand::<Identity, OFFSET>,
OnStateChange: OnStateChange::<Identity, OFFSET>,
IncludeObject: IncludeObject::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICommDlgBrowser as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
pub trait ICommDlgBrowser2_Impl: Sized + ICommDlgBrowser_Impl {
fn Notify(&self, ppshv: Option<&IShellView>, dwnotifytype: u32) -> windows_core::Result<()>;
fn GetDefaultMenuText(&self, ppshv: Option<&IShellView>, psztext: windows_core::PWSTR, cchmax: i32) -> windows_core::Result<()>;
fn GetViewFlags(&self) -> windows_core::Result<u32>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for ICommDlgBrowser2 {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl ICommDlgBrowser2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICommDlgBrowser2_Vtbl
where
Identity: ICommDlgBrowser2_Impl,
{
unsafe extern "system" fn Notify<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void, dwnotifytype: u32) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser2_Impl::Notify(this, windows_core::from_raw_borrowed(&ppshv), core::mem::transmute_copy(&dwnotifytype)).into()
}
unsafe extern "system" fn GetDefaultMenuText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void, psztext: windows_core::PWSTR, cchmax: i32) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser2_Impl::GetDefaultMenuText(this, windows_core::from_raw_borrowed(&ppshv), core::mem::transmute_copy(&psztext), core::mem::transmute_copy(&cchmax)).into()
}
unsafe extern "system" fn GetViewFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICommDlgBrowser2_Impl::GetViewFlags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: ICommDlgBrowser_Vtbl::new::<Identity, OFFSET>(),
Notify: Notify::<Identity, OFFSET>,
GetDefaultMenuText: GetDefaultMenuText::<Identity, OFFSET>,
GetViewFlags: GetViewFlags::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICommDlgBrowser2 as windows_core::Interface>::IID || iid == &<ICommDlgBrowser as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
pub trait ICommDlgBrowser3_Impl: Sized + ICommDlgBrowser2_Impl {
fn OnColumnClicked(&self, ppshv: Option<&IShellView>, icolumn: i32) -> windows_core::Result<()>;
fn GetCurrentFilter(&self, pszfilespec: windows_core::PWSTR, cchfilespec: i32) -> windows_core::Result<()>;
fn OnPreViewCreated(&self, ppshv: Option<&IShellView>) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for ICommDlgBrowser3 {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl ICommDlgBrowser3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICommDlgBrowser3_Vtbl
where
Identity: ICommDlgBrowser3_Impl,
{
unsafe extern "system" fn OnColumnClicked<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void, icolumn: i32) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser3_Impl::OnColumnClicked(this, windows_core::from_raw_borrowed(&ppshv), core::mem::transmute_copy(&icolumn)).into()
}
unsafe extern "system" fn GetCurrentFilter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfilespec: windows_core::PWSTR, cchfilespec: i32) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser3_Impl::GetCurrentFilter(this, core::mem::transmute_copy(&pszfilespec), core::mem::transmute_copy(&cchfilespec)).into()
}
unsafe extern "system" fn OnPreViewCreated<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICommDlgBrowser3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICommDlgBrowser3_Impl::OnPreViewCreated(this, windows_core::from_raw_borrowed(&ppshv)).into()
}
Self {
base__: ICommDlgBrowser2_Vtbl::new::<Identity, OFFSET>(),
OnColumnClicked: OnColumnClicked::<Identity, OFFSET>,
GetCurrentFilter: GetCurrentFilter::<Identity, OFFSET>,
OnPreViewCreated: OnPreViewCreated::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICommDlgBrowser3 as windows_core::Interface>::IID || iid == &<ICommDlgBrowser as windows_core::Interface>::IID || iid == &<ICommDlgBrowser2 as windows_core::Interface>::IID
}
}
pub trait IComputerInfoChangeNotify_Impl: Sized {
fn ComputerInfoChanged(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IComputerInfoChangeNotify {}
impl IComputerInfoChangeNotify_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IComputerInfoChangeNotify_Vtbl
where
Identity: IComputerInfoChangeNotify_Impl,
{
unsafe extern "system" fn ComputerInfoChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IComputerInfoChangeNotify_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IComputerInfoChangeNotify_Impl::ComputerInfoChanged(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ComputerInfoChanged: ComputerInfoChanged::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IComputerInfoChangeNotify as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IConnectableCredentialProviderCredential_Impl: Sized + ICredentialProviderCredential_Impl {
fn Connect(&self, pqcws: Option<&IQueryContinueWithStatus>) -> windows_core::Result<()>;
fn Disconnect(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IConnectableCredentialProviderCredential {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IConnectableCredentialProviderCredential_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IConnectableCredentialProviderCredential_Vtbl
where
Identity: IConnectableCredentialProviderCredential_Impl,
{
unsafe extern "system" fn Connect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pqcws: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IConnectableCredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IConnectableCredentialProviderCredential_Impl::Connect(this, windows_core::from_raw_borrowed(&pqcws)).into()
}
unsafe extern "system" fn Disconnect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IConnectableCredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IConnectableCredentialProviderCredential_Impl::Disconnect(this).into()
}
Self {
base__: ICredentialProviderCredential_Vtbl::new::<Identity, OFFSET>(),
Connect: Connect::<Identity, OFFSET>,
Disconnect: Disconnect::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IConnectableCredentialProviderCredential as windows_core::Interface>::IID || iid == &<ICredentialProviderCredential as windows_core::Interface>::IID
}
}
pub trait IContactManagerInterop_Impl: Sized {
fn ShowContactCardForWindow(&self, appwindow: super::super::Foundation::HWND, contact: Option<&windows_core::IUnknown>, selection: *const super::super::Foundation::RECT, preferredplacement: FLYOUT_PLACEMENT) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IContactManagerInterop {}
impl IContactManagerInterop_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IContactManagerInterop_Vtbl
where
Identity: IContactManagerInterop_Impl,
{
unsafe extern "system" fn ShowContactCardForWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, appwindow: super::super::Foundation::HWND, contact: *mut core::ffi::c_void, selection: *const super::super::Foundation::RECT, preferredplacement: FLYOUT_PLACEMENT) -> windows_core::HRESULT
where
Identity: IContactManagerInterop_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContactManagerInterop_Impl::ShowContactCardForWindow(this, core::mem::transmute_copy(&appwindow), windows_core::from_raw_borrowed(&contact), core::mem::transmute_copy(&selection), core::mem::transmute_copy(&preferredplacement)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ShowContactCardForWindow: ShowContactCardForWindow::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IContactManagerInterop as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IContextMenu_Impl: Sized {
fn QueryContextMenu(&self, hmenu: super::WindowsAndMessaging::HMENU, indexmenu: u32, idcmdfirst: u32, idcmdlast: u32, uflags: u32) -> windows_core::Result<()>;
fn InvokeCommand(&self, pici: *const CMINVOKECOMMANDINFO) -> windows_core::Result<()>;
fn GetCommandString(&self, idcmd: usize, utype: u32, preserved: *const u32, pszname: windows_core::PSTR, cchmax: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IContextMenu {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IContextMenu_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IContextMenu_Vtbl
where
Identity: IContextMenu_Impl,
{
unsafe extern "system" fn QueryContextMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmenu: super::WindowsAndMessaging::HMENU, indexmenu: u32, idcmdfirst: u32, idcmdlast: u32, uflags: u32) -> windows_core::HRESULT
where
Identity: IContextMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenu_Impl::QueryContextMenu(this, core::mem::transmute_copy(&hmenu), core::mem::transmute_copy(&indexmenu), core::mem::transmute_copy(&idcmdfirst), core::mem::transmute_copy(&idcmdlast), core::mem::transmute_copy(&uflags)).into()
}
unsafe extern "system" fn InvokeCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pici: *const CMINVOKECOMMANDINFO) -> windows_core::HRESULT
where
Identity: IContextMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenu_Impl::InvokeCommand(this, core::mem::transmute_copy(&pici)).into()
}
unsafe extern "system" fn GetCommandString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, idcmd: usize, utype: u32, preserved: *const u32, pszname: windows_core::PSTR, cchmax: u32) -> windows_core::HRESULT
where
Identity: IContextMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenu_Impl::GetCommandString(this, core::mem::transmute_copy(&idcmd), core::mem::transmute_copy(&utype), core::mem::transmute_copy(&preserved), core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cchmax)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
QueryContextMenu: QueryContextMenu::<Identity, OFFSET>,
InvokeCommand: InvokeCommand::<Identity, OFFSET>,
GetCommandString: GetCommandString::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IContextMenu as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IContextMenu2_Impl: Sized + IContextMenu_Impl {
fn HandleMenuMsg(&self, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IContextMenu2 {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IContextMenu2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IContextMenu2_Vtbl
where
Identity: IContextMenu2_Impl,
{
unsafe extern "system" fn HandleMenuMsg<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IContextMenu2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenu2_Impl::HandleMenuMsg(this, core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam)).into()
}
Self { base__: IContextMenu_Vtbl::new::<Identity, OFFSET>(), HandleMenuMsg: HandleMenuMsg::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IContextMenu2 as windows_core::Interface>::IID || iid == &<IContextMenu as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IContextMenu3_Impl: Sized + IContextMenu2_Impl {
fn HandleMenuMsg2(&self, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plresult: *mut super::super::Foundation::LRESULT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IContextMenu3 {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IContextMenu3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IContextMenu3_Vtbl
where
Identity: IContextMenu3_Impl,
{
unsafe extern "system" fn HandleMenuMsg2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, plresult: *mut super::super::Foundation::LRESULT) -> windows_core::HRESULT
where
Identity: IContextMenu3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenu3_Impl::HandleMenuMsg2(this, core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam), core::mem::transmute_copy(&plresult)).into()
}
Self { base__: IContextMenu2_Vtbl::new::<Identity, OFFSET>(), HandleMenuMsg2: HandleMenuMsg2::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IContextMenu3 as windows_core::Interface>::IID || iid == &<IContextMenu as windows_core::Interface>::IID || iid == &<IContextMenu2 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IContextMenuCB_Impl: Sized {
fn CallBack(&self, psf: Option<&IShellFolder>, hwndowner: super::super::Foundation::HWND, pdtobj: Option<&super::super::System::Com::IDataObject>, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IContextMenuCB {}
#[cfg(feature = "Win32_System_Com")]
impl IContextMenuCB_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IContextMenuCB_Vtbl
where
Identity: IContextMenuCB_Impl,
{
unsafe extern "system" fn CallBack<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND, pdtobj: *mut core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IContextMenuCB_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenuCB_Impl::CallBack(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&hwndowner), windows_core::from_raw_borrowed(&pdtobj), core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CallBack: CallBack::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IContextMenuCB as windows_core::Interface>::IID
}
}
pub trait IContextMenuSite_Impl: Sized {
fn DoContextMenuPopup(&self, punkcontextmenu: Option<&windows_core::IUnknown>, fflags: u32, pt: &super::super::Foundation::POINT) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IContextMenuSite {}
impl IContextMenuSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IContextMenuSite_Vtbl
where
Identity: IContextMenuSite_Impl,
{
unsafe extern "system" fn DoContextMenuPopup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkcontextmenu: *mut core::ffi::c_void, fflags: u32, pt: super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IContextMenuSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IContextMenuSite_Impl::DoContextMenuPopup(this, windows_core::from_raw_borrowed(&punkcontextmenu), core::mem::transmute_copy(&fflags), core::mem::transmute(&pt)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), DoContextMenuPopup: DoContextMenuPopup::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IContextMenuSite as windows_core::Interface>::IID
}
}
pub trait ICopyHookA_Impl: Sized {
fn CopyCallback(&self, hwnd: super::super::Foundation::HWND, wfunc: u32, wflags: u32, pszsrcfile: &windows_core::PCSTR, dwsrcattribs: u32, pszdestfile: &windows_core::PCSTR, dwdestattribs: u32) -> u32;
}
impl windows_core::RuntimeName for ICopyHookA {}
impl ICopyHookA_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICopyHookA_Vtbl
where
Identity: ICopyHookA_Impl,
{
unsafe extern "system" fn CopyCallback<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, wfunc: u32, wflags: u32, pszsrcfile: windows_core::PCSTR, dwsrcattribs: u32, pszdestfile: windows_core::PCSTR, dwdestattribs: u32) -> u32
where
Identity: ICopyHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICopyHookA_Impl::CopyCallback(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&wfunc), core::mem::transmute_copy(&wflags), core::mem::transmute(&pszsrcfile), core::mem::transmute_copy(&dwsrcattribs), core::mem::transmute(&pszdestfile), core::mem::transmute_copy(&dwdestattribs))
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CopyCallback: CopyCallback::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICopyHookA as windows_core::Interface>::IID
}
}
pub trait ICopyHookW_Impl: Sized {
fn CopyCallback(&self, hwnd: super::super::Foundation::HWND, wfunc: u32, wflags: u32, pszsrcfile: &windows_core::PCWSTR, dwsrcattribs: u32, pszdestfile: &windows_core::PCWSTR, dwdestattribs: u32) -> u32;
}
impl windows_core::RuntimeName for ICopyHookW {}
impl ICopyHookW_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICopyHookW_Vtbl
where
Identity: ICopyHookW_Impl,
{
unsafe extern "system" fn CopyCallback<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, wfunc: u32, wflags: u32, pszsrcfile: windows_core::PCWSTR, dwsrcattribs: u32, pszdestfile: windows_core::PCWSTR, dwdestattribs: u32) -> u32
where
Identity: ICopyHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICopyHookW_Impl::CopyCallback(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&wfunc), core::mem::transmute_copy(&wflags), core::mem::transmute(&pszsrcfile), core::mem::transmute_copy(&dwsrcattribs), core::mem::transmute(&pszdestfile), core::mem::transmute_copy(&dwdestattribs))
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CopyCallback: CopyCallback::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICopyHookW as windows_core::Interface>::IID
}
}
pub trait ICreateProcessInputs_Impl: Sized {
fn GetCreateFlags(&self) -> windows_core::Result<u32>;
fn SetCreateFlags(&self, dwcreationflags: u32) -> windows_core::Result<()>;
fn AddCreateFlags(&self, dwcreationflags: u32) -> windows_core::Result<()>;
fn SetHotKey(&self, whotkey: u16) -> windows_core::Result<()>;
fn AddStartupFlags(&self, dwstartupinfoflags: u32) -> windows_core::Result<()>;
fn SetTitle(&self, psztitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetEnvironmentVariable(&self, pszname: &windows_core::PCWSTR, pszvalue: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ICreateProcessInputs {}
impl ICreateProcessInputs_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICreateProcessInputs_Vtbl
where
Identity: ICreateProcessInputs_Impl,
{
unsafe extern "system" fn GetCreateFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwcreationflags: *mut u32) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICreateProcessInputs_Impl::GetCreateFlags(this) {
Ok(ok__) => {
pdwcreationflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCreateFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcreationflags: u32) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreateProcessInputs_Impl::SetCreateFlags(this, core::mem::transmute_copy(&dwcreationflags)).into()
}
unsafe extern "system" fn AddCreateFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcreationflags: u32) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreateProcessInputs_Impl::AddCreateFlags(this, core::mem::transmute_copy(&dwcreationflags)).into()
}
unsafe extern "system" fn SetHotKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, whotkey: u16) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreateProcessInputs_Impl::SetHotKey(this, core::mem::transmute_copy(&whotkey)).into()
}
unsafe extern "system" fn AddStartupFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwstartupinfoflags: u32) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreateProcessInputs_Impl::AddStartupFlags(this, core::mem::transmute_copy(&dwstartupinfoflags)).into()
}
unsafe extern "system" fn SetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztitle: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreateProcessInputs_Impl::SetTitle(this, core::mem::transmute(&psztitle)).into()
}
unsafe extern "system" fn SetEnvironmentVariable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR, pszvalue: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICreateProcessInputs_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreateProcessInputs_Impl::SetEnvironmentVariable(this, core::mem::transmute(&pszname), core::mem::transmute(&pszvalue)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCreateFlags: GetCreateFlags::<Identity, OFFSET>,
SetCreateFlags: SetCreateFlags::<Identity, OFFSET>,
AddCreateFlags: AddCreateFlags::<Identity, OFFSET>,
SetHotKey: SetHotKey::<Identity, OFFSET>,
AddStartupFlags: AddStartupFlags::<Identity, OFFSET>,
SetTitle: SetTitle::<Identity, OFFSET>,
SetEnvironmentVariable: SetEnvironmentVariable::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICreateProcessInputs as windows_core::Interface>::IID
}
}
pub trait ICreatingProcess_Impl: Sized {
fn OnCreating(&self, pcpi: Option<&ICreateProcessInputs>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ICreatingProcess {}
impl ICreatingProcess_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICreatingProcess_Vtbl
where
Identity: ICreatingProcess_Impl,
{
unsafe extern "system" fn OnCreating<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICreatingProcess_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICreatingProcess_Impl::OnCreating(this, windows_core::from_raw_borrowed(&pcpi)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnCreating: OnCreating::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICreatingProcess as windows_core::Interface>::IID
}
}
pub trait ICredentialProvider_Impl: Sized {
fn SetUsageScenario(&self, cpus: CREDENTIAL_PROVIDER_USAGE_SCENARIO, dwflags: u32) -> windows_core::Result<()>;
fn SetSerialization(&self, pcpcs: *const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION) -> windows_core::Result<()>;
fn Advise(&self, pcpe: Option<&ICredentialProviderEvents>, upadvisecontext: usize) -> windows_core::Result<()>;
fn UnAdvise(&self) -> windows_core::Result<()>;
fn GetFieldDescriptorCount(&self) -> windows_core::Result<u32>;
fn GetFieldDescriptorAt(&self, dwindex: u32) -> windows_core::Result<*mut CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR>;
fn GetCredentialCount(&self, pdwcount: *mut u32, pdwdefault: *mut u32, pbautologonwithdefault: *mut super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetCredentialAt(&self, dwindex: u32) -> windows_core::Result<ICredentialProviderCredential>;
}
impl windows_core::RuntimeName for ICredentialProvider {}
impl ICredentialProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProvider_Vtbl
where
Identity: ICredentialProvider_Impl,
{
unsafe extern "system" fn SetUsageScenario<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cpus: CREDENTIAL_PROVIDER_USAGE_SCENARIO, dwflags: u32) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProvider_Impl::SetUsageScenario(this, core::mem::transmute_copy(&cpus), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn SetSerialization<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpcs: *const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProvider_Impl::SetSerialization(this, core::mem::transmute_copy(&pcpcs)).into()
}
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpe: *mut core::ffi::c_void, upadvisecontext: usize) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProvider_Impl::Advise(this, windows_core::from_raw_borrowed(&pcpe), core::mem::transmute_copy(&upadvisecontext)).into()
}
unsafe extern "system" fn UnAdvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProvider_Impl::UnAdvise(this).into()
}
unsafe extern "system" fn GetFieldDescriptorCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwcount: *mut u32) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProvider_Impl::GetFieldDescriptorCount(this) {
Ok(ok__) => {
pdwcount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFieldDescriptorAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwindex: u32, ppcpfd: *mut *mut CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProvider_Impl::GetFieldDescriptorAt(this, core::mem::transmute_copy(&dwindex)) {
Ok(ok__) => {
ppcpfd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCredentialCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwcount: *mut u32, pdwdefault: *mut u32, pbautologonwithdefault: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProvider_Impl::GetCredentialCount(this, core::mem::transmute_copy(&pdwcount), core::mem::transmute_copy(&pdwdefault), core::mem::transmute_copy(&pbautologonwithdefault)).into()
}
unsafe extern "system" fn GetCredentialAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwindex: u32, ppcpc: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProvider_Impl::GetCredentialAt(this, core::mem::transmute_copy(&dwindex)) {
Ok(ok__) => {
ppcpc.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetUsageScenario: SetUsageScenario::<Identity, OFFSET>,
SetSerialization: SetSerialization::<Identity, OFFSET>,
Advise: Advise::<Identity, OFFSET>,
UnAdvise: UnAdvise::<Identity, OFFSET>,
GetFieldDescriptorCount: GetFieldDescriptorCount::<Identity, OFFSET>,
GetFieldDescriptorAt: GetFieldDescriptorAt::<Identity, OFFSET>,
GetCredentialCount: GetCredentialCount::<Identity, OFFSET>,
GetCredentialAt: GetCredentialAt::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProvider as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait ICredentialProviderCredential_Impl: Sized {
fn Advise(&self, pcpce: Option<&ICredentialProviderCredentialEvents>) -> windows_core::Result<()>;
fn UnAdvise(&self) -> windows_core::Result<()>;
fn SetSelected(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn SetDeselected(&self) -> windows_core::Result<()>;
fn GetFieldState(&self, dwfieldid: u32, pcpfs: *mut CREDENTIAL_PROVIDER_FIELD_STATE, pcpfis: *mut CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE) -> windows_core::Result<()>;
fn GetStringValue(&self, dwfieldid: u32) -> windows_core::Result<windows_core::PWSTR>;
fn GetBitmapValue(&self, dwfieldid: u32) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
fn GetCheckboxValue(&self, dwfieldid: u32, pbchecked: *mut super::super::Foundation::BOOL, ppszlabel: *mut windows_core::PWSTR) -> windows_core::Result<()>;
fn GetSubmitButtonValue(&self, dwfieldid: u32) -> windows_core::Result<u32>;
fn GetComboBoxValueCount(&self, dwfieldid: u32, pcitems: *mut u32, pdwselecteditem: *mut u32) -> windows_core::Result<()>;
fn GetComboBoxValueAt(&self, dwfieldid: u32, dwitem: u32) -> windows_core::Result<windows_core::PWSTR>;
fn SetStringValue(&self, dwfieldid: u32, psz: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetCheckboxValue(&self, dwfieldid: u32, bchecked: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetComboBoxSelectedValue(&self, dwfieldid: u32, dwselecteditem: u32) -> windows_core::Result<()>;
fn CommandLinkClicked(&self, dwfieldid: u32) -> windows_core::Result<()>;
fn GetSerialization(&self, pcpgsr: *mut CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE, pcpcs: *mut CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION, ppszoptionalstatustext: *mut windows_core::PWSTR, pcpsioptionalstatusicon: *mut CREDENTIAL_PROVIDER_STATUS_ICON) -> windows_core::Result<()>;
fn ReportResult(&self, ntsstatus: super::super::Foundation::NTSTATUS, ntssubstatus: super::super::Foundation::NTSTATUS, ppszoptionalstatustext: *mut windows_core::PWSTR, pcpsioptionalstatusicon: *mut CREDENTIAL_PROVIDER_STATUS_ICON) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for ICredentialProviderCredential {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ICredentialProviderCredential_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderCredential_Vtbl
where
Identity: ICredentialProviderCredential_Impl,
{
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpce: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::Advise(this, windows_core::from_raw_borrowed(&pcpce)).into()
}
unsafe extern "system" fn UnAdvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::UnAdvise(this).into()
}
unsafe extern "system" fn SetSelected<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbautologon: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredential_Impl::SetSelected(this) {
Ok(ok__) => {
pbautologon.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDeselected<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::SetDeselected(this).into()
}
unsafe extern "system" fn GetFieldState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, pcpfs: *mut CREDENTIAL_PROVIDER_FIELD_STATE, pcpfis: *mut CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::GetFieldState(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&pcpfs), core::mem::transmute_copy(&pcpfis)).into()
}
unsafe extern "system" fn GetStringValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, ppsz: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredential_Impl::GetStringValue(this, core::mem::transmute_copy(&dwfieldid)) {
Ok(ok__) => {
ppsz.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBitmapValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, phbmp: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredential_Impl::GetBitmapValue(this, core::mem::transmute_copy(&dwfieldid)) {
Ok(ok__) => {
phbmp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCheckboxValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, pbchecked: *mut super::super::Foundation::BOOL, ppszlabel: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::GetCheckboxValue(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&pbchecked), core::mem::transmute_copy(&ppszlabel)).into()
}
unsafe extern "system" fn GetSubmitButtonValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, pdwadjacentto: *mut u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredential_Impl::GetSubmitButtonValue(this, core::mem::transmute_copy(&dwfieldid)) {
Ok(ok__) => {
pdwadjacentto.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComboBoxValueCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, pcitems: *mut u32, pdwselecteditem: *mut u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::GetComboBoxValueCount(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&pcitems), core::mem::transmute_copy(&pdwselecteditem)).into()
}
unsafe extern "system" fn GetComboBoxValueAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, dwitem: u32, ppszitem: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredential_Impl::GetComboBoxValueAt(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&dwitem)) {
Ok(ok__) => {
ppszitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStringValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, psz: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::SetStringValue(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn SetCheckboxValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, bchecked: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::SetCheckboxValue(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&bchecked)).into()
}
unsafe extern "system" fn SetComboBoxSelectedValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32, dwselecteditem: u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::SetComboBoxSelectedValue(this, core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&dwselecteditem)).into()
}
unsafe extern "system" fn CommandLinkClicked<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwfieldid: u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::CommandLinkClicked(this, core::mem::transmute_copy(&dwfieldid)).into()
}
unsafe extern "system" fn GetSerialization<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpgsr: *mut CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE, pcpcs: *mut CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION, ppszoptionalstatustext: *mut windows_core::PWSTR, pcpsioptionalstatusicon: *mut CREDENTIAL_PROVIDER_STATUS_ICON) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::GetSerialization(this, core::mem::transmute_copy(&pcpgsr), core::mem::transmute_copy(&pcpcs), core::mem::transmute_copy(&ppszoptionalstatustext), core::mem::transmute_copy(&pcpsioptionalstatusicon)).into()
}
unsafe extern "system" fn ReportResult<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ntsstatus: super::super::Foundation::NTSTATUS, ntssubstatus: super::super::Foundation::NTSTATUS, ppszoptionalstatustext: *mut windows_core::PWSTR, pcpsioptionalstatusicon: *mut CREDENTIAL_PROVIDER_STATUS_ICON) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredential_Impl::ReportResult(this, core::mem::transmute_copy(&ntsstatus), core::mem::transmute_copy(&ntssubstatus), core::mem::transmute_copy(&ppszoptionalstatustext), core::mem::transmute_copy(&pcpsioptionalstatusicon)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Advise: Advise::<Identity, OFFSET>,
UnAdvise: UnAdvise::<Identity, OFFSET>,
SetSelected: SetSelected::<Identity, OFFSET>,
SetDeselected: SetDeselected::<Identity, OFFSET>,
GetFieldState: GetFieldState::<Identity, OFFSET>,
GetStringValue: GetStringValue::<Identity, OFFSET>,
GetBitmapValue: GetBitmapValue::<Identity, OFFSET>,
GetCheckboxValue: GetCheckboxValue::<Identity, OFFSET>,
GetSubmitButtonValue: GetSubmitButtonValue::<Identity, OFFSET>,
GetComboBoxValueCount: GetComboBoxValueCount::<Identity, OFFSET>,
GetComboBoxValueAt: GetComboBoxValueAt::<Identity, OFFSET>,
SetStringValue: SetStringValue::<Identity, OFFSET>,
SetCheckboxValue: SetCheckboxValue::<Identity, OFFSET>,
SetComboBoxSelectedValue: SetComboBoxSelectedValue::<Identity, OFFSET>,
CommandLinkClicked: CommandLinkClicked::<Identity, OFFSET>,
GetSerialization: GetSerialization::<Identity, OFFSET>,
ReportResult: ReportResult::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderCredential as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait ICredentialProviderCredential2_Impl: Sized + ICredentialProviderCredential_Impl {
fn GetUserSid(&self) -> windows_core::Result<windows_core::PWSTR>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for ICredentialProviderCredential2 {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ICredentialProviderCredential2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderCredential2_Vtbl
where
Identity: ICredentialProviderCredential2_Impl,
{
unsafe extern "system" fn GetUserSid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredential2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredential2_Impl::GetUserSid(this) {
Ok(ok__) => {
sid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: ICredentialProviderCredential_Vtbl::new::<Identity, OFFSET>(), GetUserSid: GetUserSid::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderCredential2 as windows_core::Interface>::IID || iid == &<ICredentialProviderCredential as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait ICredentialProviderCredentialEvents_Impl: Sized {
fn SetFieldState(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, cpfs: CREDENTIAL_PROVIDER_FIELD_STATE) -> windows_core::Result<()>;
fn SetFieldInteractiveState(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, cpfis: CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE) -> windows_core::Result<()>;
fn SetFieldString(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, psz: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFieldCheckbox(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, bchecked: super::super::Foundation::BOOL, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFieldBitmap(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, hbmp: super::super::Graphics::Gdi::HBITMAP) -> windows_core::Result<()>;
fn SetFieldComboBoxSelectedItem(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, dwselecteditem: u32) -> windows_core::Result<()>;
fn DeleteFieldComboBoxItem(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, dwitem: u32) -> windows_core::Result<()>;
fn AppendFieldComboBoxItem(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, pszitem: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFieldSubmitButton(&self, pcpc: Option<&ICredentialProviderCredential>, dwfieldid: u32, dwadjacentto: u32) -> windows_core::Result<()>;
fn OnCreatingWindow(&self) -> windows_core::Result<super::super::Foundation::HWND>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for ICredentialProviderCredentialEvents {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ICredentialProviderCredentialEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderCredentialEvents_Vtbl
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
unsafe extern "system" fn SetFieldState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, cpfs: CREDENTIAL_PROVIDER_FIELD_STATE) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldState(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&cpfs)).into()
}
unsafe extern "system" fn SetFieldInteractiveState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, cpfis: CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldInteractiveState(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&cpfis)).into()
}
unsafe extern "system" fn SetFieldString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, psz: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldString(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute(&psz)).into()
}
unsafe extern "system" fn SetFieldCheckbox<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, bchecked: super::super::Foundation::BOOL, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldCheckbox(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&bchecked), core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn SetFieldBitmap<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, hbmp: super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldBitmap(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&hbmp)).into()
}
unsafe extern "system" fn SetFieldComboBoxSelectedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, dwselecteditem: u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldComboBoxSelectedItem(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&dwselecteditem)).into()
}
unsafe extern "system" fn DeleteFieldComboBoxItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, dwitem: u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::DeleteFieldComboBoxItem(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&dwitem)).into()
}
unsafe extern "system" fn AppendFieldComboBoxItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, pszitem: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::AppendFieldComboBoxItem(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute(&pszitem)).into()
}
unsafe extern "system" fn SetFieldSubmitButton<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpc: *mut core::ffi::c_void, dwfieldid: u32, dwadjacentto: u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents_Impl::SetFieldSubmitButton(this, windows_core::from_raw_borrowed(&pcpc), core::mem::transmute_copy(&dwfieldid), core::mem::transmute_copy(&dwadjacentto)).into()
}
unsafe extern "system" fn OnCreatingWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phwndowner: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredentialEvents_Impl::OnCreatingWindow(this) {
Ok(ok__) => {
phwndowner.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetFieldState: SetFieldState::<Identity, OFFSET>,
SetFieldInteractiveState: SetFieldInteractiveState::<Identity, OFFSET>,
SetFieldString: SetFieldString::<Identity, OFFSET>,
SetFieldCheckbox: SetFieldCheckbox::<Identity, OFFSET>,
SetFieldBitmap: SetFieldBitmap::<Identity, OFFSET>,
SetFieldComboBoxSelectedItem: SetFieldComboBoxSelectedItem::<Identity, OFFSET>,
DeleteFieldComboBoxItem: DeleteFieldComboBoxItem::<Identity, OFFSET>,
AppendFieldComboBoxItem: AppendFieldComboBoxItem::<Identity, OFFSET>,
SetFieldSubmitButton: SetFieldSubmitButton::<Identity, OFFSET>,
OnCreatingWindow: OnCreatingWindow::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderCredentialEvents as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait ICredentialProviderCredentialEvents2_Impl: Sized + ICredentialProviderCredentialEvents_Impl {
fn BeginFieldUpdates(&self) -> windows_core::Result<()>;
fn EndFieldUpdates(&self) -> windows_core::Result<()>;
fn SetFieldOptions(&self, credential: Option<&ICredentialProviderCredential>, fieldid: u32, options: CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for ICredentialProviderCredentialEvents2 {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ICredentialProviderCredentialEvents2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderCredentialEvents2_Vtbl
where
Identity: ICredentialProviderCredentialEvents2_Impl,
{
unsafe extern "system" fn BeginFieldUpdates<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents2_Impl::BeginFieldUpdates(this).into()
}
unsafe extern "system" fn EndFieldUpdates<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents2_Impl::EndFieldUpdates(this).into()
}
unsafe extern "system" fn SetFieldOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, credential: *mut core::ffi::c_void, fieldid: u32, options: CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialEvents2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderCredentialEvents2_Impl::SetFieldOptions(this, windows_core::from_raw_borrowed(&credential), core::mem::transmute_copy(&fieldid), core::mem::transmute_copy(&options)).into()
}
Self {
base__: ICredentialProviderCredentialEvents_Vtbl::new::<Identity, OFFSET>(),
BeginFieldUpdates: BeginFieldUpdates::<Identity, OFFSET>,
EndFieldUpdates: EndFieldUpdates::<Identity, OFFSET>,
SetFieldOptions: SetFieldOptions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderCredentialEvents2 as windows_core::Interface>::IID || iid == &<ICredentialProviderCredentialEvents as windows_core::Interface>::IID
}
}
pub trait ICredentialProviderCredentialWithFieldOptions_Impl: Sized {
fn GetFieldOptions(&self, fieldid: u32) -> windows_core::Result<CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS>;
}
impl windows_core::RuntimeName for ICredentialProviderCredentialWithFieldOptions {}
impl ICredentialProviderCredentialWithFieldOptions_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderCredentialWithFieldOptions_Vtbl
where
Identity: ICredentialProviderCredentialWithFieldOptions_Impl,
{
unsafe extern "system" fn GetFieldOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fieldid: u32, options: *mut CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS) -> windows_core::HRESULT
where
Identity: ICredentialProviderCredentialWithFieldOptions_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderCredentialWithFieldOptions_Impl::GetFieldOptions(this, core::mem::transmute_copy(&fieldid)) {
Ok(ok__) => {
options.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetFieldOptions: GetFieldOptions::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderCredentialWithFieldOptions as windows_core::Interface>::IID
}
}
pub trait ICredentialProviderEvents_Impl: Sized {
fn CredentialsChanged(&self, upadvisecontext: usize) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ICredentialProviderEvents {}
impl ICredentialProviderEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderEvents_Vtbl
where
Identity: ICredentialProviderEvents_Impl,
{
unsafe extern "system" fn CredentialsChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, upadvisecontext: usize) -> windows_core::HRESULT
where
Identity: ICredentialProviderEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderEvents_Impl::CredentialsChanged(this, core::mem::transmute_copy(&upadvisecontext)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CredentialsChanged: CredentialsChanged::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderEvents as windows_core::Interface>::IID
}
}
pub trait ICredentialProviderFilter_Impl: Sized {
fn Filter(&self, cpus: CREDENTIAL_PROVIDER_USAGE_SCENARIO, dwflags: u32, rgclsidproviders: *const windows_core::GUID, rgballow: *mut super::super::Foundation::BOOL, cproviders: u32) -> windows_core::Result<()>;
fn UpdateRemoteCredential(&self, pcpcsin: *const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION, pcpcsout: *mut CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ICredentialProviderFilter {}
impl ICredentialProviderFilter_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderFilter_Vtbl
where
Identity: ICredentialProviderFilter_Impl,
{
unsafe extern "system" fn Filter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cpus: CREDENTIAL_PROVIDER_USAGE_SCENARIO, dwflags: u32, rgclsidproviders: *const windows_core::GUID, rgballow: *mut super::super::Foundation::BOOL, cproviders: u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderFilter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderFilter_Impl::Filter(this, core::mem::transmute_copy(&cpus), core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&rgclsidproviders), core::mem::transmute_copy(&rgballow), core::mem::transmute_copy(&cproviders)).into()
}
unsafe extern "system" fn UpdateRemoteCredential<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpcsin: *const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION, pcpcsout: *mut CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION) -> windows_core::HRESULT
where
Identity: ICredentialProviderFilter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderFilter_Impl::UpdateRemoteCredential(this, core::mem::transmute_copy(&pcpcsin), core::mem::transmute_copy(&pcpcsout)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Filter: Filter::<Identity, OFFSET>,
UpdateRemoteCredential: UpdateRemoteCredential::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderFilter as windows_core::Interface>::IID
}
}
pub trait ICredentialProviderSetUserArray_Impl: Sized {
fn SetUserArray(&self, users: Option<&ICredentialProviderUserArray>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ICredentialProviderSetUserArray {}
impl ICredentialProviderSetUserArray_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderSetUserArray_Vtbl
where
Identity: ICredentialProviderSetUserArray_Impl,
{
unsafe extern "system" fn SetUserArray<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, users: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderSetUserArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderSetUserArray_Impl::SetUserArray(this, windows_core::from_raw_borrowed(&users)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetUserArray: SetUserArray::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderSetUserArray as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait ICredentialProviderUser_Impl: Sized {
fn GetSid(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetProviderID(&self) -> windows_core::Result<windows_core::GUID>;
fn GetStringValue(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::PWSTR>;
fn GetValue(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::PROPVARIANT>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for ICredentialProviderUser {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl ICredentialProviderUser_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderUser_Vtbl
where
Identity: ICredentialProviderUser_Impl,
{
unsafe extern "system" fn GetSid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderUser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUser_Impl::GetSid(this) {
Ok(ok__) => {
sid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProviderID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, providerid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: ICredentialProviderUser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUser_Impl::GetProviderID(this) {
Ok(ok__) => {
providerid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetStringValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, stringvalue: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ICredentialProviderUser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUser_Impl::GetStringValue(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
stringvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, value: *mut core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: ICredentialProviderUser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUser_Impl::GetValue(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSid: GetSid::<Identity, OFFSET>,
GetProviderID: GetProviderID::<Identity, OFFSET>,
GetStringValue: GetStringValue::<Identity, OFFSET>,
GetValue: GetValue::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderUser as windows_core::Interface>::IID
}
}
pub trait ICredentialProviderUserArray_Impl: Sized {
fn SetProviderFilter(&self, guidprovidertofilterto: *const windows_core::GUID) -> windows_core::Result<()>;
fn GetAccountOptions(&self) -> windows_core::Result<CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS>;
fn GetCount(&self) -> windows_core::Result<u32>;
fn GetAt(&self, userindex: u32) -> windows_core::Result<ICredentialProviderUser>;
}
impl windows_core::RuntimeName for ICredentialProviderUserArray {}
impl ICredentialProviderUserArray_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICredentialProviderUserArray_Vtbl
where
Identity: ICredentialProviderUserArray_Impl,
{
unsafe extern "system" fn SetProviderFilter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, guidprovidertofilterto: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ICredentialProviderUserArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICredentialProviderUserArray_Impl::SetProviderFilter(this, core::mem::transmute_copy(&guidprovidertofilterto)).into()
}
unsafe extern "system" fn GetAccountOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, credentialprovideraccountoptions: *mut CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS) -> windows_core::HRESULT
where
Identity: ICredentialProviderUserArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUserArray_Impl::GetAccountOptions(this) {
Ok(ok__) => {
credentialprovideraccountoptions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, usercount: *mut u32) -> windows_core::HRESULT
where
Identity: ICredentialProviderUserArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUserArray_Impl::GetCount(this) {
Ok(ok__) => {
usercount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, userindex: u32, user: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICredentialProviderUserArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ICredentialProviderUserArray_Impl::GetAt(this, core::mem::transmute_copy(&userindex)) {
Ok(ok__) => {
user.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetProviderFilter: SetProviderFilter::<Identity, OFFSET>,
GetAccountOptions: GetAccountOptions::<Identity, OFFSET>,
GetCount: GetCount::<Identity, OFFSET>,
GetAt: GetAt::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICredentialProviderUserArray as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait ICurrentItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for ICurrentItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl ICurrentItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICurrentItem_Vtbl
where
Identity: ICurrentItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICurrentItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
pub trait ICurrentWorkingDirectory_Impl: Sized {
fn GetDirectory(&self, pwzpath: windows_core::PWSTR, cchsize: u32) -> windows_core::Result<()>;
fn SetDirectory(&self, pwzpath: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ICurrentWorkingDirectory {}
impl ICurrentWorkingDirectory_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICurrentWorkingDirectory_Vtbl
where
Identity: ICurrentWorkingDirectory_Impl,
{
unsafe extern "system" fn GetDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzpath: windows_core::PWSTR, cchsize: u32) -> windows_core::HRESULT
where
Identity: ICurrentWorkingDirectory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICurrentWorkingDirectory_Impl::GetDirectory(this, core::mem::transmute_copy(&pwzpath), core::mem::transmute_copy(&cchsize)).into()
}
unsafe extern "system" fn SetDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzpath: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICurrentWorkingDirectory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICurrentWorkingDirectory_Impl::SetDirectory(this, core::mem::transmute(&pwzpath)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDirectory: GetDirectory::<Identity, OFFSET>,
SetDirectory: SetDirectory::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICurrentWorkingDirectory as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait ICustomDestinationList_Impl: Sized {
fn SetAppID(&self, pszappid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn BeginList(&self, pcminslots: *mut u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn AppendCategory(&self, pszcategory: &windows_core::PCWSTR, poa: Option<&Common::IObjectArray>) -> windows_core::Result<()>;
fn AppendKnownCategory(&self, category: KNOWNDESTCATEGORY) -> windows_core::Result<()>;
fn AddUserTasks(&self, poa: Option<&Common::IObjectArray>) -> windows_core::Result<()>;
fn CommitList(&self) -> windows_core::Result<()>;
fn GetRemovedDestinations(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn DeleteList(&self, pszappid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn AbortList(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for ICustomDestinationList {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl ICustomDestinationList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ICustomDestinationList_Vtbl
where
Identity: ICustomDestinationList_Impl,
{
unsafe extern "system" fn SetAppID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::SetAppID(this, core::mem::transmute(&pszappid)).into()
}
unsafe extern "system" fn BeginList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcminslots: *mut u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::BeginList(this, core::mem::transmute_copy(&pcminslots), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn AppendCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszcategory: windows_core::PCWSTR, poa: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::AppendCategory(this, core::mem::transmute(&pszcategory), windows_core::from_raw_borrowed(&poa)).into()
}
unsafe extern "system" fn AppendKnownCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, category: KNOWNDESTCATEGORY) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::AppendKnownCategory(this, core::mem::transmute_copy(&category)).into()
}
unsafe extern "system" fn AddUserTasks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, poa: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::AddUserTasks(this, windows_core::from_raw_borrowed(&poa)).into()
}
unsafe extern "system" fn CommitList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::CommitList(this).into()
}
unsafe extern "system" fn GetRemovedDestinations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::GetRemovedDestinations(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn DeleteList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::DeleteList(this, core::mem::transmute(&pszappid)).into()
}
unsafe extern "system" fn AbortList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ICustomDestinationList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ICustomDestinationList_Impl::AbortList(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetAppID: SetAppID::<Identity, OFFSET>,
BeginList: BeginList::<Identity, OFFSET>,
AppendCategory: AppendCategory::<Identity, OFFSET>,
AppendKnownCategory: AppendKnownCategory::<Identity, OFFSET>,
AddUserTasks: AddUserTasks::<Identity, OFFSET>,
CommitList: CommitList::<Identity, OFFSET>,
GetRemovedDestinations: GetRemovedDestinations::<Identity, OFFSET>,
DeleteList: DeleteList::<Identity, OFFSET>,
AbortList: AbortList::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ICustomDestinationList as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IDataObjectAsyncCapability_Impl: Sized {
fn SetAsyncMode(&self, fdoopasync: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetAsyncMode(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn StartOperation(&self, pbcreserved: Option<&super::super::System::Com::IBindCtx>) -> windows_core::Result<()>;
fn InOperation(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn EndOperation(&self, hresult: windows_core::HRESULT, pbcreserved: Option<&super::super::System::Com::IBindCtx>, dweffects: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IDataObjectAsyncCapability {}
#[cfg(feature = "Win32_System_Com")]
impl IDataObjectAsyncCapability_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataObjectAsyncCapability_Vtbl
where
Identity: IDataObjectAsyncCapability_Impl,
{
unsafe extern "system" fn SetAsyncMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fdoopasync: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDataObjectAsyncCapability_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataObjectAsyncCapability_Impl::SetAsyncMode(this, core::mem::transmute_copy(&fdoopasync)).into()
}
unsafe extern "system" fn GetAsyncMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfisopasync: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDataObjectAsyncCapability_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataObjectAsyncCapability_Impl::GetAsyncMode(this) {
Ok(ok__) => {
pfisopasync.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn StartOperation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbcreserved: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataObjectAsyncCapability_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataObjectAsyncCapability_Impl::StartOperation(this, windows_core::from_raw_borrowed(&pbcreserved)).into()
}
unsafe extern "system" fn InOperation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfinasyncop: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDataObjectAsyncCapability_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataObjectAsyncCapability_Impl::InOperation(this) {
Ok(ok__) => {
pfinasyncop.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EndOperation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hresult: windows_core::HRESULT, pbcreserved: *mut core::ffi::c_void, dweffects: u32) -> windows_core::HRESULT
where
Identity: IDataObjectAsyncCapability_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataObjectAsyncCapability_Impl::EndOperation(this, core::mem::transmute_copy(&hresult), windows_core::from_raw_borrowed(&pbcreserved), core::mem::transmute_copy(&dweffects)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetAsyncMode: SetAsyncMode::<Identity, OFFSET>,
GetAsyncMode: GetAsyncMode::<Identity, OFFSET>,
StartOperation: StartOperation::<Identity, OFFSET>,
InOperation: InOperation::<Identity, OFFSET>,
EndOperation: EndOperation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataObjectAsyncCapability as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IDataObjectProvider_Impl: Sized {
fn GetDataObject(&self) -> windows_core::Result<super::super::System::Com::IDataObject>;
fn SetDataObject(&self, dataobject: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IDataObjectProvider {}
#[cfg(feature = "Win32_System_Com")]
impl IDataObjectProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataObjectProvider_Vtbl
where
Identity: IDataObjectProvider_Impl,
{
unsafe extern "system" fn GetDataObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dataobject: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataObjectProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDataObjectProvider_Impl::GetDataObject(this) {
Ok(ok__) => {
dataobject.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDataObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dataobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataObjectProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataObjectProvider_Impl::SetDataObject(this, windows_core::from_raw_borrowed(&dataobject)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDataObject: GetDataObject::<Identity, OFFSET>,
SetDataObject: SetDataObject::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataObjectProvider as windows_core::Interface>::IID
}
}
pub trait IDataTransferManagerInterop_Impl: Sized {
fn GetForWindow(&self, appwindow: super::super::Foundation::HWND, riid: *const windows_core::GUID, datatransfermanager: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn ShowShareUIForWindow(&self, appwindow: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDataTransferManagerInterop {}
impl IDataTransferManagerInterop_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDataTransferManagerInterop_Vtbl
where
Identity: IDataTransferManagerInterop_Impl,
{
unsafe extern "system" fn GetForWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, appwindow: super::super::Foundation::HWND, riid: *const windows_core::GUID, datatransfermanager: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDataTransferManagerInterop_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataTransferManagerInterop_Impl::GetForWindow(this, core::mem::transmute_copy(&appwindow), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&datatransfermanager)).into()
}
unsafe extern "system" fn ShowShareUIForWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, appwindow: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IDataTransferManagerInterop_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDataTransferManagerInterop_Impl::ShowShareUIForWindow(this, core::mem::transmute_copy(&appwindow)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetForWindow: GetForWindow::<Identity, OFFSET>,
ShowShareUIForWindow: ShowShareUIForWindow::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDataTransferManagerInterop as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Registry")]
pub trait IDefaultExtractIconInit_Impl: Sized {
fn SetFlags(&self, uflags: u32) -> windows_core::Result<()>;
fn SetKey(&self, hkey: super::super::System::Registry::HKEY) -> windows_core::Result<()>;
fn SetNormalIcon(&self, pszfile: &windows_core::PCWSTR, iicon: i32) -> windows_core::Result<()>;
fn SetOpenIcon(&self, pszfile: &windows_core::PCWSTR, iicon: i32) -> windows_core::Result<()>;
fn SetShortcutIcon(&self, pszfile: &windows_core::PCWSTR, iicon: i32) -> windows_core::Result<()>;
fn SetDefaultIcon(&self, pszfile: &windows_core::PCWSTR, iicon: i32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Registry")]
impl windows_core::RuntimeName for IDefaultExtractIconInit {}
#[cfg(feature = "Win32_System_Registry")]
impl IDefaultExtractIconInit_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDefaultExtractIconInit_Vtbl
where
Identity: IDefaultExtractIconInit_Impl,
{
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uflags: u32) -> windows_core::HRESULT
where
Identity: IDefaultExtractIconInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultExtractIconInit_Impl::SetFlags(this, core::mem::transmute_copy(&uflags)).into()
}
unsafe extern "system" fn SetKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hkey: super::super::System::Registry::HKEY) -> windows_core::HRESULT
where
Identity: IDefaultExtractIconInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultExtractIconInit_Impl::SetKey(this, core::mem::transmute_copy(&hkey)).into()
}
unsafe extern "system" fn SetNormalIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCWSTR, iicon: i32) -> windows_core::HRESULT
where
Identity: IDefaultExtractIconInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultExtractIconInit_Impl::SetNormalIcon(this, core::mem::transmute(&pszfile), core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn SetOpenIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCWSTR, iicon: i32) -> windows_core::HRESULT
where
Identity: IDefaultExtractIconInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultExtractIconInit_Impl::SetOpenIcon(this, core::mem::transmute(&pszfile), core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn SetShortcutIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCWSTR, iicon: i32) -> windows_core::HRESULT
where
Identity: IDefaultExtractIconInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultExtractIconInit_Impl::SetShortcutIcon(this, core::mem::transmute(&pszfile), core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn SetDefaultIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCWSTR, iicon: i32) -> windows_core::HRESULT
where
Identity: IDefaultExtractIconInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultExtractIconInit_Impl::SetDefaultIcon(this, core::mem::transmute(&pszfile), core::mem::transmute_copy(&iicon)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetFlags: SetFlags::<Identity, OFFSET>,
SetKey: SetKey::<Identity, OFFSET>,
SetNormalIcon: SetNormalIcon::<Identity, OFFSET>,
SetOpenIcon: SetOpenIcon::<Identity, OFFSET>,
SetShortcutIcon: SetShortcutIcon::<Identity, OFFSET>,
SetDefaultIcon: SetDefaultIcon::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDefaultExtractIconInit as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))]
pub trait IDefaultFolderMenuInitialize_Impl: Sized {
fn Initialize(&self, hwnd: super::super::Foundation::HWND, pcmcb: Option<&IContextMenuCB>, pidlfolder: *const Common::ITEMIDLIST, psf: Option<&IShellFolder>, cidl: u32, apidl: *const *const Common::ITEMIDLIST, punkassociation: Option<&windows_core::IUnknown>, ckeys: u32, akeys: *const super::super::System::Registry::HKEY) -> windows_core::Result<()>;
fn SetMenuRestrictions(&self, dfmrvalues: DEFAULT_FOLDER_MENU_RESTRICTIONS) -> windows_core::Result<()>;
fn GetMenuRestrictions(&self, dfmrmask: DEFAULT_FOLDER_MENU_RESTRICTIONS) -> windows_core::Result<DEFAULT_FOLDER_MENU_RESTRICTIONS>;
fn SetHandlerClsid(&self, rclsid: *const windows_core::GUID) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IDefaultFolderMenuInitialize {}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))]
impl IDefaultFolderMenuInitialize_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDefaultFolderMenuInitialize_Vtbl
where
Identity: IDefaultFolderMenuInitialize_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, pcmcb: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST, psf: *mut core::ffi::c_void, cidl: u32, apidl: *const *const Common::ITEMIDLIST, punkassociation: *mut core::ffi::c_void, ckeys: u32, akeys: *const super::super::System::Registry::HKEY) -> windows_core::HRESULT
where
Identity: IDefaultFolderMenuInitialize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultFolderMenuInitialize_Impl::Initialize(this, core::mem::transmute_copy(&hwnd), windows_core::from_raw_borrowed(&pcmcb), core::mem::transmute_copy(&pidlfolder), windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&cidl), core::mem::transmute_copy(&apidl), windows_core::from_raw_borrowed(&punkassociation), core::mem::transmute_copy(&ckeys), core::mem::transmute_copy(&akeys)).into()
}
unsafe extern "system" fn SetMenuRestrictions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dfmrvalues: DEFAULT_FOLDER_MENU_RESTRICTIONS) -> windows_core::HRESULT
where
Identity: IDefaultFolderMenuInitialize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultFolderMenuInitialize_Impl::SetMenuRestrictions(this, core::mem::transmute_copy(&dfmrvalues)).into()
}
unsafe extern "system" fn GetMenuRestrictions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dfmrmask: DEFAULT_FOLDER_MENU_RESTRICTIONS, pdfmrvalues: *mut DEFAULT_FOLDER_MENU_RESTRICTIONS) -> windows_core::HRESULT
where
Identity: IDefaultFolderMenuInitialize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDefaultFolderMenuInitialize_Impl::GetMenuRestrictions(this, core::mem::transmute_copy(&dfmrmask)) {
Ok(ok__) => {
pdfmrvalues.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHandlerClsid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rclsid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IDefaultFolderMenuInitialize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDefaultFolderMenuInitialize_Impl::SetHandlerClsid(this, core::mem::transmute_copy(&rclsid)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
SetMenuRestrictions: SetMenuRestrictions::<Identity, OFFSET>,
GetMenuRestrictions: GetMenuRestrictions::<Identity, OFFSET>,
SetHandlerClsid: SetHandlerClsid::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDefaultFolderMenuInitialize as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IDelegateFolder_Impl: Sized {
fn SetItemAlloc(&self, pmalloc: Option<&super::super::System::Com::IMalloc>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IDelegateFolder {}
#[cfg(feature = "Win32_System_Com")]
impl IDelegateFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDelegateFolder_Vtbl
where
Identity: IDelegateFolder_Impl,
{
unsafe extern "system" fn SetItemAlloc<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmalloc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDelegateFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDelegateFolder_Impl::SetItemAlloc(this, windows_core::from_raw_borrowed(&pmalloc)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetItemAlloc: SetItemAlloc::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDelegateFolder as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IDelegateItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IDelegateItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IDelegateItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDelegateItem_Vtbl
where
Identity: IDelegateItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDelegateItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDeskBand_Impl: Sized + IDockingWindow_Impl {
fn GetBandInfo(&self, dwbandid: u32, dwviewmode: u32, pdbi: *mut DESKBANDINFO) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDeskBand {}
#[cfg(feature = "Win32_System_Ole")]
impl IDeskBand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDeskBand_Vtbl
where
Identity: IDeskBand_Impl,
{
unsafe extern "system" fn GetBandInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwbandid: u32, dwviewmode: u32, pdbi: *mut DESKBANDINFO) -> windows_core::HRESULT
where
Identity: IDeskBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBand_Impl::GetBandInfo(this, core::mem::transmute_copy(&dwbandid), core::mem::transmute_copy(&dwviewmode), core::mem::transmute_copy(&pdbi)).into()
}
Self { base__: IDockingWindow_Vtbl::new::<Identity, OFFSET>(), GetBandInfo: GetBandInfo::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDeskBand as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID || iid == &<IDockingWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDeskBand2_Impl: Sized + IDeskBand_Impl {
fn CanRenderComposited(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn SetCompositionState(&self, fcompositionenabled: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetCompositionState(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDeskBand2 {}
#[cfg(feature = "Win32_System_Ole")]
impl IDeskBand2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDeskBand2_Vtbl
where
Identity: IDeskBand2_Impl,
{
unsafe extern "system" fn CanRenderComposited<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfcanrendercomposited: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDeskBand2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDeskBand2_Impl::CanRenderComposited(this) {
Ok(ok__) => {
pfcanrendercomposited.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCompositionState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fcompositionenabled: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDeskBand2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBand2_Impl::SetCompositionState(this, core::mem::transmute_copy(&fcompositionenabled)).into()
}
unsafe extern "system" fn GetCompositionState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfcompositionenabled: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDeskBand2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDeskBand2_Impl::GetCompositionState(this) {
Ok(ok__) => {
pfcompositionenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IDeskBand_Vtbl::new::<Identity, OFFSET>(),
CanRenderComposited: CanRenderComposited::<Identity, OFFSET>,
SetCompositionState: SetCompositionState::<Identity, OFFSET>,
GetCompositionState: GetCompositionState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDeskBand2 as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID || iid == &<IDockingWindow as windows_core::Interface>::IID || iid == &<IDeskBand as windows_core::Interface>::IID
}
}
pub trait IDeskBandInfo_Impl: Sized {
fn GetDefaultBandWidth(&self, dwbandid: u32, dwviewmode: u32) -> windows_core::Result<i32>;
}
impl windows_core::RuntimeName for IDeskBandInfo {}
impl IDeskBandInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDeskBandInfo_Vtbl
where
Identity: IDeskBandInfo_Impl,
{
unsafe extern "system" fn GetDefaultBandWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwbandid: u32, dwviewmode: u32, pnwidth: *mut i32) -> windows_core::HRESULT
where
Identity: IDeskBandInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDeskBandInfo_Impl::GetDefaultBandWidth(this, core::mem::transmute_copy(&dwbandid), core::mem::transmute_copy(&dwviewmode)) {
Ok(ok__) => {
pnwidth.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetDefaultBandWidth: GetDefaultBandWidth::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDeskBandInfo as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDeskBar_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn SetClient(&self, punkclient: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn GetClient(&self) -> windows_core::Result<windows_core::IUnknown>;
fn OnPosRectChangeDB(&self, prc: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDeskBar {}
#[cfg(feature = "Win32_System_Ole")]
impl IDeskBar_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDeskBar_Vtbl
where
Identity: IDeskBar_Impl,
{
unsafe extern "system" fn SetClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkclient: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDeskBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBar_Impl::SetClient(this, windows_core::from_raw_borrowed(&punkclient)).into()
}
unsafe extern "system" fn GetClient<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppunkclient: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDeskBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDeskBar_Impl::GetClient(this) {
Ok(ok__) => {
ppunkclient.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnPosRectChangeDB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prc: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IDeskBar_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBar_Impl::OnPosRectChangeDB(this, core::mem::transmute_copy(&prc)).into()
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
SetClient: SetClient::<Identity, OFFSET>,
GetClient: GetClient::<Identity, OFFSET>,
OnPosRectChangeDB: OnPosRectChangeDB::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDeskBar as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDeskBarClient_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn SetDeskBarSite(&self, punksite: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn SetModeDBC(&self, dwmode: u32) -> windows_core::Result<()>;
fn UIActivateDBC(&self, dwstate: u32) -> windows_core::Result<()>;
fn GetSize(&self, dwwhich: u32) -> windows_core::Result<super::super::Foundation::RECT>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDeskBarClient {}
#[cfg(feature = "Win32_System_Ole")]
impl IDeskBarClient_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDeskBarClient_Vtbl
where
Identity: IDeskBarClient_Impl,
{
unsafe extern "system" fn SetDeskBarSite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punksite: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDeskBarClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBarClient_Impl::SetDeskBarSite(this, windows_core::from_raw_borrowed(&punksite)).into()
}
unsafe extern "system" fn SetModeDBC<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwmode: u32) -> windows_core::HRESULT
where
Identity: IDeskBarClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBarClient_Impl::SetModeDBC(this, core::mem::transmute_copy(&dwmode)).into()
}
unsafe extern "system" fn UIActivateDBC<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwstate: u32) -> windows_core::HRESULT
where
Identity: IDeskBarClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDeskBarClient_Impl::UIActivateDBC(this, core::mem::transmute_copy(&dwstate)).into()
}
unsafe extern "system" fn GetSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwwhich: u32, prc: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IDeskBarClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDeskBarClient_Impl::GetSize(this, core::mem::transmute_copy(&dwwhich)) {
Ok(ok__) => {
prc.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
SetDeskBarSite: SetDeskBarSite::<Identity, OFFSET>,
SetModeDBC: SetModeDBC::<Identity, OFFSET>,
UIActivateDBC: UIActivateDBC::<Identity, OFFSET>,
GetSize: GetSize::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDeskBarClient as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
pub trait IDesktopGadget_Impl: Sized {
fn RunGadget(&self, gadgetpath: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDesktopGadget {}
impl IDesktopGadget_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDesktopGadget_Vtbl
where
Identity: IDesktopGadget_Impl,
{
unsafe extern "system" fn RunGadget<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, gadgetpath: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDesktopGadget_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopGadget_Impl::RunGadget(this, core::mem::transmute(&gadgetpath)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), RunGadget: RunGadget::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDesktopGadget as windows_core::Interface>::IID
}
}
pub trait IDesktopWallpaper_Impl: Sized {
fn SetWallpaper(&self, monitorid: &windows_core::PCWSTR, wallpaper: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetWallpaper(&self, monitorid: &windows_core::PCWSTR) -> windows_core::Result<windows_core::PWSTR>;
fn GetMonitorDevicePathAt(&self, monitorindex: u32) -> windows_core::Result<windows_core::PWSTR>;
fn GetMonitorDevicePathCount(&self) -> windows_core::Result<u32>;
fn GetMonitorRECT(&self, monitorid: &windows_core::PCWSTR) -> windows_core::Result<super::super::Foundation::RECT>;
fn SetBackgroundColor(&self, color: super::super::Foundation::COLORREF) -> windows_core::Result<()>;
fn GetBackgroundColor(&self) -> windows_core::Result<super::super::Foundation::COLORREF>;
fn SetPosition(&self, position: DESKTOP_WALLPAPER_POSITION) -> windows_core::Result<()>;
fn GetPosition(&self) -> windows_core::Result<DESKTOP_WALLPAPER_POSITION>;
fn SetSlideshow(&self, items: Option<&IShellItemArray>) -> windows_core::Result<()>;
fn GetSlideshow(&self) -> windows_core::Result<IShellItemArray>;
fn SetSlideshowOptions(&self, options: DESKTOP_SLIDESHOW_OPTIONS, slideshowtick: u32) -> windows_core::Result<()>;
fn GetSlideshowOptions(&self, options: *mut DESKTOP_SLIDESHOW_OPTIONS, slideshowtick: *mut u32) -> windows_core::Result<()>;
fn AdvanceSlideshow(&self, monitorid: &windows_core::PCWSTR, direction: DESKTOP_SLIDESHOW_DIRECTION) -> windows_core::Result<()>;
fn GetStatus(&self) -> windows_core::Result<DESKTOP_SLIDESHOW_STATE>;
fn Enable(&self, enable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDesktopWallpaper {}
impl IDesktopWallpaper_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDesktopWallpaper_Vtbl
where
Identity: IDesktopWallpaper_Impl,
{
unsafe extern "system" fn SetWallpaper<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, monitorid: windows_core::PCWSTR, wallpaper: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::SetWallpaper(this, core::mem::transmute(&monitorid), core::mem::transmute(&wallpaper)).into()
}
unsafe extern "system" fn GetWallpaper<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, monitorid: windows_core::PCWSTR, wallpaper: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetWallpaper(this, core::mem::transmute(&monitorid)) {
Ok(ok__) => {
wallpaper.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMonitorDevicePathAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, monitorindex: u32, monitorid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetMonitorDevicePathAt(this, core::mem::transmute_copy(&monitorindex)) {
Ok(ok__) => {
monitorid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMonitorDevicePathCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut u32) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetMonitorDevicePathCount(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMonitorRECT<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, monitorid: windows_core::PCWSTR, displayrect: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetMonitorRECT(this, core::mem::transmute(&monitorid)) {
Ok(ok__) => {
displayrect.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetBackgroundColor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, color: super::super::Foundation::COLORREF) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::SetBackgroundColor(this, core::mem::transmute_copy(&color)).into()
}
unsafe extern "system" fn GetBackgroundColor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, color: *mut super::super::Foundation::COLORREF) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetBackgroundColor(this) {
Ok(ok__) => {
color.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, position: DESKTOP_WALLPAPER_POSITION) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::SetPosition(this, core::mem::transmute_copy(&position)).into()
}
unsafe extern "system" fn GetPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, position: *mut DESKTOP_WALLPAPER_POSITION) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetPosition(this) {
Ok(ok__) => {
position.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSlideshow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, items: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::SetSlideshow(this, windows_core::from_raw_borrowed(&items)).into()
}
unsafe extern "system" fn GetSlideshow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, items: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetSlideshow(this) {
Ok(ok__) => {
items.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSlideshowOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: DESKTOP_SLIDESHOW_OPTIONS, slideshowtick: u32) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::SetSlideshowOptions(this, core::mem::transmute_copy(&options), core::mem::transmute_copy(&slideshowtick)).into()
}
unsafe extern "system" fn GetSlideshowOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, options: *mut DESKTOP_SLIDESHOW_OPTIONS, slideshowtick: *mut u32) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::GetSlideshowOptions(this, core::mem::transmute_copy(&options), core::mem::transmute_copy(&slideshowtick)).into()
}
unsafe extern "system" fn AdvanceSlideshow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, monitorid: windows_core::PCWSTR, direction: DESKTOP_SLIDESHOW_DIRECTION) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::AdvanceSlideshow(this, core::mem::transmute(&monitorid), core::mem::transmute_copy(&direction)).into()
}
unsafe extern "system" fn GetStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, state: *mut DESKTOP_SLIDESHOW_STATE) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDesktopWallpaper_Impl::GetStatus(this) {
Ok(ok__) => {
state.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Enable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, enable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDesktopWallpaper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDesktopWallpaper_Impl::Enable(this, core::mem::transmute_copy(&enable)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetWallpaper: SetWallpaper::<Identity, OFFSET>,
GetWallpaper: GetWallpaper::<Identity, OFFSET>,
GetMonitorDevicePathAt: GetMonitorDevicePathAt::<Identity, OFFSET>,
GetMonitorDevicePathCount: GetMonitorDevicePathCount::<Identity, OFFSET>,
GetMonitorRECT: GetMonitorRECT::<Identity, OFFSET>,
SetBackgroundColor: SetBackgroundColor::<Identity, OFFSET>,
GetBackgroundColor: GetBackgroundColor::<Identity, OFFSET>,
SetPosition: SetPosition::<Identity, OFFSET>,
GetPosition: GetPosition::<Identity, OFFSET>,
SetSlideshow: SetSlideshow::<Identity, OFFSET>,
GetSlideshow: GetSlideshow::<Identity, OFFSET>,
SetSlideshowOptions: SetSlideshowOptions::<Identity, OFFSET>,
GetSlideshowOptions: GetSlideshowOptions::<Identity, OFFSET>,
AdvanceSlideshow: AdvanceSlideshow::<Identity, OFFSET>,
GetStatus: GetStatus::<Identity, OFFSET>,
Enable: Enable::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDesktopWallpaper as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IDestinationStreamFactory_Impl: Sized {
fn GetDestinationStream(&self) -> windows_core::Result<super::super::System::Com::IStream>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IDestinationStreamFactory {}
#[cfg(feature = "Win32_System_Com")]
impl IDestinationStreamFactory_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDestinationStreamFactory_Vtbl
where
Identity: IDestinationStreamFactory_Impl,
{
unsafe extern "system" fn GetDestinationStream<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppstm: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDestinationStreamFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDestinationStreamFactory_Impl::GetDestinationStream(this) {
Ok(ok__) => {
ppstm.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetDestinationStream: GetDestinationStream::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDestinationStreamFactory as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IDisplayItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IDisplayItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IDisplayItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDisplayItem_Vtbl
where
Identity: IDisplayItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDisplayItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
pub trait IDocViewSite_Impl: Sized {
fn OnSetTitle(&self, pvtitle: *const windows_core::VARIANT) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IDocViewSite {}
impl IDocViewSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDocViewSite_Vtbl
where
Identity: IDocViewSite_Impl,
{
unsafe extern "system" fn OnSetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvtitle: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IDocViewSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDocViewSite_Impl::OnSetTitle(this, core::mem::transmute_copy(&pvtitle)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnSetTitle: OnSetTitle::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDocViewSite as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDockingWindow_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn ShowDW(&self, fshow: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn CloseDW(&self, dwreserved: u32) -> windows_core::Result<()>;
fn ResizeBorderDW(&self, prcborder: *const super::super::Foundation::RECT, punktoolbarsite: Option<&windows_core::IUnknown>, freserved: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDockingWindow {}
#[cfg(feature = "Win32_System_Ole")]
impl IDockingWindow_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDockingWindow_Vtbl
where
Identity: IDockingWindow_Impl,
{
unsafe extern "system" fn ShowDW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fshow: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDockingWindow_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindow_Impl::ShowDW(this, core::mem::transmute_copy(&fshow)).into()
}
unsafe extern "system" fn CloseDW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwreserved: u32) -> windows_core::HRESULT
where
Identity: IDockingWindow_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindow_Impl::CloseDW(this, core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn ResizeBorderDW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prcborder: *const super::super::Foundation::RECT, punktoolbarsite: *mut core::ffi::c_void, freserved: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDockingWindow_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindow_Impl::ResizeBorderDW(this, core::mem::transmute_copy(&prcborder), windows_core::from_raw_borrowed(&punktoolbarsite), core::mem::transmute_copy(&freserved)).into()
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
ShowDW: ShowDW::<Identity, OFFSET>,
CloseDW: CloseDW::<Identity, OFFSET>,
ResizeBorderDW: ResizeBorderDW::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDockingWindow as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDockingWindowFrame_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn AddToolbar(&self, punksrc: Option<&windows_core::IUnknown>, pwszitem: &windows_core::PCWSTR, dwaddflags: u32) -> windows_core::Result<()>;
fn RemoveToolbar(&self, punksrc: Option<&windows_core::IUnknown>, dwremoveflags: u32) -> windows_core::Result<()>;
fn FindToolbar(&self, pwszitem: &windows_core::PCWSTR, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDockingWindowFrame {}
#[cfg(feature = "Win32_System_Ole")]
impl IDockingWindowFrame_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDockingWindowFrame_Vtbl
where
Identity: IDockingWindowFrame_Impl,
{
unsafe extern "system" fn AddToolbar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punksrc: *mut core::ffi::c_void, pwszitem: windows_core::PCWSTR, dwaddflags: u32) -> windows_core::HRESULT
where
Identity: IDockingWindowFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindowFrame_Impl::AddToolbar(this, windows_core::from_raw_borrowed(&punksrc), core::mem::transmute(&pwszitem), core::mem::transmute_copy(&dwaddflags)).into()
}
unsafe extern "system" fn RemoveToolbar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punksrc: *mut core::ffi::c_void, dwremoveflags: u32) -> windows_core::HRESULT
where
Identity: IDockingWindowFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindowFrame_Impl::RemoveToolbar(this, windows_core::from_raw_borrowed(&punksrc), core::mem::transmute_copy(&dwremoveflags)).into()
}
unsafe extern "system" fn FindToolbar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszitem: windows_core::PCWSTR, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDockingWindowFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindowFrame_Impl::FindToolbar(this, core::mem::transmute(&pwszitem), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
AddToolbar: AddToolbar::<Identity, OFFSET>,
RemoveToolbar: RemoveToolbar::<Identity, OFFSET>,
FindToolbar: FindToolbar::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDockingWindowFrame as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IDockingWindowSite_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn GetBorderDW(&self, punkobj: Option<&windows_core::IUnknown>) -> windows_core::Result<super::super::Foundation::RECT>;
fn RequestBorderSpaceDW(&self, punkobj: Option<&windows_core::IUnknown>, pbw: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
fn SetBorderSpaceDW(&self, punkobj: Option<&windows_core::IUnknown>, pbw: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IDockingWindowSite {}
#[cfg(feature = "Win32_System_Ole")]
impl IDockingWindowSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDockingWindowSite_Vtbl
where
Identity: IDockingWindowSite_Impl,
{
unsafe extern "system" fn GetBorderDW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkobj: *mut core::ffi::c_void, prcborder: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IDockingWindowSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDockingWindowSite_Impl::GetBorderDW(this, windows_core::from_raw_borrowed(&punkobj)) {
Ok(ok__) => {
prcborder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RequestBorderSpaceDW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkobj: *mut core::ffi::c_void, pbw: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IDockingWindowSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindowSite_Impl::RequestBorderSpaceDW(this, windows_core::from_raw_borrowed(&punkobj), core::mem::transmute_copy(&pbw)).into()
}
unsafe extern "system" fn SetBorderSpaceDW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkobj: *mut core::ffi::c_void, pbw: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IDockingWindowSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDockingWindowSite_Impl::SetBorderSpaceDW(this, windows_core::from_raw_borrowed(&punkobj), core::mem::transmute_copy(&pbw)).into()
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
GetBorderDW: GetBorderDW::<Identity, OFFSET>,
RequestBorderSpaceDW: RequestBorderSpaceDW::<Identity, OFFSET>,
SetBorderSpaceDW: SetBorderSpaceDW::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDockingWindowSite as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
pub trait IDragSourceHelper_Impl: Sized {
fn InitializeFromBitmap(&self, pshdi: *const SHDRAGIMAGE, pdataobject: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
fn InitializeFromWindow(&self, hwnd: super::super::Foundation::HWND, ppt: *const super::super::Foundation::POINT, pdataobject: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
impl windows_core::RuntimeName for IDragSourceHelper {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
impl IDragSourceHelper_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDragSourceHelper_Vtbl
where
Identity: IDragSourceHelper_Impl,
{
unsafe extern "system" fn InitializeFromBitmap<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pshdi: *const SHDRAGIMAGE, pdataobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDragSourceHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDragSourceHelper_Impl::InitializeFromBitmap(this, core::mem::transmute_copy(&pshdi), windows_core::from_raw_borrowed(&pdataobject)).into()
}
unsafe extern "system" fn InitializeFromWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, ppt: *const super::super::Foundation::POINT, pdataobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDragSourceHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDragSourceHelper_Impl::InitializeFromWindow(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&ppt), windows_core::from_raw_borrowed(&pdataobject)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitializeFromBitmap: InitializeFromBitmap::<Identity, OFFSET>,
InitializeFromWindow: InitializeFromWindow::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDragSourceHelper as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
pub trait IDragSourceHelper2_Impl: Sized + IDragSourceHelper_Impl {
fn SetFlags(&self, dwflags: u32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
impl windows_core::RuntimeName for IDragSourceHelper2 {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com"))]
impl IDragSourceHelper2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDragSourceHelper2_Vtbl
where
Identity: IDragSourceHelper2_Impl,
{
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IDragSourceHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDragSourceHelper2_Impl::SetFlags(this, core::mem::transmute_copy(&dwflags)).into()
}
Self { base__: IDragSourceHelper_Vtbl::new::<Identity, OFFSET>(), SetFlags: SetFlags::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDragSourceHelper2 as windows_core::Interface>::IID || iid == &<IDragSourceHelper as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IDropTargetHelper_Impl: Sized {
fn DragEnter(&self, hwndtarget: super::super::Foundation::HWND, pdataobject: Option<&super::super::System::Com::IDataObject>, ppt: *const super::super::Foundation::POINT, dweffect: super::super::System::Ole::DROPEFFECT) -> windows_core::Result<()>;
fn DragLeave(&self) -> windows_core::Result<()>;
fn DragOver(&self, ppt: *const super::super::Foundation::POINT, dweffect: super::super::System::Ole::DROPEFFECT) -> windows_core::Result<()>;
fn Drop(&self, pdataobject: Option<&super::super::System::Com::IDataObject>, ppt: *const super::super::Foundation::POINT, dweffect: super::super::System::Ole::DROPEFFECT) -> windows_core::Result<()>;
fn Show(&self, fshow: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl windows_core::RuntimeName for IDropTargetHelper {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IDropTargetHelper_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDropTargetHelper_Vtbl
where
Identity: IDropTargetHelper_Impl,
{
unsafe extern "system" fn DragEnter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtarget: super::super::Foundation::HWND, pdataobject: *mut core::ffi::c_void, ppt: *const super::super::Foundation::POINT, dweffect: super::super::System::Ole::DROPEFFECT) -> windows_core::HRESULT
where
Identity: IDropTargetHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDropTargetHelper_Impl::DragEnter(this, core::mem::transmute_copy(&hwndtarget), windows_core::from_raw_borrowed(&pdataobject), core::mem::transmute_copy(&ppt), core::mem::transmute_copy(&dweffect)).into()
}
unsafe extern "system" fn DragLeave<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IDropTargetHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDropTargetHelper_Impl::DragLeave(this).into()
}
unsafe extern "system" fn DragOver<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *const super::super::Foundation::POINT, dweffect: super::super::System::Ole::DROPEFFECT) -> windows_core::HRESULT
where
Identity: IDropTargetHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDropTargetHelper_Impl::DragOver(this, core::mem::transmute_copy(&ppt), core::mem::transmute_copy(&dweffect)).into()
}
unsafe extern "system" fn Drop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdataobject: *mut core::ffi::c_void, ppt: *const super::super::Foundation::POINT, dweffect: super::super::System::Ole::DROPEFFECT) -> windows_core::HRESULT
where
Identity: IDropTargetHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDropTargetHelper_Impl::Drop(this, windows_core::from_raw_borrowed(&pdataobject), core::mem::transmute_copy(&ppt), core::mem::transmute_copy(&dweffect)).into()
}
unsafe extern "system" fn Show<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fshow: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IDropTargetHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IDropTargetHelper_Impl::Show(this, core::mem::transmute_copy(&fshow)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
DragEnter: DragEnter::<Identity, OFFSET>,
DragLeave: DragLeave::<Identity, OFFSET>,
DragOver: DragOver::<Identity, OFFSET>,
Drop: Drop::<Identity, OFFSET>,
Show: Show::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDropTargetHelper as windows_core::Interface>::IID
}
}
pub trait IDynamicHWHandler_Impl: Sized {
fn GetDynamicInfo(&self, pszdeviceid: &windows_core::PCWSTR, dwcontenttype: u32) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for IDynamicHWHandler {}
impl IDynamicHWHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IDynamicHWHandler_Vtbl
where
Identity: IDynamicHWHandler_Impl,
{
unsafe extern "system" fn GetDynamicInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdeviceid: windows_core::PCWSTR, dwcontenttype: u32, ppszaction: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IDynamicHWHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IDynamicHWHandler_Impl::GetDynamicInfo(this, core::mem::transmute(&pszdeviceid), core::mem::transmute_copy(&dwcontenttype)) {
Ok(ok__) => {
ppszaction.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetDynamicInfo: GetDynamicInfo::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IDynamicHWHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IEnumACString_Impl: Sized + super::super::System::Com::IEnumString_Impl {
fn NextItem(&self, pszurl: windows_core::PWSTR, cchmax: u32, pulsortindex: *mut u32) -> windows_core::Result<()>;
fn SetEnumOptions(&self, dwoptions: u32) -> windows_core::Result<()>;
fn GetEnumOptions(&self) -> windows_core::Result<u32>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IEnumACString {}
#[cfg(feature = "Win32_System_Com")]
impl IEnumACString_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumACString_Vtbl
where
Identity: IEnumACString_Impl,
{
unsafe extern "system" fn NextItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszurl: windows_core::PWSTR, cchmax: u32, pulsortindex: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumACString_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumACString_Impl::NextItem(this, core::mem::transmute_copy(&pszurl), core::mem::transmute_copy(&cchmax), core::mem::transmute_copy(&pulsortindex)).into()
}
unsafe extern "system" fn SetEnumOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwoptions: u32) -> windows_core::HRESULT
where
Identity: IEnumACString_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumACString_Impl::SetEnumOptions(this, core::mem::transmute_copy(&dwoptions)).into()
}
unsafe extern "system" fn GetEnumOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwoptions: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumACString_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumACString_Impl::GetEnumOptions(this) {
Ok(ok__) => {
pdwoptions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IEnumString_Vtbl::new::<Identity, OFFSET>(),
NextItem: NextItem::<Identity, OFFSET>,
SetEnumOptions: SetEnumOptions::<Identity, OFFSET>,
GetEnumOptions: GetEnumOptions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumACString as windows_core::Interface>::IID || iid == &<super::super::System::Com::IEnumString as windows_core::Interface>::IID
}
}
pub trait IEnumAssocHandlers_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut Option<IAssocHandler>, pceltfetched: *mut u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IEnumAssocHandlers {}
impl IEnumAssocHandlers_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumAssocHandlers_Vtbl
where
Identity: IEnumAssocHandlers_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumAssocHandlers_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumAssocHandlers_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Next: Next::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumAssocHandlers as windows_core::Interface>::IID
}
}
pub trait IEnumExplorerCommand_Impl: Sized {
fn Next(&self, celt: u32, puicommand: *mut Option<IExplorerCommand>, pceltfetched: *mut u32) -> windows_core::HRESULT;
fn Skip(&self, celt: u32) -> windows_core::Result<()>;
fn Reset(&self) -> windows_core::Result<()>;
fn Clone(&self) -> windows_core::Result<IEnumExplorerCommand>;
}
impl windows_core::RuntimeName for IEnumExplorerCommand {}
impl IEnumExplorerCommand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumExplorerCommand_Vtbl
where
Identity: IEnumExplorerCommand_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, puicommand: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumExplorerCommand_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&puicommand), core::mem::transmute_copy(&pceltfetched))
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumExplorerCommand_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumExplorerCommand_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumExplorerCommand_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumExplorerCommand as windows_core::Interface>::IID
}
}
pub trait IEnumExtraSearch_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut EXTRASEARCH, 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<IEnumExtraSearch>;
}
impl windows_core::RuntimeName for IEnumExtraSearch {}
impl IEnumExtraSearch_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumExtraSearch_Vtbl
where
Identity: IEnumExtraSearch_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut EXTRASEARCH, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumExtraSearch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumExtraSearch_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumExtraSearch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumExtraSearch_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumExtraSearch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumExtraSearch_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumExtraSearch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumExtraSearch_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumExtraSearch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IEnumFullIDList_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut *mut Common::ITEMIDLIST, pceltfetched: *mut u32) -> windows_core::HRESULT;
fn Skip(&self, celt: u32) -> windows_core::Result<()>;
fn Reset(&self) -> windows_core::Result<()>;
fn Clone(&self) -> windows_core::Result<IEnumFullIDList>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IEnumFullIDList {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IEnumFullIDList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumFullIDList_Vtbl
where
Identity: IEnumFullIDList_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut Common::ITEMIDLIST, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumFullIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumFullIDList_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched))
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumFullIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumFullIDList_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumFullIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumFullIDList_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumFullIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumFullIDList_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumFullIDList as windows_core::Interface>::IID
}
}
pub trait IEnumHLITEM_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut HLITEM, 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<IEnumHLITEM>;
}
impl windows_core::RuntimeName for IEnumHLITEM {}
impl IEnumHLITEM_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumHLITEM_Vtbl
where
Identity: IEnumHLITEM_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut HLITEM, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumHLITEM_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumHLITEM_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumHLITEM_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumHLITEM_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumHLITEM_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumHLITEM_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppienumhlitem: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumHLITEM_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumHLITEM_Impl::Clone(this) {
Ok(ok__) => {
ppienumhlitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumHLITEM as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IEnumIDList_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut *mut Common::ITEMIDLIST, pceltfetched: *mut u32) -> windows_core::HRESULT;
fn Skip(&self, celt: u32) -> windows_core::HRESULT;
fn Reset(&self) -> windows_core::HRESULT;
fn Clone(&self, ppenum: *mut Option<IEnumIDList>) -> windows_core::HRESULT;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IEnumIDList {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IEnumIDList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumIDList_Vtbl
where
Identity: IEnumIDList_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut Common::ITEMIDLIST, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumIDList_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched))
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumIDList_Impl::Skip(this, core::mem::transmute_copy(&celt))
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumIDList_Impl::Reset(this)
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumIDList_Impl::Clone(this, core::mem::transmute_copy(&ppenum))
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumIDList as windows_core::Interface>::IID
}
}
pub trait IEnumObjects_Impl: Sized {
fn Next(&self, celt: u32, riid: *const windows_core::GUID, rgelt: *mut *mut core::ffi::c_void, 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<IEnumObjects>;
}
impl windows_core::RuntimeName for IEnumObjects {}
impl IEnumObjects_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumObjects_Vtbl
where
Identity: IEnumObjects_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, riid: *const windows_core::GUID, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumObjects_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumObjects_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumObjects_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumObjects_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumObjects_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumObjects as windows_core::Interface>::IID
}
}
pub trait IEnumPublishedApps_Impl: Sized {
fn Next(&self) -> windows_core::Result<IPublishedApp>;
fn Reset(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IEnumPublishedApps {}
impl IEnumPublishedApps_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumPublishedApps_Vtbl
where
Identity: IEnumPublishedApps_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pia: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumPublishedApps_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumPublishedApps_Impl::Next(this) {
Ok(ok__) => {
pia.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumPublishedApps_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumPublishedApps_Impl::Reset(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Next: Next::<Identity, OFFSET>, Reset: Reset::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumPublishedApps as windows_core::Interface>::IID
}
}
pub trait IEnumReadyCallback_Impl: Sized {
fn EnumReady(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IEnumReadyCallback {}
impl IEnumReadyCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumReadyCallback_Vtbl
where
Identity: IEnumReadyCallback_Impl,
{
unsafe extern "system" fn EnumReady<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumReadyCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumReadyCallback_Impl::EnumReady(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), EnumReady: EnumReady::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumReadyCallback as windows_core::Interface>::IID
}
}
pub trait IEnumResources_Impl: Sized {
fn Next(&self, celt: u32, psir: *mut SHELL_ITEM_RESOURCE, 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<IEnumResources>;
}
impl windows_core::RuntimeName for IEnumResources {}
impl IEnumResources_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumResources_Vtbl
where
Identity: IEnumResources_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, psir: *mut SHELL_ITEM_RESOURCE, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumResources_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&psir), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumResources_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumResources_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenumr: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumResources_Impl::Clone(this) {
Ok(ok__) => {
ppenumr.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumResources as windows_core::Interface>::IID
}
}
pub trait IEnumShellItems_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut Option<IShellItem>, 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<IEnumShellItems>;
}
impl windows_core::RuntimeName for IEnumShellItems {}
impl IEnumShellItems_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumShellItems_Vtbl
where
Identity: IEnumShellItems_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumShellItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumShellItems_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumShellItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumShellItems_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumShellItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumShellItems_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumShellItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumShellItems_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumShellItems as windows_core::Interface>::IID
}
}
pub trait IEnumSyncMgrConflict_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut Option<ISyncMgrConflict>, 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<IEnumSyncMgrConflict>;
}
impl windows_core::RuntimeName for IEnumSyncMgrConflict {}
impl IEnumSyncMgrConflict_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumSyncMgrConflict_Vtbl
where
Identity: IEnumSyncMgrConflict_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrConflict_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrConflict_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrConflict_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumSyncMgrConflict_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumSyncMgrConflict as windows_core::Interface>::IID
}
}
pub trait IEnumSyncMgrEvents_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut Option<ISyncMgrEvent>, 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<IEnumSyncMgrEvents>;
}
impl windows_core::RuntimeName for IEnumSyncMgrEvents {}
impl IEnumSyncMgrEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumSyncMgrEvents_Vtbl
where
Identity: IEnumSyncMgrEvents_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrEvents_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrEvents_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrEvents_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumSyncMgrEvents_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumSyncMgrEvents as windows_core::Interface>::IID
}
}
pub trait IEnumSyncMgrSyncItems_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut Option<ISyncMgrSyncItem>, 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<IEnumSyncMgrSyncItems>;
}
impl windows_core::RuntimeName for IEnumSyncMgrSyncItems {}
impl IEnumSyncMgrSyncItems_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumSyncMgrSyncItems_Vtbl
where
Identity: IEnumSyncMgrSyncItems_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrSyncItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrSyncItems_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrSyncItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrSyncItems_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrSyncItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumSyncMgrSyncItems_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumSyncMgrSyncItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumSyncMgrSyncItems_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumSyncMgrSyncItems as windows_core::Interface>::IID
}
}
pub trait IEnumTravelLogEntry_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut Option<ITravelLogEntry>, 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<IEnumTravelLogEntry>;
}
impl windows_core::RuntimeName for IEnumTravelLogEntry {}
impl IEnumTravelLogEntry_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumTravelLogEntry_Vtbl
where
Identity: IEnumTravelLogEntry_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut *mut core::ffi::c_void, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: IEnumTravelLogEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumTravelLogEntry_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: IEnumTravelLogEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumTravelLogEntry_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumTravelLogEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumTravelLogEntry_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumTravelLogEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumTravelLogEntry_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumTravelLogEntry as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IEnumerableView_Impl: Sized {
fn SetEnumReadyCallback(&self, percb: Option<&IEnumReadyCallback>) -> windows_core::Result<()>;
fn CreateEnumIDListFromContents(&self, pidlfolder: *const Common::ITEMIDLIST, dwenumflags: u32) -> windows_core::Result<IEnumIDList>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IEnumerableView {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IEnumerableView_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IEnumerableView_Vtbl
where
Identity: IEnumerableView_Impl,
{
unsafe extern "system" fn SetEnumReadyCallback<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, percb: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumerableView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IEnumerableView_Impl::SetEnumReadyCallback(this, windows_core::from_raw_borrowed(&percb)).into()
}
unsafe extern "system" fn CreateEnumIDListFromContents<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST, dwenumflags: u32, ppenumidlist: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IEnumerableView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IEnumerableView_Impl::CreateEnumIDListFromContents(this, core::mem::transmute_copy(&pidlfolder), core::mem::transmute_copy(&dwenumflags)) {
Ok(ok__) => {
ppenumidlist.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetEnumReadyCallback: SetEnumReadyCallback::<Identity, OFFSET>,
CreateEnumIDListFromContents: CreateEnumIDListFromContents::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IEnumerableView as windows_core::Interface>::IID
}
}
pub trait IExecuteCommand_Impl: Sized {
fn SetKeyState(&self, grfkeystate: u32) -> windows_core::Result<()>;
fn SetParameters(&self, pszparameters: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetPosition(&self, pt: &super::super::Foundation::POINT) -> windows_core::Result<()>;
fn SetShowWindow(&self, nshow: i32) -> windows_core::Result<()>;
fn SetNoShowUI(&self, fnoshowui: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetDirectory(&self, pszdirectory: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Execute(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IExecuteCommand {}
impl IExecuteCommand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExecuteCommand_Vtbl
where
Identity: IExecuteCommand_Impl,
{
unsafe extern "system" fn SetKeyState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfkeystate: u32) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::SetKeyState(this, core::mem::transmute_copy(&grfkeystate)).into()
}
unsafe extern "system" fn SetParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszparameters: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::SetParameters(this, core::mem::transmute(&pszparameters)).into()
}
unsafe extern "system" fn SetPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pt: super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::SetPosition(this, core::mem::transmute(&pt)).into()
}
unsafe extern "system" fn SetShowWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nshow: i32) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::SetShowWindow(this, core::mem::transmute_copy(&nshow)).into()
}
unsafe extern "system" fn SetNoShowUI<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fnoshowui: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::SetNoShowUI(this, core::mem::transmute_copy(&fnoshowui)).into()
}
unsafe extern "system" fn SetDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdirectory: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::SetDirectory(this, core::mem::transmute(&pszdirectory)).into()
}
unsafe extern "system" fn Execute<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExecuteCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExecuteCommand_Impl::Execute(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetKeyState: SetKeyState::<Identity, OFFSET>,
SetParameters: SetParameters::<Identity, OFFSET>,
SetPosition: SetPosition::<Identity, OFFSET>,
SetShowWindow: SetShowWindow::<Identity, OFFSET>,
SetNoShowUI: SetNoShowUI::<Identity, OFFSET>,
SetDirectory: SetDirectory::<Identity, OFFSET>,
Execute: Execute::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExecuteCommand as windows_core::Interface>::IID
}
}
pub trait IExecuteCommandApplicationHostEnvironment_Impl: Sized {
fn GetValue(&self) -> windows_core::Result<AHE_TYPE>;
}
impl windows_core::RuntimeName for IExecuteCommandApplicationHostEnvironment {}
impl IExecuteCommandApplicationHostEnvironment_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExecuteCommandApplicationHostEnvironment_Vtbl
where
Identity: IExecuteCommandApplicationHostEnvironment_Impl,
{
unsafe extern "system" fn GetValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pahe: *mut AHE_TYPE) -> windows_core::HRESULT
where
Identity: IExecuteCommandApplicationHostEnvironment_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExecuteCommandApplicationHostEnvironment_Impl::GetValue(this) {
Ok(ok__) => {
pahe.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetValue: GetValue::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExecuteCommandApplicationHostEnvironment as windows_core::Interface>::IID
}
}
pub trait IExecuteCommandHost_Impl: Sized {
fn GetUIMode(&self) -> windows_core::Result<EC_HOST_UI_MODE>;
}
impl windows_core::RuntimeName for IExecuteCommandHost {}
impl IExecuteCommandHost_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExecuteCommandHost_Vtbl
where
Identity: IExecuteCommandHost_Impl,
{
unsafe extern "system" fn GetUIMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, puimode: *mut EC_HOST_UI_MODE) -> windows_core::HRESULT
where
Identity: IExecuteCommandHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExecuteCommandHost_Impl::GetUIMode(this) {
Ok(ok__) => {
puimode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetUIMode: GetUIMode::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExecuteCommandHost as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IExpDispSupport_Impl: Sized {
fn FindConnectionPoint(&self, riid: *const windows_core::GUID) -> windows_core::Result<super::super::System::Com::IConnectionPoint>;
fn OnTranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG, grfmodifiers: u32) -> windows_core::Result<()>;
fn OnInvoke(&self, dispidmember: i32, iid: *const windows_core::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Com::DISPPARAMS, pvarresult: *mut windows_core::VARIANT, pexcepinfo: *mut super::super::System::Com::EXCEPINFO, puargerr: *mut u32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IExpDispSupport {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_WindowsAndMessaging"))]
impl IExpDispSupport_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExpDispSupport_Vtbl
where
Identity: IExpDispSupport_Impl,
{
unsafe extern "system" fn FindConnectionPoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppccp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExpDispSupport_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExpDispSupport_Impl::FindConnectionPoint(this, core::mem::transmute_copy(&riid)) {
Ok(ok__) => {
ppccp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnTranslateAccelerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG, grfmodifiers: u32) -> windows_core::HRESULT
where
Identity: IExpDispSupport_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExpDispSupport_Impl::OnTranslateAccelerator(this, core::mem::transmute_copy(&pmsg), core::mem::transmute_copy(&grfmodifiers)).into()
}
unsafe extern "system" fn OnInvoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dispidmember: i32, iid: *const windows_core::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Com::DISPPARAMS, pvarresult: *mut core::mem::MaybeUninit<windows_core::VARIANT>, pexcepinfo: *mut super::super::System::Com::EXCEPINFO, puargerr: *mut u32) -> windows_core::HRESULT
where
Identity: IExpDispSupport_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExpDispSupport_Impl::OnInvoke(this, core::mem::transmute_copy(&dispidmember), core::mem::transmute_copy(&iid), core::mem::transmute_copy(&lcid), core::mem::transmute_copy(&wflags), core::mem::transmute_copy(&pdispparams), core::mem::transmute_copy(&pvarresult), core::mem::transmute_copy(&pexcepinfo), core::mem::transmute_copy(&puargerr)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
FindConnectionPoint: FindConnectionPoint::<Identity, OFFSET>,
OnTranslateAccelerator: OnTranslateAccelerator::<Identity, OFFSET>,
OnInvoke: OnInvoke::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExpDispSupport as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IExpDispSupportXP_Impl: Sized {
fn FindCIE4ConnectionPoint(&self, riid: *const windows_core::GUID) -> windows_core::Result<CIE4ConnectionPoint>;
fn OnTranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG, grfmodifiers: u32) -> windows_core::Result<()>;
fn OnInvoke(&self, dispidmember: i32, iid: *const windows_core::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Com::DISPPARAMS, pvarresult: *mut windows_core::VARIANT, pexcepinfo: *mut super::super::System::Com::EXCEPINFO, puargerr: *mut u32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IExpDispSupportXP {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_WindowsAndMessaging"))]
impl IExpDispSupportXP_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExpDispSupportXP_Vtbl
where
Identity: IExpDispSupportXP_Impl,
{
unsafe extern "system" fn FindCIE4ConnectionPoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppccp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExpDispSupportXP_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExpDispSupportXP_Impl::FindCIE4ConnectionPoint(this, core::mem::transmute_copy(&riid)) {
Ok(ok__) => {
ppccp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnTranslateAccelerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG, grfmodifiers: u32) -> windows_core::HRESULT
where
Identity: IExpDispSupportXP_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExpDispSupportXP_Impl::OnTranslateAccelerator(this, core::mem::transmute_copy(&pmsg), core::mem::transmute_copy(&grfmodifiers)).into()
}
unsafe extern "system" fn OnInvoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dispidmember: i32, iid: *const windows_core::GUID, lcid: u32, wflags: u16, pdispparams: *const super::super::System::Com::DISPPARAMS, pvarresult: *mut core::mem::MaybeUninit<windows_core::VARIANT>, pexcepinfo: *mut super::super::System::Com::EXCEPINFO, puargerr: *mut u32) -> windows_core::HRESULT
where
Identity: IExpDispSupportXP_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExpDispSupportXP_Impl::OnInvoke(this, core::mem::transmute_copy(&dispidmember), core::mem::transmute_copy(&iid), core::mem::transmute_copy(&lcid), core::mem::transmute_copy(&wflags), core::mem::transmute_copy(&pdispparams), core::mem::transmute_copy(&pvarresult), core::mem::transmute_copy(&pexcepinfo), core::mem::transmute_copy(&puargerr)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
FindCIE4ConnectionPoint: FindCIE4ConnectionPoint::<Identity, OFFSET>,
OnTranslateAccelerator: OnTranslateAccelerator::<Identity, OFFSET>,
OnInvoke: OnInvoke::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExpDispSupportXP as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IExplorerBrowser_Impl: Sized {
fn Initialize(&self, hwndparent: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT, pfs: *const FOLDERSETTINGS) -> windows_core::Result<()>;
fn Destroy(&self) -> windows_core::Result<()>;
fn SetRect(&self, phdwp: *mut super::WindowsAndMessaging::HDWP, rcbrowser: &super::super::Foundation::RECT) -> windows_core::Result<()>;
fn SetPropertyBag(&self, pszpropertybag: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetEmptyText(&self, pszemptytext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFolderSettings(&self, pfs: *const FOLDERSETTINGS) -> windows_core::Result<()>;
fn Advise(&self, psbe: Option<&IExplorerBrowserEvents>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn SetOptions(&self, dwflag: EXPLORER_BROWSER_OPTIONS) -> windows_core::Result<()>;
fn GetOptions(&self) -> windows_core::Result<EXPLORER_BROWSER_OPTIONS>;
fn BrowseToIDList(&self, pidl: *const Common::ITEMIDLIST, uflags: u32) -> windows_core::Result<()>;
fn BrowseToObject(&self, punk: Option<&windows_core::IUnknown>, uflags: u32) -> windows_core::Result<()>;
fn FillFromObject(&self, punk: Option<&windows_core::IUnknown>, dwflags: EXPLORER_BROWSER_FILL_FLAGS) -> windows_core::Result<()>;
fn RemoveAll(&self) -> windows_core::Result<()>;
fn GetCurrentView(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IExplorerBrowser {}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IExplorerBrowser_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExplorerBrowser_Vtbl
where
Identity: IExplorerBrowser_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT, pfs: *const FOLDERSETTINGS) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::Initialize(this, core::mem::transmute_copy(&hwndparent), core::mem::transmute_copy(&prc), core::mem::transmute_copy(&pfs)).into()
}
unsafe extern "system" fn Destroy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::Destroy(this).into()
}
unsafe extern "system" fn SetRect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phdwp: *mut super::WindowsAndMessaging::HDWP, rcbrowser: super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::SetRect(this, core::mem::transmute_copy(&phdwp), core::mem::transmute(&rcbrowser)).into()
}
unsafe extern "system" fn SetPropertyBag<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpropertybag: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::SetPropertyBag(this, core::mem::transmute(&pszpropertybag)).into()
}
unsafe extern "system" fn SetEmptyText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszemptytext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::SetEmptyText(this, core::mem::transmute(&pszemptytext)).into()
}
unsafe extern "system" fn SetFolderSettings<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfs: *const FOLDERSETTINGS) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::SetFolderSettings(this, core::mem::transmute_copy(&pfs)).into()
}
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psbe: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerBrowser_Impl::Advise(this, windows_core::from_raw_borrowed(&psbe)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn SetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflag: EXPLORER_BROWSER_OPTIONS) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::SetOptions(this, core::mem::transmute_copy(&dwflag)).into()
}
unsafe extern "system" fn GetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflag: *mut EXPLORER_BROWSER_OPTIONS) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerBrowser_Impl::GetOptions(this) {
Ok(ok__) => {
pdwflag.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn BrowseToIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, uflags: u32) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::BrowseToIDList(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&uflags)).into()
}
unsafe extern "system" fn BrowseToObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, uflags: u32) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::BrowseToObject(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&uflags)).into()
}
unsafe extern "system" fn FillFromObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, dwflags: EXPLORER_BROWSER_FILL_FLAGS) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::FillFromObject(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn RemoveAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::RemoveAll(this).into()
}
unsafe extern "system" fn GetCurrentView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowser_Impl::GetCurrentView(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
Destroy: Destroy::<Identity, OFFSET>,
SetRect: SetRect::<Identity, OFFSET>,
SetPropertyBag: SetPropertyBag::<Identity, OFFSET>,
SetEmptyText: SetEmptyText::<Identity, OFFSET>,
SetFolderSettings: SetFolderSettings::<Identity, OFFSET>,
Advise: Advise::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
SetOptions: SetOptions::<Identity, OFFSET>,
GetOptions: GetOptions::<Identity, OFFSET>,
BrowseToIDList: BrowseToIDList::<Identity, OFFSET>,
BrowseToObject: BrowseToObject::<Identity, OFFSET>,
FillFromObject: FillFromObject::<Identity, OFFSET>,
RemoveAll: RemoveAll::<Identity, OFFSET>,
GetCurrentView: GetCurrentView::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExplorerBrowser as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
pub trait IExplorerBrowserEvents_Impl: Sized {
fn OnNavigationPending(&self, pidlfolder: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn OnViewCreated(&self, psv: Option<&IShellView>) -> windows_core::Result<()>;
fn OnNavigationComplete(&self, pidlfolder: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn OnNavigationFailed(&self, pidlfolder: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IExplorerBrowserEvents {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl IExplorerBrowserEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExplorerBrowserEvents_Vtbl
where
Identity: IExplorerBrowserEvents_Impl,
{
unsafe extern "system" fn OnNavigationPending<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IExplorerBrowserEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowserEvents_Impl::OnNavigationPending(this, core::mem::transmute_copy(&pidlfolder)).into()
}
unsafe extern "system" fn OnViewCreated<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psv: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerBrowserEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowserEvents_Impl::OnViewCreated(this, windows_core::from_raw_borrowed(&psv)).into()
}
unsafe extern "system" fn OnNavigationComplete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IExplorerBrowserEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowserEvents_Impl::OnNavigationComplete(this, core::mem::transmute_copy(&pidlfolder)).into()
}
unsafe extern "system" fn OnNavigationFailed<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IExplorerBrowserEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerBrowserEvents_Impl::OnNavigationFailed(this, core::mem::transmute_copy(&pidlfolder)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnNavigationPending: OnNavigationPending::<Identity, OFFSET>,
OnViewCreated: OnViewCreated::<Identity, OFFSET>,
OnNavigationComplete: OnNavigationComplete::<Identity, OFFSET>,
OnNavigationFailed: OnNavigationFailed::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExplorerBrowserEvents as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IExplorerCommand_Impl: Sized {
fn GetTitle(&self, psiitemarray: Option<&IShellItemArray>) -> windows_core::Result<windows_core::PWSTR>;
fn GetIcon(&self, psiitemarray: Option<&IShellItemArray>) -> windows_core::Result<windows_core::PWSTR>;
fn GetToolTip(&self, psiitemarray: Option<&IShellItemArray>) -> windows_core::Result<windows_core::PWSTR>;
fn GetCanonicalName(&self) -> windows_core::Result<windows_core::GUID>;
fn GetState(&self, psiitemarray: Option<&IShellItemArray>, foktobeslow: super::super::Foundation::BOOL) -> windows_core::Result<u32>;
fn Invoke(&self, psiitemarray: Option<&IShellItemArray>, pbc: Option<&super::super::System::Com::IBindCtx>) -> windows_core::Result<()>;
fn GetFlags(&self) -> windows_core::Result<u32>;
fn EnumSubCommands(&self) -> windows_core::Result<IEnumExplorerCommand>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IExplorerCommand {}
#[cfg(feature = "Win32_System_Com")]
impl IExplorerCommand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExplorerCommand_Vtbl
where
Identity: IExplorerCommand_Impl,
{
unsafe extern "system" fn GetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitemarray: *mut core::ffi::c_void, ppszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::GetTitle(this, windows_core::from_raw_borrowed(&psiitemarray)) {
Ok(ok__) => {
ppszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitemarray: *mut core::ffi::c_void, ppszicon: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::GetIcon(this, windows_core::from_raw_borrowed(&psiitemarray)) {
Ok(ok__) => {
ppszicon.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetToolTip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitemarray: *mut core::ffi::c_void, ppszinfotip: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::GetToolTip(this, windows_core::from_raw_borrowed(&psiitemarray)) {
Ok(ok__) => {
ppszinfotip.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCanonicalName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguidcommandname: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::GetCanonicalName(this) {
Ok(ok__) => {
pguidcommandname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitemarray: *mut core::ffi::c_void, foktobeslow: super::super::Foundation::BOOL, pcmdstate: *mut u32) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::GetState(this, windows_core::from_raw_borrowed(&psiitemarray), core::mem::transmute_copy(&foktobeslow)) {
Ok(ok__) => {
pcmdstate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Invoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitemarray: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerCommand_Impl::Invoke(this, windows_core::from_raw_borrowed(&psiitemarray), windows_core::from_raw_borrowed(&pbc)).into()
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pflags: *mut u32) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::GetFlags(this) {
Ok(ok__) => {
pflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumSubCommands<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommand_Impl::EnumSubCommands(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTitle: GetTitle::<Identity, OFFSET>,
GetIcon: GetIcon::<Identity, OFFSET>,
GetToolTip: GetToolTip::<Identity, OFFSET>,
GetCanonicalName: GetCanonicalName::<Identity, OFFSET>,
GetState: GetState::<Identity, OFFSET>,
Invoke: Invoke::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
EnumSubCommands: EnumSubCommands::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExplorerCommand as windows_core::Interface>::IID
}
}
pub trait IExplorerCommandProvider_Impl: Sized {
fn GetCommands(&self, punksite: Option<&windows_core::IUnknown>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetCommand(&self, rguidcommandid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IExplorerCommandProvider {}
impl IExplorerCommandProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExplorerCommandProvider_Vtbl
where
Identity: IExplorerCommandProvider_Impl,
{
unsafe extern "system" fn GetCommands<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punksite: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerCommandProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerCommandProvider_Impl::GetCommands(this, windows_core::from_raw_borrowed(&punksite), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rguidcommandid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IExplorerCommandProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExplorerCommandProvider_Impl::GetCommand(this, core::mem::transmute_copy(&rguidcommandid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCommands: GetCommands::<Identity, OFFSET>,
GetCommand: GetCommand::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExplorerCommandProvider as windows_core::Interface>::IID
}
}
pub trait IExplorerCommandState_Impl: Sized {
fn GetState(&self, psiitemarray: Option<&IShellItemArray>, foktobeslow: super::super::Foundation::BOOL) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IExplorerCommandState {}
impl IExplorerCommandState_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExplorerCommandState_Vtbl
where
Identity: IExplorerCommandState_Impl,
{
unsafe extern "system" fn GetState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitemarray: *mut core::ffi::c_void, foktobeslow: super::super::Foundation::BOOL, pcmdstate: *mut u32) -> windows_core::HRESULT
where
Identity: IExplorerCommandState_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerCommandState_Impl::GetState(this, windows_core::from_raw_borrowed(&psiitemarray), core::mem::transmute_copy(&foktobeslow)) {
Ok(ok__) => {
pcmdstate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetState: GetState::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExplorerCommandState as windows_core::Interface>::IID
}
}
pub trait IExplorerPaneVisibility_Impl: Sized {
fn GetPaneState(&self, ep: *const windows_core::GUID) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IExplorerPaneVisibility {}
impl IExplorerPaneVisibility_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExplorerPaneVisibility_Vtbl
where
Identity: IExplorerPaneVisibility_Impl,
{
unsafe extern "system" fn GetPaneState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ep: *const windows_core::GUID, peps: *mut u32) -> windows_core::HRESULT
where
Identity: IExplorerPaneVisibility_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExplorerPaneVisibility_Impl::GetPaneState(this, core::mem::transmute_copy(&ep)) {
Ok(ok__) => {
peps.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetPaneState: GetPaneState::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExplorerPaneVisibility as windows_core::Interface>::IID
}
}
pub trait IExtensionServices_Impl: Sized {
fn SetAdditionalHeaders(&self, pwzadditionalheaders: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetAuthenticateData(&self, phwnd: super::super::Foundation::HWND, pwzusername: &windows_core::PCWSTR, pwzpassword: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IExtensionServices {}
impl IExtensionServices_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExtensionServices_Vtbl
where
Identity: IExtensionServices_Impl,
{
unsafe extern "system" fn SetAdditionalHeaders<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzadditionalheaders: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IExtensionServices_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtensionServices_Impl::SetAdditionalHeaders(this, core::mem::transmute(&pwzadditionalheaders)).into()
}
unsafe extern "system" fn SetAuthenticateData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phwnd: super::super::Foundation::HWND, pwzusername: windows_core::PCWSTR, pwzpassword: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IExtensionServices_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtensionServices_Impl::SetAuthenticateData(this, core::mem::transmute_copy(&phwnd), core::mem::transmute(&pwzusername), core::mem::transmute(&pwzpassword)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetAdditionalHeaders: SetAdditionalHeaders::<Identity, OFFSET>,
SetAuthenticateData: SetAuthenticateData::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExtensionServices as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IExtractIconA_Impl: Sized {
fn GetIconLocation(&self, uflags: u32, psziconfile: windows_core::PSTR, cchmax: u32, piindex: *mut i32, pwflags: *mut u32) -> windows_core::Result<()>;
fn Extract(&self, pszfile: &windows_core::PCSTR, niconindex: u32, phiconlarge: *mut super::WindowsAndMessaging::HICON, phiconsmall: *mut super::WindowsAndMessaging::HICON, niconsize: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IExtractIconA {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IExtractIconA_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExtractIconA_Vtbl
where
Identity: IExtractIconA_Impl,
{
unsafe extern "system" fn GetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uflags: u32, psziconfile: windows_core::PSTR, cchmax: u32, piindex: *mut i32, pwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IExtractIconA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtractIconA_Impl::GetIconLocation(this, core::mem::transmute_copy(&uflags), core::mem::transmute_copy(&psziconfile), core::mem::transmute_copy(&cchmax), core::mem::transmute_copy(&piindex), core::mem::transmute_copy(&pwflags)).into()
}
unsafe extern "system" fn Extract<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCSTR, niconindex: u32, phiconlarge: *mut super::WindowsAndMessaging::HICON, phiconsmall: *mut super::WindowsAndMessaging::HICON, niconsize: u32) -> windows_core::HRESULT
where
Identity: IExtractIconA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtractIconA_Impl::Extract(this, core::mem::transmute(&pszfile), core::mem::transmute_copy(&niconindex), core::mem::transmute_copy(&phiconlarge), core::mem::transmute_copy(&phiconsmall), core::mem::transmute_copy(&niconsize)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetIconLocation: GetIconLocation::<Identity, OFFSET>,
Extract: Extract::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExtractIconA as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IExtractIconW_Impl: Sized {
fn GetIconLocation(&self, uflags: u32, psziconfile: windows_core::PWSTR, cchmax: u32, piindex: *mut i32, pwflags: *mut u32) -> windows_core::Result<()>;
fn Extract(&self, pszfile: &windows_core::PCWSTR, niconindex: u32, phiconlarge: *mut super::WindowsAndMessaging::HICON, phiconsmall: *mut super::WindowsAndMessaging::HICON, niconsize: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IExtractIconW {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IExtractIconW_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExtractIconW_Vtbl
where
Identity: IExtractIconW_Impl,
{
unsafe extern "system" fn GetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uflags: u32, psziconfile: windows_core::PWSTR, cchmax: u32, piindex: *mut i32, pwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IExtractIconW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtractIconW_Impl::GetIconLocation(this, core::mem::transmute_copy(&uflags), core::mem::transmute_copy(&psziconfile), core::mem::transmute_copy(&cchmax), core::mem::transmute_copy(&piindex), core::mem::transmute_copy(&pwflags)).into()
}
unsafe extern "system" fn Extract<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCWSTR, niconindex: u32, phiconlarge: *mut super::WindowsAndMessaging::HICON, phiconsmall: *mut super::WindowsAndMessaging::HICON, niconsize: u32) -> windows_core::HRESULT
where
Identity: IExtractIconW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtractIconW_Impl::Extract(this, core::mem::transmute(&pszfile), core::mem::transmute_copy(&niconindex), core::mem::transmute_copy(&phiconlarge), core::mem::transmute_copy(&phiconsmall), core::mem::transmute_copy(&niconsize)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetIconLocation: GetIconLocation::<Identity, OFFSET>,
Extract: Extract::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExtractIconW as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IExtractImage_Impl: Sized {
fn GetLocation(&self, pszpathbuffer: windows_core::PWSTR, cch: u32, pdwpriority: *mut u32, prgsize: *const super::super::Foundation::SIZE, dwrecclrdepth: u32, pdwflags: *mut u32) -> windows_core::Result<()>;
fn Extract(&self) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IExtractImage {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IExtractImage_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExtractImage_Vtbl
where
Identity: IExtractImage_Impl,
{
unsafe extern "system" fn GetLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpathbuffer: windows_core::PWSTR, cch: u32, pdwpriority: *mut u32, prgsize: *const super::super::Foundation::SIZE, dwrecclrdepth: u32, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IExtractImage_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IExtractImage_Impl::GetLocation(this, core::mem::transmute_copy(&pszpathbuffer), core::mem::transmute_copy(&cch), core::mem::transmute_copy(&pdwpriority), core::mem::transmute_copy(&prgsize), core::mem::transmute_copy(&dwrecclrdepth), core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn Extract<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phbmpthumbnail: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: IExtractImage_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExtractImage_Impl::Extract(this) {
Ok(ok__) => {
phbmpthumbnail.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetLocation: GetLocation::<Identity, OFFSET>,
Extract: Extract::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExtractImage as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IExtractImage2_Impl: Sized + IExtractImage_Impl {
fn GetDateStamp(&self) -> windows_core::Result<super::super::Foundation::FILETIME>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IExtractImage2 {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IExtractImage2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IExtractImage2_Vtbl
where
Identity: IExtractImage2_Impl,
{
unsafe extern "system" fn GetDateStamp<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdatestamp: *mut super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: IExtractImage2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IExtractImage2_Impl::GetDateStamp(this) {
Ok(ok__) => {
pdatestamp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IExtractImage_Vtbl::new::<Identity, OFFSET>(), GetDateStamp: GetDateStamp::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IExtractImage2 as windows_core::Interface>::IID || iid == &<IExtractImage as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IFileDialog_Impl: Sized + IModalWindow_Impl {
fn SetFileTypes(&self, cfiletypes: u32, rgfilterspec: *const Common::COMDLG_FILTERSPEC) -> windows_core::Result<()>;
fn SetFileTypeIndex(&self, ifiletype: u32) -> windows_core::Result<()>;
fn GetFileTypeIndex(&self) -> windows_core::Result<u32>;
fn Advise(&self, pfde: Option<&IFileDialogEvents>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn SetOptions(&self, fos: FILEOPENDIALOGOPTIONS) -> windows_core::Result<()>;
fn GetOptions(&self) -> windows_core::Result<FILEOPENDIALOGOPTIONS>;
fn SetDefaultFolder(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn SetFolder(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn GetFolder(&self) -> windows_core::Result<IShellItem>;
fn GetCurrentSelection(&self) -> windows_core::Result<IShellItem>;
fn SetFileName(&self, pszname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetFileName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn SetTitle(&self, psztitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetOkButtonLabel(&self, psztext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFileNameLabel(&self, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetResult(&self) -> windows_core::Result<IShellItem>;
fn AddPlace(&self, psi: Option<&IShellItem>, fdap: FDAP) -> windows_core::Result<()>;
fn SetDefaultExtension(&self, pszdefaultextension: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Close(&self, hr: windows_core::HRESULT) -> windows_core::Result<()>;
fn SetClientGuid(&self, guid: *const windows_core::GUID) -> windows_core::Result<()>;
fn ClearClientData(&self) -> windows_core::Result<()>;
fn SetFilter(&self, pfilter: Option<&IShellItemFilter>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IFileDialog {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IFileDialog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileDialog_Vtbl
where
Identity: IFileDialog_Impl,
{
unsafe extern "system" fn SetFileTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cfiletypes: u32, rgfilterspec: *const Common::COMDLG_FILTERSPEC) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetFileTypes(this, core::mem::transmute_copy(&cfiletypes), core::mem::transmute_copy(&rgfilterspec)).into()
}
unsafe extern "system" fn SetFileTypeIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ifiletype: u32) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetFileTypeIndex(this, core::mem::transmute_copy(&ifiletype)).into()
}
unsafe extern "system" fn GetFileTypeIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pifiletype: *mut u32) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::GetFileTypeIndex(this) {
Ok(ok__) => {
pifiletype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfde: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::Advise(this, windows_core::from_raw_borrowed(&pfde)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn SetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fos: FILEOPENDIALOGOPTIONS) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetOptions(this, core::mem::transmute_copy(&fos)).into()
}
unsafe extern "system" fn GetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfos: *mut FILEOPENDIALOGOPTIONS) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::GetOptions(this) {
Ok(ok__) => {
pfos.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDefaultFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetDefaultFolder(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn SetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetFolder(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn GetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::GetFolder(this) {
Ok(ok__) => {
ppsi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCurrentSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::GetCurrentSelection(this) {
Ok(ok__) => {
ppsi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFileName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetFileName(this, core::mem::transmute(&pszname)).into()
}
unsafe extern "system" fn GetFileName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::GetFileName(this) {
Ok(ok__) => {
pszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztitle: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetTitle(this, core::mem::transmute(&psztitle)).into()
}
unsafe extern "system" fn SetOkButtonLabel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetOkButtonLabel(this, core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn SetFileNameLabel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetFileNameLabel(this, core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn GetResult<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialog_Impl::GetResult(this) {
Ok(ok__) => {
ppsi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddPlace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, fdap: FDAP) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::AddPlace(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&fdap)).into()
}
unsafe extern "system" fn SetDefaultExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdefaultextension: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetDefaultExtension(this, core::mem::transmute(&pszdefaultextension)).into()
}
unsafe extern "system" fn Close<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hr: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::Close(this, core::mem::transmute_copy(&hr)).into()
}
unsafe extern "system" fn SetClientGuid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, guid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetClientGuid(this, core::mem::transmute_copy(&guid)).into()
}
unsafe extern "system" fn ClearClientData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::ClearClientData(this).into()
}
unsafe extern "system" fn SetFilter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfilter: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog_Impl::SetFilter(this, windows_core::from_raw_borrowed(&pfilter)).into()
}
Self {
base__: IModalWindow_Vtbl::new::<Identity, OFFSET>(),
SetFileTypes: SetFileTypes::<Identity, OFFSET>,
SetFileTypeIndex: SetFileTypeIndex::<Identity, OFFSET>,
GetFileTypeIndex: GetFileTypeIndex::<Identity, OFFSET>,
Advise: Advise::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
SetOptions: SetOptions::<Identity, OFFSET>,
GetOptions: GetOptions::<Identity, OFFSET>,
SetDefaultFolder: SetDefaultFolder::<Identity, OFFSET>,
SetFolder: SetFolder::<Identity, OFFSET>,
GetFolder: GetFolder::<Identity, OFFSET>,
GetCurrentSelection: GetCurrentSelection::<Identity, OFFSET>,
SetFileName: SetFileName::<Identity, OFFSET>,
GetFileName: GetFileName::<Identity, OFFSET>,
SetTitle: SetTitle::<Identity, OFFSET>,
SetOkButtonLabel: SetOkButtonLabel::<Identity, OFFSET>,
SetFileNameLabel: SetFileNameLabel::<Identity, OFFSET>,
GetResult: GetResult::<Identity, OFFSET>,
AddPlace: AddPlace::<Identity, OFFSET>,
SetDefaultExtension: SetDefaultExtension::<Identity, OFFSET>,
Close: Close::<Identity, OFFSET>,
SetClientGuid: SetClientGuid::<Identity, OFFSET>,
ClearClientData: ClearClientData::<Identity, OFFSET>,
SetFilter: SetFilter::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileDialog as windows_core::Interface>::IID || iid == &<IModalWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IFileDialog2_Impl: Sized + IFileDialog_Impl {
fn SetCancelButtonLabel(&self, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetNavigationRoot(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IFileDialog2 {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IFileDialog2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileDialog2_Vtbl
where
Identity: IFileDialog2_Impl,
{
unsafe extern "system" fn SetCancelButtonLabel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialog2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog2_Impl::SetCancelButtonLabel(this, core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn SetNavigationRoot<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialog2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialog2_Impl::SetNavigationRoot(this, windows_core::from_raw_borrowed(&psi)).into()
}
Self {
base__: IFileDialog_Vtbl::new::<Identity, OFFSET>(),
SetCancelButtonLabel: SetCancelButtonLabel::<Identity, OFFSET>,
SetNavigationRoot: SetNavigationRoot::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileDialog2 as windows_core::Interface>::IID || iid == &<IModalWindow as windows_core::Interface>::IID || iid == &<IFileDialog as windows_core::Interface>::IID
}
}
pub trait IFileDialogControlEvents_Impl: Sized {
fn OnItemSelected(&self, pfdc: Option<&IFileDialogCustomize>, dwidctl: u32, dwiditem: u32) -> windows_core::Result<()>;
fn OnButtonClicked(&self, pfdc: Option<&IFileDialogCustomize>, dwidctl: u32) -> windows_core::Result<()>;
fn OnCheckButtonToggled(&self, pfdc: Option<&IFileDialogCustomize>, dwidctl: u32, bchecked: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OnControlActivating(&self, pfdc: Option<&IFileDialogCustomize>, dwidctl: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFileDialogControlEvents {}
impl IFileDialogControlEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileDialogControlEvents_Vtbl
where
Identity: IFileDialogControlEvents_Impl,
{
unsafe extern "system" fn OnItemSelected<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfdc: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32) -> windows_core::HRESULT
where
Identity: IFileDialogControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogControlEvents_Impl::OnItemSelected(this, windows_core::from_raw_borrowed(&pfdc), core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem)).into()
}
unsafe extern "system" fn OnButtonClicked<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfdc: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogControlEvents_Impl::OnButtonClicked(this, windows_core::from_raw_borrowed(&pfdc), core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn OnCheckButtonToggled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfdc: *mut core::ffi::c_void, dwidctl: u32, bchecked: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFileDialogControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogControlEvents_Impl::OnCheckButtonToggled(this, windows_core::from_raw_borrowed(&pfdc), core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&bchecked)).into()
}
unsafe extern "system" fn OnControlActivating<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfdc: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogControlEvents_Impl::OnControlActivating(this, windows_core::from_raw_borrowed(&pfdc), core::mem::transmute_copy(&dwidctl)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnItemSelected: OnItemSelected::<Identity, OFFSET>,
OnButtonClicked: OnButtonClicked::<Identity, OFFSET>,
OnCheckButtonToggled: OnCheckButtonToggled::<Identity, OFFSET>,
OnControlActivating: OnControlActivating::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileDialogControlEvents as windows_core::Interface>::IID
}
}
pub trait IFileDialogCustomize_Impl: Sized {
fn EnableOpenDropDown(&self, dwidctl: u32) -> windows_core::Result<()>;
fn AddMenu(&self, dwidctl: u32, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn AddPushButton(&self, dwidctl: u32, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn AddComboBox(&self, dwidctl: u32) -> windows_core::Result<()>;
fn AddRadioButtonList(&self, dwidctl: u32) -> windows_core::Result<()>;
fn AddCheckButton(&self, dwidctl: u32, pszlabel: &windows_core::PCWSTR, bchecked: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn AddEditBox(&self, dwidctl: u32, psztext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn AddSeparator(&self, dwidctl: u32) -> windows_core::Result<()>;
fn AddText(&self, dwidctl: u32, psztext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetControlLabel(&self, dwidctl: u32, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetControlState(&self, dwidctl: u32) -> windows_core::Result<CDCONTROLSTATEF>;
fn SetControlState(&self, dwidctl: u32, dwstate: CDCONTROLSTATEF) -> windows_core::Result<()>;
fn GetEditBoxText(&self, dwidctl: u32) -> windows_core::Result<*mut u16>;
fn SetEditBoxText(&self, dwidctl: u32, psztext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetCheckButtonState(&self, dwidctl: u32) -> windows_core::Result<super::super::Foundation::BOOL>;
fn SetCheckButtonState(&self, dwidctl: u32, bchecked: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn AddControlItem(&self, dwidctl: u32, dwiditem: u32, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn RemoveControlItem(&self, dwidctl: u32, dwiditem: u32) -> windows_core::Result<()>;
fn RemoveAllControlItems(&self, dwidctl: u32) -> windows_core::Result<()>;
fn GetControlItemState(&self, dwidctl: u32, dwiditem: u32) -> windows_core::Result<CDCONTROLSTATEF>;
fn SetControlItemState(&self, dwidctl: u32, dwiditem: u32, dwstate: CDCONTROLSTATEF) -> windows_core::Result<()>;
fn GetSelectedControlItem(&self, dwidctl: u32) -> windows_core::Result<u32>;
fn SetSelectedControlItem(&self, dwidctl: u32, dwiditem: u32) -> windows_core::Result<()>;
fn StartVisualGroup(&self, dwidctl: u32, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn EndVisualGroup(&self) -> windows_core::Result<()>;
fn MakeProminent(&self, dwidctl: u32) -> windows_core::Result<()>;
fn SetControlItemText(&self, dwidctl: u32, dwiditem: u32, pszlabel: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFileDialogCustomize {}
impl IFileDialogCustomize_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileDialogCustomize_Vtbl
where
Identity: IFileDialogCustomize_Impl,
{
unsafe extern "system" fn EnableOpenDropDown<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::EnableOpenDropDown(this, core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn AddMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddMenu(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn AddPushButton<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddPushButton(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn AddComboBox<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddComboBox(this, core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn AddRadioButtonList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddRadioButtonList(this, core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn AddCheckButton<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pszlabel: windows_core::PCWSTR, bchecked: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddCheckButton(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&pszlabel), core::mem::transmute_copy(&bchecked)).into()
}
unsafe extern "system" fn AddEditBox<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, psztext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddEditBox(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn AddSeparator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddSeparator(this, core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn AddText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, psztext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddText(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn SetControlLabel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetControlLabel(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn GetControlState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pdwstate: *mut CDCONTROLSTATEF) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogCustomize_Impl::GetControlState(this, core::mem::transmute_copy(&dwidctl)) {
Ok(ok__) => {
pdwstate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetControlState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwstate: CDCONTROLSTATEF) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetControlState(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwstate)).into()
}
unsafe extern "system" fn GetEditBoxText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, ppsztext: *mut *mut u16) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogCustomize_Impl::GetEditBoxText(this, core::mem::transmute_copy(&dwidctl)) {
Ok(ok__) => {
ppsztext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEditBoxText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, psztext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetEditBoxText(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&psztext)).into()
}
unsafe extern "system" fn GetCheckButtonState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pbchecked: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogCustomize_Impl::GetCheckButtonState(this, core::mem::transmute_copy(&dwidctl)) {
Ok(ok__) => {
pbchecked.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCheckButtonState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, bchecked: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetCheckButtonState(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&bchecked)).into()
}
unsafe extern "system" fn AddControlItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::AddControlItem(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem), core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn RemoveControlItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::RemoveControlItem(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem)).into()
}
unsafe extern "system" fn RemoveAllControlItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::RemoveAllControlItems(this, core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn GetControlItemState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32, pdwstate: *mut CDCONTROLSTATEF) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogCustomize_Impl::GetControlItemState(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem)) {
Ok(ok__) => {
pdwstate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetControlItemState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32, dwstate: CDCONTROLSTATEF) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetControlItemState(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem), core::mem::transmute_copy(&dwstate)).into()
}
unsafe extern "system" fn GetSelectedControlItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pdwiditem: *mut u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogCustomize_Impl::GetSelectedControlItem(this, core::mem::transmute_copy(&dwidctl)) {
Ok(ok__) => {
pdwiditem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSelectedControlItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetSelectedControlItem(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem)).into()
}
unsafe extern "system" fn StartVisualGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::StartVisualGroup(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute(&pszlabel)).into()
}
unsafe extern "system" fn EndVisualGroup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::EndVisualGroup(this).into()
}
unsafe extern "system" fn MakeProminent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::MakeProminent(this, core::mem::transmute_copy(&dwidctl)).into()
}
unsafe extern "system" fn SetControlItemText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwidctl: u32, dwiditem: u32, pszlabel: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileDialogCustomize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogCustomize_Impl::SetControlItemText(this, core::mem::transmute_copy(&dwidctl), core::mem::transmute_copy(&dwiditem), core::mem::transmute(&pszlabel)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EnableOpenDropDown: EnableOpenDropDown::<Identity, OFFSET>,
AddMenu: AddMenu::<Identity, OFFSET>,
AddPushButton: AddPushButton::<Identity, OFFSET>,
AddComboBox: AddComboBox::<Identity, OFFSET>,
AddRadioButtonList: AddRadioButtonList::<Identity, OFFSET>,
AddCheckButton: AddCheckButton::<Identity, OFFSET>,
AddEditBox: AddEditBox::<Identity, OFFSET>,
AddSeparator: AddSeparator::<Identity, OFFSET>,
AddText: AddText::<Identity, OFFSET>,
SetControlLabel: SetControlLabel::<Identity, OFFSET>,
GetControlState: GetControlState::<Identity, OFFSET>,
SetControlState: SetControlState::<Identity, OFFSET>,
GetEditBoxText: GetEditBoxText::<Identity, OFFSET>,
SetEditBoxText: SetEditBoxText::<Identity, OFFSET>,
GetCheckButtonState: GetCheckButtonState::<Identity, OFFSET>,
SetCheckButtonState: SetCheckButtonState::<Identity, OFFSET>,
AddControlItem: AddControlItem::<Identity, OFFSET>,
RemoveControlItem: RemoveControlItem::<Identity, OFFSET>,
RemoveAllControlItems: RemoveAllControlItems::<Identity, OFFSET>,
GetControlItemState: GetControlItemState::<Identity, OFFSET>,
SetControlItemState: SetControlItemState::<Identity, OFFSET>,
GetSelectedControlItem: GetSelectedControlItem::<Identity, OFFSET>,
SetSelectedControlItem: SetSelectedControlItem::<Identity, OFFSET>,
StartVisualGroup: StartVisualGroup::<Identity, OFFSET>,
EndVisualGroup: EndVisualGroup::<Identity, OFFSET>,
MakeProminent: MakeProminent::<Identity, OFFSET>,
SetControlItemText: SetControlItemText::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileDialogCustomize as windows_core::Interface>::IID
}
}
pub trait IFileDialogEvents_Impl: Sized {
fn OnFileOk(&self, pfd: Option<&IFileDialog>) -> windows_core::Result<()>;
fn OnFolderChanging(&self, pfd: Option<&IFileDialog>, psifolder: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnFolderChange(&self, pfd: Option<&IFileDialog>) -> windows_core::Result<()>;
fn OnSelectionChange(&self, pfd: Option<&IFileDialog>) -> windows_core::Result<()>;
fn OnShareViolation(&self, pfd: Option<&IFileDialog>, psi: Option<&IShellItem>) -> windows_core::Result<FDE_SHAREVIOLATION_RESPONSE>;
fn OnTypeChange(&self, pfd: Option<&IFileDialog>) -> windows_core::Result<()>;
fn OnOverwrite(&self, pfd: Option<&IFileDialog>, psi: Option<&IShellItem>) -> windows_core::Result<FDE_OVERWRITE_RESPONSE>;
}
impl windows_core::RuntimeName for IFileDialogEvents {}
impl IFileDialogEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileDialogEvents_Vtbl
where
Identity: IFileDialogEvents_Impl,
{
unsafe extern "system" fn OnFileOk<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogEvents_Impl::OnFileOk(this, windows_core::from_raw_borrowed(&pfd)).into()
}
unsafe extern "system" fn OnFolderChanging<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void, psifolder: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogEvents_Impl::OnFolderChanging(this, windows_core::from_raw_borrowed(&pfd), windows_core::from_raw_borrowed(&psifolder)).into()
}
unsafe extern "system" fn OnFolderChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogEvents_Impl::OnFolderChange(this, windows_core::from_raw_borrowed(&pfd)).into()
}
unsafe extern "system" fn OnSelectionChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogEvents_Impl::OnSelectionChange(this, windows_core::from_raw_borrowed(&pfd)).into()
}
unsafe extern "system" fn OnShareViolation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, presponse: *mut FDE_SHAREVIOLATION_RESPONSE) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogEvents_Impl::OnShareViolation(this, windows_core::from_raw_borrowed(&pfd), windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
presponse.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnTypeChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileDialogEvents_Impl::OnTypeChange(this, windows_core::from_raw_borrowed(&pfd)).into()
}
unsafe extern "system" fn OnOverwrite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, presponse: *mut FDE_OVERWRITE_RESPONSE) -> windows_core::HRESULT
where
Identity: IFileDialogEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileDialogEvents_Impl::OnOverwrite(this, windows_core::from_raw_borrowed(&pfd), windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
presponse.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnFileOk: OnFileOk::<Identity, OFFSET>,
OnFolderChanging: OnFolderChanging::<Identity, OFFSET>,
OnFolderChange: OnFolderChange::<Identity, OFFSET>,
OnSelectionChange: OnSelectionChange::<Identity, OFFSET>,
OnShareViolation: OnShareViolation::<Identity, OFFSET>,
OnTypeChange: OnTypeChange::<Identity, OFFSET>,
OnOverwrite: OnOverwrite::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileDialogEvents as windows_core::Interface>::IID
}
}
pub trait IFileIsInUse_Impl: Sized {
fn GetAppName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetUsage(&self) -> windows_core::Result<FILE_USAGE_TYPE>;
fn GetCapabilities(&self) -> windows_core::Result<u32>;
fn GetSwitchToHWND(&self) -> windows_core::Result<super::super::Foundation::HWND>;
fn CloseFile(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFileIsInUse {}
impl IFileIsInUse_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileIsInUse_Vtbl
where
Identity: IFileIsInUse_Impl,
{
unsafe extern "system" fn GetAppName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IFileIsInUse_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileIsInUse_Impl::GetAppName(this) {
Ok(ok__) => {
ppszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUsage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfut: *mut FILE_USAGE_TYPE) -> windows_core::HRESULT
where
Identity: IFileIsInUse_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileIsInUse_Impl::GetUsage(this) {
Ok(ok__) => {
pfut.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCapabilities<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwcapflags: *mut u32) -> windows_core::HRESULT
where
Identity: IFileIsInUse_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileIsInUse_Impl::GetCapabilities(this) {
Ok(ok__) => {
pdwcapflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSwitchToHWND<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IFileIsInUse_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileIsInUse_Impl::GetSwitchToHWND(this) {
Ok(ok__) => {
phwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CloseFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileIsInUse_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileIsInUse_Impl::CloseFile(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetAppName: GetAppName::<Identity, OFFSET>,
GetUsage: GetUsage::<Identity, OFFSET>,
GetCapabilities: GetCapabilities::<Identity, OFFSET>,
GetSwitchToHWND: GetSwitchToHWND::<Identity, OFFSET>,
CloseFile: CloseFile::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileIsInUse as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IFileOpenDialog_Impl: Sized + IFileDialog_Impl {
fn GetResults(&self) -> windows_core::Result<IShellItemArray>;
fn GetSelectedItems(&self) -> windows_core::Result<IShellItemArray>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IFileOpenDialog {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IFileOpenDialog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileOpenDialog_Vtbl
where
Identity: IFileOpenDialog_Impl,
{
unsafe extern "system" fn GetResults<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOpenDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileOpenDialog_Impl::GetResults(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectedItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsai: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOpenDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileOpenDialog_Impl::GetSelectedItems(this) {
Ok(ok__) => {
ppsai.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IFileDialog_Vtbl::new::<Identity, OFFSET>(),
GetResults: GetResults::<Identity, OFFSET>,
GetSelectedItems: GetSelectedItems::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileOpenDialog as windows_core::Interface>::IID || iid == &<IModalWindow as windows_core::Interface>::IID || iid == &<IFileDialog as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IFileOperation_Impl: Sized {
fn Advise(&self, pfops: Option<&IFileOperationProgressSink>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn SetOperationFlags(&self, dwoperationflags: FILEOPERATION_FLAGS) -> windows_core::Result<()>;
fn SetProgressMessage(&self, pszmessage: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetProgressDialog(&self, popd: Option<&IOperationsProgressDialog>) -> windows_core::Result<()>;
fn SetProperties(&self, pproparray: Option<&PropertiesSystem::IPropertyChangeArray>) -> windows_core::Result<()>;
fn SetOwnerWindow(&self, hwndowner: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn ApplyPropertiesToItem(&self, psiitem: Option<&IShellItem>) -> windows_core::Result<()>;
fn ApplyPropertiesToItems(&self, punkitems: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn RenameItem(&self, psiitem: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, pfopsitem: Option<&IFileOperationProgressSink>) -> windows_core::Result<()>;
fn RenameItems(&self, punkitems: Option<&windows_core::IUnknown>, psznewname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn MoveItem(&self, psiitem: Option<&IShellItem>, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, pfopsitem: Option<&IFileOperationProgressSink>) -> windows_core::Result<()>;
fn MoveItems(&self, punkitems: Option<&windows_core::IUnknown>, psidestinationfolder: Option<&IShellItem>) -> windows_core::Result<()>;
fn CopyItem(&self, psiitem: Option<&IShellItem>, psidestinationfolder: Option<&IShellItem>, pszcopyname: &windows_core::PCWSTR, pfopsitem: Option<&IFileOperationProgressSink>) -> windows_core::Result<()>;
fn CopyItems(&self, punkitems: Option<&windows_core::IUnknown>, psidestinationfolder: Option<&IShellItem>) -> windows_core::Result<()>;
fn DeleteItem(&self, psiitem: Option<&IShellItem>, pfopsitem: Option<&IFileOperationProgressSink>) -> windows_core::Result<()>;
fn DeleteItems(&self, punkitems: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn NewItem(&self, psidestinationfolder: Option<&IShellItem>, dwfileattributes: u32, pszname: &windows_core::PCWSTR, psztemplatename: &windows_core::PCWSTR, pfopsitem: Option<&IFileOperationProgressSink>) -> windows_core::Result<()>;
fn PerformOperations(&self) -> windows_core::Result<()>;
fn GetAnyOperationsAborted(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IFileOperation {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IFileOperation_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileOperation_Vtbl
where
Identity: IFileOperation_Impl,
{
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfops: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileOperation_Impl::Advise(this, windows_core::from_raw_borrowed(&pfops)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn SetOperationFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwoperationflags: FILEOPERATION_FLAGS) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::SetOperationFlags(this, core::mem::transmute_copy(&dwoperationflags)).into()
}
unsafe extern "system" fn SetProgressMessage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszmessage: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::SetProgressMessage(this, core::mem::transmute(&pszmessage)).into()
}
unsafe extern "system" fn SetProgressDialog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, popd: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::SetProgressDialog(this, windows_core::from_raw_borrowed(&popd)).into()
}
unsafe extern "system" fn SetProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pproparray: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::SetProperties(this, windows_core::from_raw_borrowed(&pproparray)).into()
}
unsafe extern "system" fn SetOwnerWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::SetOwnerWindow(this, core::mem::transmute_copy(&hwndowner)).into()
}
unsafe extern "system" fn ApplyPropertiesToItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::ApplyPropertiesToItem(this, windows_core::from_raw_borrowed(&psiitem)).into()
}
unsafe extern "system" fn ApplyPropertiesToItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkitems: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::ApplyPropertiesToItems(this, windows_core::from_raw_borrowed(&punkitems)).into()
}
unsafe extern "system" fn RenameItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitem: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, pfopsitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::RenameItem(this, windows_core::from_raw_borrowed(&psiitem), core::mem::transmute(&psznewname), windows_core::from_raw_borrowed(&pfopsitem)).into()
}
unsafe extern "system" fn RenameItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkitems: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::RenameItems(this, windows_core::from_raw_borrowed(&punkitems), core::mem::transmute(&psznewname)).into()
}
unsafe extern "system" fn MoveItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitem: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, pfopsitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::MoveItem(this, windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname), windows_core::from_raw_borrowed(&pfopsitem)).into()
}
unsafe extern "system" fn MoveItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkitems: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::MoveItems(this, windows_core::from_raw_borrowed(&punkitems), windows_core::from_raw_borrowed(&psidestinationfolder)).into()
}
unsafe extern "system" fn CopyItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitem: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, pszcopyname: windows_core::PCWSTR, pfopsitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::CopyItem(this, windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&pszcopyname), windows_core::from_raw_borrowed(&pfopsitem)).into()
}
unsafe extern "system" fn CopyItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkitems: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::CopyItems(this, windows_core::from_raw_borrowed(&punkitems), windows_core::from_raw_borrowed(&psidestinationfolder)).into()
}
unsafe extern "system" fn DeleteItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiitem: *mut core::ffi::c_void, pfopsitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::DeleteItem(this, windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&pfopsitem)).into()
}
unsafe extern "system" fn DeleteItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkitems: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::DeleteItems(this, windows_core::from_raw_borrowed(&punkitems)).into()
}
unsafe extern "system" fn NewItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, dwfileattributes: u32, pszname: windows_core::PCWSTR, psztemplatename: windows_core::PCWSTR, pfopsitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::NewItem(this, windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute_copy(&dwfileattributes), core::mem::transmute(&pszname), core::mem::transmute(&psztemplatename), windows_core::from_raw_borrowed(&pfopsitem)).into()
}
unsafe extern "system" fn PerformOperations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation_Impl::PerformOperations(this).into()
}
unsafe extern "system" fn GetAnyOperationsAborted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfanyoperationsaborted: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFileOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileOperation_Impl::GetAnyOperationsAborted(this) {
Ok(ok__) => {
pfanyoperationsaborted.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Advise: Advise::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
SetOperationFlags: SetOperationFlags::<Identity, OFFSET>,
SetProgressMessage: SetProgressMessage::<Identity, OFFSET>,
SetProgressDialog: SetProgressDialog::<Identity, OFFSET>,
SetProperties: SetProperties::<Identity, OFFSET>,
SetOwnerWindow: SetOwnerWindow::<Identity, OFFSET>,
ApplyPropertiesToItem: ApplyPropertiesToItem::<Identity, OFFSET>,
ApplyPropertiesToItems: ApplyPropertiesToItems::<Identity, OFFSET>,
RenameItem: RenameItem::<Identity, OFFSET>,
RenameItems: RenameItems::<Identity, OFFSET>,
MoveItem: MoveItem::<Identity, OFFSET>,
MoveItems: MoveItems::<Identity, OFFSET>,
CopyItem: CopyItem::<Identity, OFFSET>,
CopyItems: CopyItems::<Identity, OFFSET>,
DeleteItem: DeleteItem::<Identity, OFFSET>,
DeleteItems: DeleteItems::<Identity, OFFSET>,
NewItem: NewItem::<Identity, OFFSET>,
PerformOperations: PerformOperations::<Identity, OFFSET>,
GetAnyOperationsAborted: GetAnyOperationsAborted::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileOperation as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IFileOperation2_Impl: Sized + IFileOperation_Impl {
fn SetOperationFlags2(&self, operationflags2: FILE_OPERATION_FLAGS2) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IFileOperation2 {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IFileOperation2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileOperation2_Vtbl
where
Identity: IFileOperation2_Impl,
{
unsafe extern "system" fn SetOperationFlags2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, operationflags2: FILE_OPERATION_FLAGS2) -> windows_core::HRESULT
where
Identity: IFileOperation2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperation2_Impl::SetOperationFlags2(this, core::mem::transmute_copy(&operationflags2)).into()
}
Self { base__: IFileOperation_Vtbl::new::<Identity, OFFSET>(), SetOperationFlags2: SetOperationFlags2::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileOperation2 as windows_core::Interface>::IID || iid == &<IFileOperation as windows_core::Interface>::IID
}
}
pub trait IFileOperationProgressSink_Impl: Sized {
fn StartOperations(&self) -> windows_core::Result<()>;
fn FinishOperations(&self, hrresult: windows_core::HRESULT) -> windows_core::Result<()>;
fn PreRenameItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, psznewname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn PostRenameItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, hrrename: windows_core::HRESULT, psinewlycreated: Option<&IShellItem>) -> windows_core::Result<()>;
fn PreMoveItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn PostMoveItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, hrmove: windows_core::HRESULT, psinewlycreated: Option<&IShellItem>) -> windows_core::Result<()>;
fn PreCopyItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn PostCopyItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, hrcopy: windows_core::HRESULT, psinewlycreated: Option<&IShellItem>) -> windows_core::Result<()>;
fn PreDeleteItem(&self, dwflags: u32, psiitem: Option<&IShellItem>) -> windows_core::Result<()>;
fn PostDeleteItem(&self, dwflags: u32, psiitem: Option<&IShellItem>, hrdelete: windows_core::HRESULT, psinewlycreated: Option<&IShellItem>) -> windows_core::Result<()>;
fn PreNewItem(&self, dwflags: u32, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn PostNewItem(&self, dwflags: u32, psidestinationfolder: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, psztemplatename: &windows_core::PCWSTR, dwfileattributes: u32, hrnew: windows_core::HRESULT, psinewitem: Option<&IShellItem>) -> windows_core::Result<()>;
fn UpdateProgress(&self, iworktotal: u32, iworksofar: u32) -> windows_core::Result<()>;
fn ResetTimer(&self) -> windows_core::Result<()>;
fn PauseTimer(&self) -> windows_core::Result<()>;
fn ResumeTimer(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFileOperationProgressSink {}
impl IFileOperationProgressSink_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileOperationProgressSink_Vtbl
where
Identity: IFileOperationProgressSink_Impl,
{
unsafe extern "system" fn StartOperations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::StartOperations(this).into()
}
unsafe extern "system" fn FinishOperations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hrresult: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::FinishOperations(this, core::mem::transmute_copy(&hrresult)).into()
}
unsafe extern "system" fn PreRenameItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PreRenameItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), core::mem::transmute(&psznewname)).into()
}
unsafe extern "system" fn PostRenameItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, hrrename: windows_core::HRESULT, psinewlycreated: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PostRenameItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), core::mem::transmute(&psznewname), core::mem::transmute_copy(&hrrename), windows_core::from_raw_borrowed(&psinewlycreated)).into()
}
unsafe extern "system" fn PreMoveItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PreMoveItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname)).into()
}
unsafe extern "system" fn PostMoveItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, hrmove: windows_core::HRESULT, psinewlycreated: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PostMoveItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname), core::mem::transmute_copy(&hrmove), windows_core::from_raw_borrowed(&psinewlycreated)).into()
}
unsafe extern "system" fn PreCopyItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PreCopyItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname)).into()
}
unsafe extern "system" fn PostCopyItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, hrcopy: windows_core::HRESULT, psinewlycreated: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PostCopyItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname), core::mem::transmute_copy(&hrcopy), windows_core::from_raw_borrowed(&psinewlycreated)).into()
}
unsafe extern "system" fn PreDeleteItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PreDeleteItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem)).into()
}
unsafe extern "system" fn PostDeleteItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psiitem: *mut core::ffi::c_void, hrdelete: windows_core::HRESULT, psinewlycreated: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PostDeleteItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psiitem), core::mem::transmute_copy(&hrdelete), windows_core::from_raw_borrowed(&psinewlycreated)).into()
}
unsafe extern "system" fn PreNewItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PreNewItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname)).into()
}
unsafe extern "system" fn PostNewItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, psidestinationfolder: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, psztemplatename: windows_core::PCWSTR, dwfileattributes: u32, hrnew: windows_core::HRESULT, psinewitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PostNewItem(this, core::mem::transmute_copy(&dwflags), windows_core::from_raw_borrowed(&psidestinationfolder), core::mem::transmute(&psznewname), core::mem::transmute(&psztemplatename), core::mem::transmute_copy(&dwfileattributes), core::mem::transmute_copy(&hrnew), windows_core::from_raw_borrowed(&psinewitem)).into()
}
unsafe extern "system" fn UpdateProgress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iworktotal: u32, iworksofar: u32) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::UpdateProgress(this, core::mem::transmute_copy(&iworktotal), core::mem::transmute_copy(&iworksofar)).into()
}
unsafe extern "system" fn ResetTimer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::ResetTimer(this).into()
}
unsafe extern "system" fn PauseTimer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::PauseTimer(this).into()
}
unsafe extern "system" fn ResumeTimer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileOperationProgressSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileOperationProgressSink_Impl::ResumeTimer(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartOperations: StartOperations::<Identity, OFFSET>,
FinishOperations: FinishOperations::<Identity, OFFSET>,
PreRenameItem: PreRenameItem::<Identity, OFFSET>,
PostRenameItem: PostRenameItem::<Identity, OFFSET>,
PreMoveItem: PreMoveItem::<Identity, OFFSET>,
PostMoveItem: PostMoveItem::<Identity, OFFSET>,
PreCopyItem: PreCopyItem::<Identity, OFFSET>,
PostCopyItem: PostCopyItem::<Identity, OFFSET>,
PreDeleteItem: PreDeleteItem::<Identity, OFFSET>,
PostDeleteItem: PostDeleteItem::<Identity, OFFSET>,
PreNewItem: PreNewItem::<Identity, OFFSET>,
PostNewItem: PostNewItem::<Identity, OFFSET>,
UpdateProgress: UpdateProgress::<Identity, OFFSET>,
ResetTimer: ResetTimer::<Identity, OFFSET>,
PauseTimer: PauseTimer::<Identity, OFFSET>,
ResumeTimer: ResumeTimer::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileOperationProgressSink as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait IFileSaveDialog_Impl: Sized + IFileDialog_Impl {
fn SetSaveAsItem(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn SetProperties(&self, pstore: Option<&PropertiesSystem::IPropertyStore>) -> windows_core::Result<()>;
fn SetCollectedProperties(&self, plist: Option<&PropertiesSystem::IPropertyDescriptionList>, fappenddefault: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetProperties(&self) -> windows_core::Result<PropertiesSystem::IPropertyStore>;
fn ApplyProperties(&self, psi: Option<&IShellItem>, pstore: Option<&PropertiesSystem::IPropertyStore>, hwnd: super::super::Foundation::HWND, psink: Option<&IFileOperationProgressSink>) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for IFileSaveDialog {}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl IFileSaveDialog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileSaveDialog_Vtbl
where
Identity: IFileSaveDialog_Impl,
{
unsafe extern "system" fn SetSaveAsItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileSaveDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSaveDialog_Impl::SetSaveAsItem(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn SetProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstore: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileSaveDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSaveDialog_Impl::SetProperties(this, windows_core::from_raw_borrowed(&pstore)).into()
}
unsafe extern "system" fn SetCollectedProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plist: *mut core::ffi::c_void, fappenddefault: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFileSaveDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSaveDialog_Impl::SetCollectedProperties(this, windows_core::from_raw_borrowed(&plist), core::mem::transmute_copy(&fappenddefault)).into()
}
unsafe extern "system" fn GetProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppstore: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileSaveDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSaveDialog_Impl::GetProperties(this) {
Ok(ok__) => {
ppstore.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ApplyProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pstore: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, psink: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileSaveDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSaveDialog_Impl::ApplyProperties(this, windows_core::from_raw_borrowed(&psi), windows_core::from_raw_borrowed(&pstore), core::mem::transmute_copy(&hwnd), windows_core::from_raw_borrowed(&psink)).into()
}
Self {
base__: IFileDialog_Vtbl::new::<Identity, OFFSET>(),
SetSaveAsItem: SetSaveAsItem::<Identity, OFFSET>,
SetProperties: SetProperties::<Identity, OFFSET>,
SetCollectedProperties: SetCollectedProperties::<Identity, OFFSET>,
GetProperties: GetProperties::<Identity, OFFSET>,
ApplyProperties: ApplyProperties::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileSaveDialog as windows_core::Interface>::IID || iid == &<IModalWindow as windows_core::Interface>::IID || iid == &<IFileDialog as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IFileSearchBand_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn SetFocus(&self) -> windows_core::Result<()>;
fn SetSearchParameters(&self, pbstrsearchid: *const windows_core::BSTR, bnavtoresults: super::super::Foundation::VARIANT_BOOL, pvarscope: *const windows_core::VARIANT, pvarqueryfile: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn SearchID(&self) -> windows_core::Result<windows_core::BSTR>;
fn Scope(&self) -> windows_core::Result<windows_core::VARIANT>;
fn QueryFile(&self) -> windows_core::Result<windows_core::VARIANT>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IFileSearchBand {}
#[cfg(feature = "Win32_System_Com")]
impl IFileSearchBand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileSearchBand_Vtbl
where
Identity: IFileSearchBand_Impl,
{
unsafe extern "system" fn SetFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFileSearchBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSearchBand_Impl::SetFocus(this).into()
}
unsafe extern "system" fn SetSearchParameters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrsearchid: *const core::mem::MaybeUninit<windows_core::BSTR>, bnavtoresults: super::super::Foundation::VARIANT_BOOL, pvarscope: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarqueryfile: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IFileSearchBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSearchBand_Impl::SetSearchParameters(this, core::mem::transmute_copy(&pbstrsearchid), core::mem::transmute_copy(&bnavtoresults), core::mem::transmute_copy(&pvarscope), core::mem::transmute_copy(&pvarqueryfile)).into()
}
unsafe extern "system" fn SearchID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrsearchid: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IFileSearchBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSearchBand_Impl::SearchID(this) {
Ok(ok__) => {
pbstrsearchid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Scope<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvarscope: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IFileSearchBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSearchBand_Impl::Scope(this) {
Ok(ok__) => {
pvarscope.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvarfile: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IFileSearchBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSearchBand_Impl::QueryFile(this) {
Ok(ok__) => {
pvarfile.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
SetFocus: SetFocus::<Identity, OFFSET>,
SetSearchParameters: SetSearchParameters::<Identity, OFFSET>,
SearchID: SearchID::<Identity, OFFSET>,
Scope: Scope::<Identity, OFFSET>,
QueryFile: QueryFile::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileSearchBand as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IFileSyncMergeHandler_Impl: Sized {
fn Merge(&self, localfilepath: &windows_core::PCWSTR, serverfilepath: &windows_core::PCWSTR) -> windows_core::Result<MERGE_UPDATE_STATUS>;
fn ShowResolveConflictUIAsync(&self, localfilepath: &windows_core::PCWSTR, monitortodisplayon: super::super::Graphics::Gdi::HMONITOR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IFileSyncMergeHandler {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IFileSyncMergeHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileSyncMergeHandler_Vtbl
where
Identity: IFileSyncMergeHandler_Impl,
{
unsafe extern "system" fn Merge<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, localfilepath: windows_core::PCWSTR, serverfilepath: windows_core::PCWSTR, updatestatus: *mut MERGE_UPDATE_STATUS) -> windows_core::HRESULT
where
Identity: IFileSyncMergeHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSyncMergeHandler_Impl::Merge(this, core::mem::transmute(&localfilepath), core::mem::transmute(&serverfilepath)) {
Ok(ok__) => {
updatestatus.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ShowResolveConflictUIAsync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, localfilepath: windows_core::PCWSTR, monitortodisplayon: super::super::Graphics::Gdi::HMONITOR) -> windows_core::HRESULT
where
Identity: IFileSyncMergeHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSyncMergeHandler_Impl::ShowResolveConflictUIAsync(this, core::mem::transmute(&localfilepath), core::mem::transmute_copy(&monitortodisplayon)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Merge: Merge::<Identity, OFFSET>,
ShowResolveConflictUIAsync: ShowResolveConflictUIAsync::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileSyncMergeHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Storage_FileSystem")]
pub trait IFileSystemBindData_Impl: Sized {
fn SetFindData(&self, pfd: *const super::super::Storage::FileSystem::WIN32_FIND_DATAW) -> windows_core::Result<()>;
fn GetFindData(&self, pfd: *mut super::super::Storage::FileSystem::WIN32_FIND_DATAW) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Storage_FileSystem")]
impl windows_core::RuntimeName for IFileSystemBindData {}
#[cfg(feature = "Win32_Storage_FileSystem")]
impl IFileSystemBindData_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileSystemBindData_Vtbl
where
Identity: IFileSystemBindData_Impl,
{
unsafe extern "system" fn SetFindData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *const super::super::Storage::FileSystem::WIN32_FIND_DATAW) -> windows_core::HRESULT
where
Identity: IFileSystemBindData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSystemBindData_Impl::SetFindData(this, core::mem::transmute_copy(&pfd)).into()
}
unsafe extern "system" fn GetFindData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfd: *mut super::super::Storage::FileSystem::WIN32_FIND_DATAW) -> windows_core::HRESULT
where
Identity: IFileSystemBindData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSystemBindData_Impl::GetFindData(this, core::mem::transmute_copy(&pfd)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetFindData: SetFindData::<Identity, OFFSET>,
GetFindData: GetFindData::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileSystemBindData as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Storage_FileSystem")]
pub trait IFileSystemBindData2_Impl: Sized + IFileSystemBindData_Impl {
fn SetFileID(&self, lifileid: i64) -> windows_core::Result<()>;
fn GetFileID(&self) -> windows_core::Result<i64>;
fn SetJunctionCLSID(&self, clsid: *const windows_core::GUID) -> windows_core::Result<()>;
fn GetJunctionCLSID(&self) -> windows_core::Result<windows_core::GUID>;
}
#[cfg(feature = "Win32_Storage_FileSystem")]
impl windows_core::RuntimeName for IFileSystemBindData2 {}
#[cfg(feature = "Win32_Storage_FileSystem")]
impl IFileSystemBindData2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFileSystemBindData2_Vtbl
where
Identity: IFileSystemBindData2_Impl,
{
unsafe extern "system" fn SetFileID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lifileid: i64) -> windows_core::HRESULT
where
Identity: IFileSystemBindData2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSystemBindData2_Impl::SetFileID(this, core::mem::transmute_copy(&lifileid)).into()
}
unsafe extern "system" fn GetFileID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plifileid: *mut i64) -> windows_core::HRESULT
where
Identity: IFileSystemBindData2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSystemBindData2_Impl::GetFileID(this) {
Ok(ok__) => {
plifileid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetJunctionCLSID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IFileSystemBindData2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFileSystemBindData2_Impl::SetJunctionCLSID(this, core::mem::transmute_copy(&clsid)).into()
}
unsafe extern "system" fn GetJunctionCLSID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pclsid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IFileSystemBindData2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFileSystemBindData2_Impl::GetJunctionCLSID(this) {
Ok(ok__) => {
pclsid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IFileSystemBindData_Vtbl::new::<Identity, OFFSET>(),
SetFileID: SetFileID::<Identity, OFFSET>,
GetFileID: GetFileID::<Identity, OFFSET>,
SetJunctionCLSID: SetJunctionCLSID::<Identity, OFFSET>,
GetJunctionCLSID: GetJunctionCLSID::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFileSystemBindData2 as windows_core::Interface>::IID || iid == &<IFileSystemBindData as windows_core::Interface>::IID
}
}
pub trait IFolderBandPriv_Impl: Sized {
fn SetCascade(&self, fcascade: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetAccelerators(&self, faccelerators: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetNoIcons(&self, fnoicons: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetNoText(&self, fnotext: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFolderBandPriv {}
impl IFolderBandPriv_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderBandPriv_Vtbl
where
Identity: IFolderBandPriv_Impl,
{
unsafe extern "system" fn SetCascade<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fcascade: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderBandPriv_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderBandPriv_Impl::SetCascade(this, core::mem::transmute_copy(&fcascade)).into()
}
unsafe extern "system" fn SetAccelerators<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, faccelerators: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderBandPriv_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderBandPriv_Impl::SetAccelerators(this, core::mem::transmute_copy(&faccelerators)).into()
}
unsafe extern "system" fn SetNoIcons<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fnoicons: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderBandPriv_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderBandPriv_Impl::SetNoIcons(this, core::mem::transmute_copy(&fnoicons)).into()
}
unsafe extern "system" fn SetNoText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fnotext: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderBandPriv_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderBandPriv_Impl::SetNoText(this, core::mem::transmute_copy(&fnotext)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetCascade: SetCascade::<Identity, OFFSET>,
SetAccelerators: SetAccelerators::<Identity, OFFSET>,
SetNoIcons: SetNoIcons::<Identity, OFFSET>,
SetNoText: SetNoText::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderBandPriv as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IFolderFilter_Impl: Sized {
fn ShouldShow(&self, psf: Option<&IShellFolder>, pidlfolder: *const Common::ITEMIDLIST, pidlitem: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn GetEnumFlags(&self, psf: Option<&IShellFolder>, pidlfolder: *const Common::ITEMIDLIST, phwnd: *mut super::super::Foundation::HWND, pgrfflags: *mut u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IFolderFilter {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IFolderFilter_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderFilter_Vtbl
where
Identity: IFolderFilter_Impl,
{
unsafe extern "system" fn ShouldShow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST, pidlitem: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IFolderFilter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderFilter_Impl::ShouldShow(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidlfolder), core::mem::transmute_copy(&pidlitem)).into()
}
unsafe extern "system" fn GetEnumFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST, phwnd: *mut super::super::Foundation::HWND, pgrfflags: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderFilter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderFilter_Impl::GetEnumFlags(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidlfolder), core::mem::transmute_copy(&phwnd), core::mem::transmute_copy(&pgrfflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ShouldShow: ShouldShow::<Identity, OFFSET>,
GetEnumFlags: GetEnumFlags::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderFilter as windows_core::Interface>::IID
}
}
pub trait IFolderFilterSite_Impl: Sized {
fn SetFilter(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFolderFilterSite {}
impl IFolderFilterSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderFilterSite_Vtbl
where
Identity: IFolderFilterSite_Impl,
{
unsafe extern "system" fn SetFilter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderFilterSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderFilterSite_Impl::SetFilter(this, windows_core::from_raw_borrowed(&punk)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetFilter: SetFilter::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderFilterSite as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IFolderView_Impl: Sized {
fn GetCurrentViewMode(&self) -> windows_core::Result<u32>;
fn SetCurrentViewMode(&self, viewmode: u32) -> windows_core::Result<()>;
fn GetFolder(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn Item(&self, iitemindex: i32) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn ItemCount(&self, uflags: &_SVGIO) -> windows_core::Result<i32>;
fn Items(&self, uflags: &_SVGIO, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetSelectionMarkedItem(&self) -> windows_core::Result<i32>;
fn GetFocusedItem(&self) -> windows_core::Result<i32>;
fn GetItemPosition(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<super::super::Foundation::POINT>;
fn GetSpacing(&self, ppt: *mut super::super::Foundation::POINT) -> windows_core::Result<()>;
fn GetDefaultSpacing(&self) -> windows_core::Result<super::super::Foundation::POINT>;
fn GetAutoArrange(&self) -> windows_core::Result<()>;
fn SelectItem(&self, iitem: i32, dwflags: u32) -> windows_core::Result<()>;
fn SelectAndPositionItems(&self, cidl: u32, apidl: *const *const Common::ITEMIDLIST, apt: *const super::super::Foundation::POINT, dwflags: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IFolderView {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IFolderView_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderView_Vtbl
where
Identity: IFolderView_Impl,
{
unsafe extern "system" fn GetCurrentViewMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pviewmode: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::GetCurrentViewMode(this) {
Ok(ok__) => {
pviewmode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentViewMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, viewmode: u32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::SetCurrentViewMode(this, core::mem::transmute_copy(&viewmode)).into()
}
unsafe extern "system" fn GetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::GetFolder(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn Item<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iitemindex: i32, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::Item(this, core::mem::transmute_copy(&iitemindex)) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ItemCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uflags: u32, pcitems: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::ItemCount(this, core::mem::transmute(&uflags)) {
Ok(ok__) => {
pcitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Items<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uflags: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::Items(this, core::mem::transmute(&uflags), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetSelectionMarkedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, piitem: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::GetSelectionMarkedItem(this) {
Ok(ok__) => {
piitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFocusedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, piitem: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::GetFocusedItem(this) {
Ok(ok__) => {
piitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, ppt: *mut super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::GetItemPosition(this, core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
ppt.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSpacing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *mut super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::GetSpacing(this, core::mem::transmute_copy(&ppt)).into()
}
unsafe extern "system" fn GetDefaultSpacing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *mut super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView_Impl::GetDefaultSpacing(this) {
Ok(ok__) => {
ppt.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAutoArrange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::GetAutoArrange(this).into()
}
unsafe extern "system" fn SelectItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iitem: i32, dwflags: u32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::SelectItem(this, core::mem::transmute_copy(&iitem), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn SelectAndPositionItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cidl: u32, apidl: *const *const Common::ITEMIDLIST, apt: *const super::super::Foundation::POINT, dwflags: u32) -> windows_core::HRESULT
where
Identity: IFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView_Impl::SelectAndPositionItems(this, core::mem::transmute_copy(&cidl), core::mem::transmute_copy(&apidl), core::mem::transmute_copy(&apt), core::mem::transmute_copy(&dwflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCurrentViewMode: GetCurrentViewMode::<Identity, OFFSET>,
SetCurrentViewMode: SetCurrentViewMode::<Identity, OFFSET>,
GetFolder: GetFolder::<Identity, OFFSET>,
Item: Item::<Identity, OFFSET>,
ItemCount: ItemCount::<Identity, OFFSET>,
Items: Items::<Identity, OFFSET>,
GetSelectionMarkedItem: GetSelectionMarkedItem::<Identity, OFFSET>,
GetFocusedItem: GetFocusedItem::<Identity, OFFSET>,
GetItemPosition: GetItemPosition::<Identity, OFFSET>,
GetSpacing: GetSpacing::<Identity, OFFSET>,
GetDefaultSpacing: GetDefaultSpacing::<Identity, OFFSET>,
GetAutoArrange: GetAutoArrange::<Identity, OFFSET>,
SelectItem: SelectItem::<Identity, OFFSET>,
SelectAndPositionItems: SelectAndPositionItems::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderView as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait IFolderView2_Impl: Sized + IFolderView_Impl {
fn SetGroupBy(&self, key: *const PropertiesSystem::PROPERTYKEY, fascending: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetGroupBy(&self, pkey: *mut PropertiesSystem::PROPERTYKEY, pfascending: *mut super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetViewProperty(&self, pidl: *const Common::ITEMIDLIST, propkey: *const PropertiesSystem::PROPERTYKEY, propvar: *const windows_core::PROPVARIANT) -> windows_core::Result<()>;
fn GetViewProperty(&self, pidl: *const Common::ITEMIDLIST, propkey: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::PROPVARIANT>;
fn SetTileViewProperties(&self, pidl: *const Common::ITEMIDLIST, pszproplist: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetExtendedTileViewProperties(&self, pidl: *const Common::ITEMIDLIST, pszproplist: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetText(&self, itype: FVTEXTTYPE, pwsztext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetCurrentFolderFlags(&self, dwmask: u32, dwflags: u32) -> windows_core::Result<()>;
fn GetCurrentFolderFlags(&self) -> windows_core::Result<u32>;
fn GetSortColumnCount(&self) -> windows_core::Result<i32>;
fn SetSortColumns(&self, rgsortcolumns: *const SORTCOLUMN, ccolumns: i32) -> windows_core::Result<()>;
fn GetSortColumns(&self, rgsortcolumns: *mut SORTCOLUMN, ccolumns: i32) -> windows_core::Result<()>;
fn GetItem(&self, iitem: i32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetVisibleItem(&self, istart: i32, fprevious: super::super::Foundation::BOOL) -> windows_core::Result<i32>;
fn GetSelectedItem(&self, istart: i32) -> windows_core::Result<i32>;
fn GetSelection(&self, fnoneimpliesfolder: super::super::Foundation::BOOL) -> windows_core::Result<IShellItemArray>;
fn GetSelectionState(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<u32>;
fn InvokeVerbOnSelection(&self, pszverb: &windows_core::PCSTR) -> windows_core::Result<()>;
fn SetViewModeAndIconSize(&self, uviewmode: FOLDERVIEWMODE, iimagesize: i32) -> windows_core::Result<()>;
fn GetViewModeAndIconSize(&self, puviewmode: *mut FOLDERVIEWMODE, piimagesize: *mut i32) -> windows_core::Result<()>;
fn SetGroupSubsetCount(&self, cvisiblerows: u32) -> windows_core::Result<()>;
fn GetGroupSubsetCount(&self) -> windows_core::Result<u32>;
fn SetRedraw(&self, fredrawon: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn IsMoveInSameFolder(&self) -> windows_core::Result<()>;
fn DoRename(&self) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for IFolderView2 {}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl IFolderView2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderView2_Vtbl
where
Identity: IFolderView2_Impl,
{
unsafe extern "system" fn SetGroupBy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, fascending: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetGroupBy(this, core::mem::transmute_copy(&key), core::mem::transmute_copy(&fascending)).into()
}
unsafe extern "system" fn GetGroupBy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pkey: *mut PropertiesSystem::PROPERTYKEY, pfascending: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::GetGroupBy(this, core::mem::transmute_copy(&pkey), core::mem::transmute_copy(&pfascending)).into()
}
unsafe extern "system" fn SetViewProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, propkey: *const PropertiesSystem::PROPERTYKEY, propvar: *const core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetViewProperty(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&propkey), core::mem::transmute_copy(&propvar)).into()
}
unsafe extern "system" fn GetViewProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, propkey: *const PropertiesSystem::PROPERTYKEY, ppropvar: *mut core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetViewProperty(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&propkey)) {
Ok(ok__) => {
ppropvar.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTileViewProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pszproplist: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetTileViewProperties(this, core::mem::transmute_copy(&pidl), core::mem::transmute(&pszproplist)).into()
}
unsafe extern "system" fn SetExtendedTileViewProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pszproplist: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetExtendedTileViewProperties(this, core::mem::transmute_copy(&pidl), core::mem::transmute(&pszproplist)).into()
}
unsafe extern "system" fn SetText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itype: FVTEXTTYPE, pwsztext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetText(this, core::mem::transmute_copy(&itype), core::mem::transmute(&pwsztext)).into()
}
unsafe extern "system" fn SetCurrentFolderFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwmask: u32, dwflags: u32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetCurrentFolderFlags(this, core::mem::transmute_copy(&dwmask), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetCurrentFolderFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetCurrentFolderFlags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSortColumnCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pccolumns: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetSortColumnCount(this) {
Ok(ok__) => {
pccolumns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSortColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rgsortcolumns: *const SORTCOLUMN, ccolumns: i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetSortColumns(this, core::mem::transmute_copy(&rgsortcolumns), core::mem::transmute_copy(&ccolumns)).into()
}
unsafe extern "system" fn GetSortColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rgsortcolumns: *mut SORTCOLUMN, ccolumns: i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::GetSortColumns(this, core::mem::transmute_copy(&rgsortcolumns), core::mem::transmute_copy(&ccolumns)).into()
}
unsafe extern "system" fn GetItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iitem: i32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::GetItem(this, core::mem::transmute_copy(&iitem), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetVisibleItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, istart: i32, fprevious: super::super::Foundation::BOOL, piitem: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetVisibleItem(this, core::mem::transmute_copy(&istart), core::mem::transmute_copy(&fprevious)) {
Ok(ok__) => {
piitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, istart: i32, piitem: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetSelectedItem(this, core::mem::transmute_copy(&istart)) {
Ok(ok__) => {
piitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fnoneimpliesfolder: super::super::Foundation::BOOL, ppsia: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetSelection(this, core::mem::transmute_copy(&fnoneimpliesfolder)) {
Ok(ok__) => {
ppsia.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectionState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetSelectionState(this, core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InvokeVerbOnSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszverb: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::InvokeVerbOnSelection(this, core::mem::transmute(&pszverb)).into()
}
unsafe extern "system" fn SetViewModeAndIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uviewmode: FOLDERVIEWMODE, iimagesize: i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetViewModeAndIconSize(this, core::mem::transmute_copy(&uviewmode), core::mem::transmute_copy(&iimagesize)).into()
}
unsafe extern "system" fn GetViewModeAndIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, puviewmode: *mut FOLDERVIEWMODE, piimagesize: *mut i32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::GetViewModeAndIconSize(this, core::mem::transmute_copy(&puviewmode), core::mem::transmute_copy(&piimagesize)).into()
}
unsafe extern "system" fn SetGroupSubsetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cvisiblerows: u32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetGroupSubsetCount(this, core::mem::transmute_copy(&cvisiblerows)).into()
}
unsafe extern "system" fn GetGroupSubsetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcvisiblerows: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderView2_Impl::GetGroupSubsetCount(this) {
Ok(ok__) => {
pcvisiblerows.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRedraw<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fredrawon: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::SetRedraw(this, core::mem::transmute_copy(&fredrawon)).into()
}
unsafe extern "system" fn IsMoveInSameFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::IsMoveInSameFolder(this).into()
}
unsafe extern "system" fn DoRename<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderView2_Impl::DoRename(this).into()
}
Self {
base__: IFolderView_Vtbl::new::<Identity, OFFSET>(),
SetGroupBy: SetGroupBy::<Identity, OFFSET>,
GetGroupBy: GetGroupBy::<Identity, OFFSET>,
SetViewProperty: SetViewProperty::<Identity, OFFSET>,
GetViewProperty: GetViewProperty::<Identity, OFFSET>,
SetTileViewProperties: SetTileViewProperties::<Identity, OFFSET>,
SetExtendedTileViewProperties: SetExtendedTileViewProperties::<Identity, OFFSET>,
SetText: SetText::<Identity, OFFSET>,
SetCurrentFolderFlags: SetCurrentFolderFlags::<Identity, OFFSET>,
GetCurrentFolderFlags: GetCurrentFolderFlags::<Identity, OFFSET>,
GetSortColumnCount: GetSortColumnCount::<Identity, OFFSET>,
SetSortColumns: SetSortColumns::<Identity, OFFSET>,
GetSortColumns: GetSortColumns::<Identity, OFFSET>,
GetItem: GetItem::<Identity, OFFSET>,
GetVisibleItem: GetVisibleItem::<Identity, OFFSET>,
GetSelectedItem: GetSelectedItem::<Identity, OFFSET>,
GetSelection: GetSelection::<Identity, OFFSET>,
GetSelectionState: GetSelectionState::<Identity, OFFSET>,
InvokeVerbOnSelection: InvokeVerbOnSelection::<Identity, OFFSET>,
SetViewModeAndIconSize: SetViewModeAndIconSize::<Identity, OFFSET>,
GetViewModeAndIconSize: GetViewModeAndIconSize::<Identity, OFFSET>,
SetGroupSubsetCount: SetGroupSubsetCount::<Identity, OFFSET>,
GetGroupSubsetCount: GetGroupSubsetCount::<Identity, OFFSET>,
SetRedraw: SetRedraw::<Identity, OFFSET>,
IsMoveInSameFolder: IsMoveInSameFolder::<Identity, OFFSET>,
DoRename: DoRename::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderView2 as windows_core::Interface>::IID || iid == &<IFolderView as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IFolderViewHost_Impl: Sized {
fn Initialize(&self, hwndparent: super::super::Foundation::HWND, pdo: Option<&super::super::System::Com::IDataObject>, prc: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IFolderViewHost {}
#[cfg(feature = "Win32_System_Com")]
impl IFolderViewHost_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderViewHost_Vtbl
where
Identity: IFolderViewHost_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND, pdo: *mut core::ffi::c_void, prc: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IFolderViewHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewHost_Impl::Initialize(this, core::mem::transmute_copy(&hwndparent), windows_core::from_raw_borrowed(&pdo), core::mem::transmute_copy(&prc)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderViewHost as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IFolderViewOC_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn SetFolderView(&self, pdisp: Option<&super::super::System::Com::IDispatch>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IFolderViewOC {}
#[cfg(feature = "Win32_System_Com")]
impl IFolderViewOC_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderViewOC_Vtbl
where
Identity: IFolderViewOC_Impl,
{
unsafe extern "system" fn SetFolderView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdisp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderViewOC_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewOC_Impl::SetFolderView(this, windows_core::from_raw_borrowed(&pdisp)).into()
}
Self { base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(), SetFolderView: SetFolderView::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderViewOC as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
pub trait IFolderViewOptions_Impl: Sized {
fn SetFolderViewOptions(&self, fvomask: FOLDERVIEWOPTIONS, fvoflags: FOLDERVIEWOPTIONS) -> windows_core::Result<()>;
fn GetFolderViewOptions(&self) -> windows_core::Result<FOLDERVIEWOPTIONS>;
}
impl windows_core::RuntimeName for IFolderViewOptions {}
impl IFolderViewOptions_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderViewOptions_Vtbl
where
Identity: IFolderViewOptions_Impl,
{
unsafe extern "system" fn SetFolderViewOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fvomask: FOLDERVIEWOPTIONS, fvoflags: FOLDERVIEWOPTIONS) -> windows_core::HRESULT
where
Identity: IFolderViewOptions_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewOptions_Impl::SetFolderViewOptions(this, core::mem::transmute_copy(&fvomask), core::mem::transmute_copy(&fvoflags)).into()
}
unsafe extern "system" fn GetFolderViewOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfvoflags: *mut FOLDERVIEWOPTIONS) -> windows_core::HRESULT
where
Identity: IFolderViewOptions_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderViewOptions_Impl::GetFolderViewOptions(this) {
Ok(ok__) => {
pfvoflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetFolderViewOptions: SetFolderViewOptions::<Identity, OFFSET>,
GetFolderViewOptions: GetFolderViewOptions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderViewOptions as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IFolderViewSettings_Impl: Sized {
fn GetColumnPropertyList(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetGroupByProperty(&self, pkey: *mut PropertiesSystem::PROPERTYKEY, pfgroupascending: *mut super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetViewMode(&self) -> windows_core::Result<FOLDERLOGICALVIEWMODE>;
fn GetIconSize(&self) -> windows_core::Result<u32>;
fn GetFolderFlags(&self, pfoldermask: *mut FOLDERFLAGS, pfolderflags: *mut FOLDERFLAGS) -> windows_core::Result<()>;
fn GetSortColumns(&self, rgsortcolumns: *mut SORTCOLUMN, ccolumnsin: u32, pccolumnsout: *mut u32) -> windows_core::Result<()>;
fn GetGroupSubsetCount(&self) -> windows_core::Result<u32>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IFolderViewSettings {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IFolderViewSettings_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFolderViewSettings_Vtbl
where
Identity: IFolderViewSettings_Impl,
{
unsafe extern "system" fn GetColumnPropertyList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewSettings_Impl::GetColumnPropertyList(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetGroupByProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pkey: *mut PropertiesSystem::PROPERTYKEY, pfgroupascending: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewSettings_Impl::GetGroupByProperty(this, core::mem::transmute_copy(&pkey), core::mem::transmute_copy(&pfgroupascending)).into()
}
unsafe extern "system" fn GetViewMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plvm: *mut FOLDERLOGICALVIEWMODE) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderViewSettings_Impl::GetViewMode(this) {
Ok(ok__) => {
plvm.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, puiconsize: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderViewSettings_Impl::GetIconSize(this) {
Ok(ok__) => {
puiconsize.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFolderFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfoldermask: *mut FOLDERFLAGS, pfolderflags: *mut FOLDERFLAGS) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewSettings_Impl::GetFolderFlags(this, core::mem::transmute_copy(&pfoldermask), core::mem::transmute_copy(&pfolderflags)).into()
}
unsafe extern "system" fn GetSortColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rgsortcolumns: *mut SORTCOLUMN, ccolumnsin: u32, pccolumnsout: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFolderViewSettings_Impl::GetSortColumns(this, core::mem::transmute_copy(&rgsortcolumns), core::mem::transmute_copy(&ccolumnsin), core::mem::transmute_copy(&pccolumnsout)).into()
}
unsafe extern "system" fn GetGroupSubsetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcvisiblerows: *mut u32) -> windows_core::HRESULT
where
Identity: IFolderViewSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFolderViewSettings_Impl::GetGroupSubsetCount(this) {
Ok(ok__) => {
pcvisiblerows.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetColumnPropertyList: GetColumnPropertyList::<Identity, OFFSET>,
GetGroupByProperty: GetGroupByProperty::<Identity, OFFSET>,
GetViewMode: GetViewMode::<Identity, OFFSET>,
GetIconSize: GetIconSize::<Identity, OFFSET>,
GetFolderFlags: GetFolderFlags::<Identity, OFFSET>,
GetSortColumns: GetSortColumns::<Identity, OFFSET>,
GetGroupSubsetCount: GetGroupSubsetCount::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFolderViewSettings as windows_core::Interface>::IID
}
}
pub trait IFrameworkInputPane_Impl: Sized {
fn Advise(&self, pwindow: Option<&windows_core::IUnknown>, phandler: Option<&IFrameworkInputPaneHandler>) -> windows_core::Result<u32>;
fn AdviseWithHWND(&self, hwnd: super::super::Foundation::HWND, phandler: Option<&IFrameworkInputPaneHandler>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn Location(&self) -> windows_core::Result<super::super::Foundation::RECT>;
}
impl windows_core::RuntimeName for IFrameworkInputPane {}
impl IFrameworkInputPane_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFrameworkInputPane_Vtbl
where
Identity: IFrameworkInputPane_Impl,
{
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwindow: *mut core::ffi::c_void, phandler: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IFrameworkInputPane_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFrameworkInputPane_Impl::Advise(this, windows_core::from_raw_borrowed(&pwindow), windows_core::from_raw_borrowed(&phandler)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AdviseWithHWND<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, phandler: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IFrameworkInputPane_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFrameworkInputPane_Impl::AdviseWithHWND(this, core::mem::transmute_copy(&hwnd), windows_core::from_raw_borrowed(&phandler)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: IFrameworkInputPane_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFrameworkInputPane_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn Location<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prcinputpanescreenlocation: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IFrameworkInputPane_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IFrameworkInputPane_Impl::Location(this) {
Ok(ok__) => {
prcinputpanescreenlocation.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Advise: Advise::<Identity, OFFSET>,
AdviseWithHWND: AdviseWithHWND::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
Location: Location::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFrameworkInputPane as windows_core::Interface>::IID
}
}
pub trait IFrameworkInputPaneHandler_Impl: Sized {
fn Showing(&self, prcinputpanescreenlocation: *const super::super::Foundation::RECT, fensurefocusedelementinview: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn Hiding(&self, fensurefocusedelementinview: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IFrameworkInputPaneHandler {}
impl IFrameworkInputPaneHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IFrameworkInputPaneHandler_Vtbl
where
Identity: IFrameworkInputPaneHandler_Impl,
{
unsafe extern "system" fn Showing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prcinputpanescreenlocation: *const super::super::Foundation::RECT, fensurefocusedelementinview: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFrameworkInputPaneHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFrameworkInputPaneHandler_Impl::Showing(this, core::mem::transmute_copy(&prcinputpanescreenlocation), core::mem::transmute_copy(&fensurefocusedelementinview)).into()
}
unsafe extern "system" fn Hiding<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fensurefocusedelementinview: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IFrameworkInputPaneHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IFrameworkInputPaneHandler_Impl::Hiding(this, core::mem::transmute_copy(&fensurefocusedelementinview)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Showing: Showing::<Identity, OFFSET>, Hiding: Hiding::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IFrameworkInputPaneHandler as windows_core::Interface>::IID
}
}
pub trait IGetServiceIds_Impl: Sized {
fn GetServiceIds(&self, serviceidcount: *mut u32, serviceids: *mut *mut windows_core::GUID) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IGetServiceIds {}
impl IGetServiceIds_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IGetServiceIds_Vtbl
where
Identity: IGetServiceIds_Impl,
{
unsafe extern "system" fn GetServiceIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, serviceidcount: *mut u32, serviceids: *mut *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IGetServiceIds_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IGetServiceIds_Impl::GetServiceIds(this, core::mem::transmute_copy(&serviceidcount), core::mem::transmute_copy(&serviceids)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetServiceIds: GetServiceIds::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IGetServiceIds as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHWEventHandler_Impl: Sized {
fn Initialize(&self, pszparams: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn HandleEvent(&self, pszdeviceid: &windows_core::PCWSTR, pszaltdeviceid: &windows_core::PCWSTR, pszeventtype: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn HandleEventWithContent(&self, pszdeviceid: &windows_core::PCWSTR, pszaltdeviceid: &windows_core::PCWSTR, pszeventtype: &windows_core::PCWSTR, pszcontenttypehandler: &windows_core::PCWSTR, pdataobject: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHWEventHandler {}
#[cfg(feature = "Win32_System_Com")]
impl IHWEventHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHWEventHandler_Vtbl
where
Identity: IHWEventHandler_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszparams: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHWEventHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHWEventHandler_Impl::Initialize(this, core::mem::transmute(&pszparams)).into()
}
unsafe extern "system" fn HandleEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdeviceid: windows_core::PCWSTR, pszaltdeviceid: windows_core::PCWSTR, pszeventtype: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHWEventHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHWEventHandler_Impl::HandleEvent(this, core::mem::transmute(&pszdeviceid), core::mem::transmute(&pszaltdeviceid), core::mem::transmute(&pszeventtype)).into()
}
unsafe extern "system" fn HandleEventWithContent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdeviceid: windows_core::PCWSTR, pszaltdeviceid: windows_core::PCWSTR, pszeventtype: windows_core::PCWSTR, pszcontenttypehandler: windows_core::PCWSTR, pdataobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHWEventHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHWEventHandler_Impl::HandleEventWithContent(this, core::mem::transmute(&pszdeviceid), core::mem::transmute(&pszaltdeviceid), core::mem::transmute(&pszeventtype), core::mem::transmute(&pszcontenttypehandler), windows_core::from_raw_borrowed(&pdataobject)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
HandleEvent: HandleEvent::<Identity, OFFSET>,
HandleEventWithContent: HandleEventWithContent::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHWEventHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHWEventHandler2_Impl: Sized + IHWEventHandler_Impl {
fn HandleEventWithHWND(&self, pszdeviceid: &windows_core::PCWSTR, pszaltdeviceid: &windows_core::PCWSTR, pszeventtype: &windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHWEventHandler2 {}
#[cfg(feature = "Win32_System_Com")]
impl IHWEventHandler2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHWEventHandler2_Vtbl
where
Identity: IHWEventHandler2_Impl,
{
unsafe extern "system" fn HandleEventWithHWND<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdeviceid: windows_core::PCWSTR, pszaltdeviceid: windows_core::PCWSTR, pszeventtype: windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IHWEventHandler2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHWEventHandler2_Impl::HandleEventWithHWND(this, core::mem::transmute(&pszdeviceid), core::mem::transmute(&pszaltdeviceid), core::mem::transmute(&pszeventtype), core::mem::transmute_copy(&hwndowner)).into()
}
Self { base__: IHWEventHandler_Vtbl::new::<Identity, OFFSET>(), HandleEventWithHWND: HandleEventWithHWND::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHWEventHandler2 as windows_core::Interface>::IID || iid == &<IHWEventHandler as windows_core::Interface>::IID
}
}
pub trait IHandlerActivationHost_Impl: Sized {
fn BeforeCoCreateInstance(&self, clsidhandler: *const windows_core::GUID, itemsbeingactivated: Option<&IShellItemArray>, handlerinfo: Option<&IHandlerInfo>) -> windows_core::Result<()>;
fn BeforeCreateProcess(&self, applicationpath: &windows_core::PCWSTR, commandline: &windows_core::PCWSTR, handlerinfo: Option<&IHandlerInfo>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IHandlerActivationHost {}
impl IHandlerActivationHost_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHandlerActivationHost_Vtbl
where
Identity: IHandlerActivationHost_Impl,
{
unsafe extern "system" fn BeforeCoCreateInstance<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsidhandler: *const windows_core::GUID, itemsbeingactivated: *mut core::ffi::c_void, handlerinfo: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHandlerActivationHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHandlerActivationHost_Impl::BeforeCoCreateInstance(this, core::mem::transmute_copy(&clsidhandler), windows_core::from_raw_borrowed(&itemsbeingactivated), windows_core::from_raw_borrowed(&handlerinfo)).into()
}
unsafe extern "system" fn BeforeCreateProcess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, applicationpath: windows_core::PCWSTR, commandline: windows_core::PCWSTR, handlerinfo: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHandlerActivationHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHandlerActivationHost_Impl::BeforeCreateProcess(this, core::mem::transmute(&applicationpath), core::mem::transmute(&commandline), windows_core::from_raw_borrowed(&handlerinfo)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
BeforeCoCreateInstance: BeforeCoCreateInstance::<Identity, OFFSET>,
BeforeCreateProcess: BeforeCreateProcess::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHandlerActivationHost as windows_core::Interface>::IID
}
}
pub trait IHandlerInfo_Impl: Sized {
fn GetApplicationDisplayName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetApplicationPublisher(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetApplicationIconReference(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for IHandlerInfo {}
impl IHandlerInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHandlerInfo_Vtbl
where
Identity: IHandlerInfo_Impl,
{
unsafe extern "system" fn GetApplicationDisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHandlerInfo_Impl::GetApplicationDisplayName(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetApplicationPublisher<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHandlerInfo_Impl::GetApplicationPublisher(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetApplicationIconReference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHandlerInfo_Impl::GetApplicationIconReference(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetApplicationDisplayName: GetApplicationDisplayName::<Identity, OFFSET>,
GetApplicationPublisher: GetApplicationPublisher::<Identity, OFFSET>,
GetApplicationIconReference: GetApplicationIconReference::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHandlerInfo as windows_core::Interface>::IID
}
}
pub trait IHandlerInfo2_Impl: Sized + IHandlerInfo_Impl {
fn GetApplicationId(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for IHandlerInfo2 {}
impl IHandlerInfo2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHandlerInfo2_Vtbl
where
Identity: IHandlerInfo2_Impl,
{
unsafe extern "system" fn GetApplicationId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHandlerInfo2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHandlerInfo2_Impl::GetApplicationId(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IHandlerInfo_Vtbl::new::<Identity, OFFSET>(), GetApplicationId: GetApplicationId::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHandlerInfo2 as windows_core::Interface>::IID || iid == &<IHandlerInfo as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHlink_Impl: Sized {
fn SetHlinkSite(&self, pihlsite: Option<&IHlinkSite>, dwsitedata: u32) -> windows_core::Result<()>;
fn GetHlinkSite(&self, ppihlsite: *mut Option<IHlinkSite>, pdwsitedata: *mut u32) -> windows_core::Result<()>;
fn SetMonikerReference(&self, grfhlsetf: u32, pimktarget: Option<&super::super::System::Com::IMoniker>, pwzlocation: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetMonikerReference(&self, dwwhichref: u32, ppimktarget: *mut Option<super::super::System::Com::IMoniker>, ppwzlocation: *mut windows_core::PWSTR) -> windows_core::Result<()>;
fn SetStringReference(&self, grfhlsetf: u32, pwztarget: &windows_core::PCWSTR, pwzlocation: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetStringReference(&self, dwwhichref: u32, ppwztarget: *mut windows_core::PWSTR, ppwzlocation: *mut windows_core::PWSTR) -> windows_core::Result<()>;
fn SetFriendlyName(&self, pwzfriendlyname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetFriendlyName(&self, grfhlfnamef: u32) -> windows_core::Result<windows_core::PWSTR>;
fn SetTargetFrameName(&self, pwztargetframename: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetTargetFrameName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetMiscStatus(&self) -> windows_core::Result<u32>;
fn Navigate(&self, grfhlnf: u32, pibc: Option<&super::super::System::Com::IBindCtx>, pibsc: Option<&super::super::System::Com::IBindStatusCallback>, pihlbc: Option<&IHlinkBrowseContext>) -> windows_core::Result<()>;
fn SetAdditionalParams(&self, pwzadditionalparams: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetAdditionalParams(&self) -> windows_core::Result<windows_core::PWSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHlink {}
#[cfg(feature = "Win32_System_Com")]
impl IHlink_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHlink_Vtbl
where
Identity: IHlink_Impl,
{
unsafe extern "system" fn SetHlinkSite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pihlsite: *mut core::ffi::c_void, dwsitedata: u32) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::SetHlinkSite(this, windows_core::from_raw_borrowed(&pihlsite), core::mem::transmute_copy(&dwsitedata)).into()
}
unsafe extern "system" fn GetHlinkSite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppihlsite: *mut *mut core::ffi::c_void, pdwsitedata: *mut u32) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::GetHlinkSite(this, core::mem::transmute_copy(&ppihlsite), core::mem::transmute_copy(&pdwsitedata)).into()
}
unsafe extern "system" fn SetMonikerReference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlsetf: u32, pimktarget: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::SetMonikerReference(this, core::mem::transmute_copy(&grfhlsetf), windows_core::from_raw_borrowed(&pimktarget), core::mem::transmute(&pwzlocation)).into()
}
unsafe extern "system" fn GetMonikerReference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwwhichref: u32, ppimktarget: *mut *mut core::ffi::c_void, ppwzlocation: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::GetMonikerReference(this, core::mem::transmute_copy(&dwwhichref), core::mem::transmute_copy(&ppimktarget), core::mem::transmute_copy(&ppwzlocation)).into()
}
unsafe extern "system" fn SetStringReference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlsetf: u32, pwztarget: windows_core::PCWSTR, pwzlocation: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::SetStringReference(this, core::mem::transmute_copy(&grfhlsetf), core::mem::transmute(&pwztarget), core::mem::transmute(&pwzlocation)).into()
}
unsafe extern "system" fn GetStringReference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwwhichref: u32, ppwztarget: *mut windows_core::PWSTR, ppwzlocation: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::GetStringReference(this, core::mem::transmute_copy(&dwwhichref), core::mem::transmute_copy(&ppwztarget), core::mem::transmute_copy(&ppwzlocation)).into()
}
unsafe extern "system" fn SetFriendlyName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzfriendlyname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::SetFriendlyName(this, core::mem::transmute(&pwzfriendlyname)).into()
}
unsafe extern "system" fn GetFriendlyName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlfnamef: u32, ppwzfriendlyname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlink_Impl::GetFriendlyName(this, core::mem::transmute_copy(&grfhlfnamef)) {
Ok(ok__) => {
ppwzfriendlyname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTargetFrameName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwztargetframename: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::SetTargetFrameName(this, core::mem::transmute(&pwztargetframename)).into()
}
unsafe extern "system" fn GetTargetFrameName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppwztargetframename: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlink_Impl::GetTargetFrameName(this) {
Ok(ok__) => {
ppwztargetframename.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMiscStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwstatus: *mut u32) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlink_Impl::GetMiscStatus(this) {
Ok(ok__) => {
pdwstatus.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Navigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlnf: u32, pibc: *mut core::ffi::c_void, pibsc: *mut core::ffi::c_void, pihlbc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::Navigate(this, core::mem::transmute_copy(&grfhlnf), windows_core::from_raw_borrowed(&pibc), windows_core::from_raw_borrowed(&pibsc), windows_core::from_raw_borrowed(&pihlbc)).into()
}
unsafe extern "system" fn SetAdditionalParams<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzadditionalparams: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlink_Impl::SetAdditionalParams(this, core::mem::transmute(&pwzadditionalparams)).into()
}
unsafe extern "system" fn GetAdditionalParams<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppwzadditionalparams: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHlink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlink_Impl::GetAdditionalParams(this) {
Ok(ok__) => {
ppwzadditionalparams.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetHlinkSite: SetHlinkSite::<Identity, OFFSET>,
GetHlinkSite: GetHlinkSite::<Identity, OFFSET>,
SetMonikerReference: SetMonikerReference::<Identity, OFFSET>,
GetMonikerReference: GetMonikerReference::<Identity, OFFSET>,
SetStringReference: SetStringReference::<Identity, OFFSET>,
GetStringReference: GetStringReference::<Identity, OFFSET>,
SetFriendlyName: SetFriendlyName::<Identity, OFFSET>,
GetFriendlyName: GetFriendlyName::<Identity, OFFSET>,
SetTargetFrameName: SetTargetFrameName::<Identity, OFFSET>,
GetTargetFrameName: GetTargetFrameName::<Identity, OFFSET>,
GetMiscStatus: GetMiscStatus::<Identity, OFFSET>,
Navigate: Navigate::<Identity, OFFSET>,
SetAdditionalParams: SetAdditionalParams::<Identity, OFFSET>,
GetAdditionalParams: GetAdditionalParams::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHlink as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHlinkBrowseContext_Impl: Sized {
fn Register(&self, reserved: u32, piunk: Option<&windows_core::IUnknown>, pimk: Option<&super::super::System::Com::IMoniker>) -> windows_core::Result<u32>;
fn GetObject(&self, pimk: Option<&super::super::System::Com::IMoniker>, fbindifrootregistered: super::super::Foundation::BOOL) -> windows_core::Result<windows_core::IUnknown>;
fn Revoke(&self, dwregister: u32) -> windows_core::Result<()>;
fn SetBrowseWindowInfo(&self, phlbwi: *const HLBWINFO) -> windows_core::Result<()>;
fn GetBrowseWindowInfo(&self, phlbwi: *mut HLBWINFO) -> windows_core::Result<()>;
fn SetInitialHlink(&self, pimktarget: Option<&super::super::System::Com::IMoniker>, pwzlocation: &windows_core::PCWSTR, pwzfriendlyname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn OnNavigateHlink(&self, grfhlnf: u32, pimktarget: Option<&super::super::System::Com::IMoniker>, pwzlocation: &windows_core::PCWSTR, pwzfriendlyname: &windows_core::PCWSTR) -> windows_core::Result<u32>;
fn UpdateHlink(&self, uhlid: u32, pimktarget: Option<&super::super::System::Com::IMoniker>, pwzlocation: &windows_core::PCWSTR, pwzfriendlyname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn EnumNavigationStack(&self, dwreserved: u32, grfhlfnamef: u32) -> windows_core::Result<IEnumHLITEM>;
fn QueryHlink(&self, grfhlqf: u32, uhlid: u32) -> windows_core::Result<()>;
fn GetHlink(&self, uhlid: u32) -> windows_core::Result<IHlink>;
fn SetCurrentHlink(&self, uhlid: u32) -> windows_core::Result<()>;
fn Clone(&self, piunkouter: Option<&windows_core::IUnknown>, riid: *const windows_core::GUID) -> windows_core::Result<windows_core::IUnknown>;
fn Close(&self, reserved: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHlinkBrowseContext {}
#[cfg(feature = "Win32_System_Com")]
impl IHlinkBrowseContext_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHlinkBrowseContext_Vtbl
where
Identity: IHlinkBrowseContext_Impl,
{
unsafe extern "system" fn Register<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, reserved: u32, piunk: *mut core::ffi::c_void, pimk: *mut core::ffi::c_void, pdwregister: *mut u32) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkBrowseContext_Impl::Register(this, core::mem::transmute_copy(&reserved), windows_core::from_raw_borrowed(&piunk), windows_core::from_raw_borrowed(&pimk)) {
Ok(ok__) => {
pdwregister.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pimk: *mut core::ffi::c_void, fbindifrootregistered: super::super::Foundation::BOOL, ppiunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkBrowseContext_Impl::GetObject(this, windows_core::from_raw_borrowed(&pimk), core::mem::transmute_copy(&fbindifrootregistered)) {
Ok(ok__) => {
ppiunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Revoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwregister: u32) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::Revoke(this, core::mem::transmute_copy(&dwregister)).into()
}
unsafe extern "system" fn SetBrowseWindowInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phlbwi: *const HLBWINFO) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::SetBrowseWindowInfo(this, core::mem::transmute_copy(&phlbwi)).into()
}
unsafe extern "system" fn GetBrowseWindowInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phlbwi: *mut HLBWINFO) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::GetBrowseWindowInfo(this, core::mem::transmute_copy(&phlbwi)).into()
}
unsafe extern "system" fn SetInitialHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pimktarget: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, pwzfriendlyname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::SetInitialHlink(this, windows_core::from_raw_borrowed(&pimktarget), core::mem::transmute(&pwzlocation), core::mem::transmute(&pwzfriendlyname)).into()
}
unsafe extern "system" fn OnNavigateHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlnf: u32, pimktarget: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, pwzfriendlyname: windows_core::PCWSTR, puhlid: *mut u32) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkBrowseContext_Impl::OnNavigateHlink(this, core::mem::transmute_copy(&grfhlnf), windows_core::from_raw_borrowed(&pimktarget), core::mem::transmute(&pwzlocation), core::mem::transmute(&pwzfriendlyname)) {
Ok(ok__) => {
puhlid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn UpdateHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uhlid: u32, pimktarget: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, pwzfriendlyname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::UpdateHlink(this, core::mem::transmute_copy(&uhlid), windows_core::from_raw_borrowed(&pimktarget), core::mem::transmute(&pwzlocation), core::mem::transmute(&pwzfriendlyname)).into()
}
unsafe extern "system" fn EnumNavigationStack<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwreserved: u32, grfhlfnamef: u32, ppienumhlitem: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkBrowseContext_Impl::EnumNavigationStack(this, core::mem::transmute_copy(&dwreserved), core::mem::transmute_copy(&grfhlfnamef)) {
Ok(ok__) => {
ppienumhlitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn QueryHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlqf: u32, uhlid: u32) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::QueryHlink(this, core::mem::transmute_copy(&grfhlqf), core::mem::transmute_copy(&uhlid)).into()
}
unsafe extern "system" fn GetHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uhlid: u32, ppihl: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkBrowseContext_Impl::GetHlink(this, core::mem::transmute_copy(&uhlid)) {
Ok(ok__) => {
ppihl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uhlid: u32) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::SetCurrentHlink(this, core::mem::transmute_copy(&uhlid)).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, piunkouter: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppiunkobj: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkBrowseContext_Impl::Clone(this, windows_core::from_raw_borrowed(&piunkouter), core::mem::transmute_copy(&riid)) {
Ok(ok__) => {
ppiunkobj.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Close<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, reserved: u32) -> windows_core::HRESULT
where
Identity: IHlinkBrowseContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkBrowseContext_Impl::Close(this, core::mem::transmute_copy(&reserved)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Register: Register::<Identity, OFFSET>,
GetObject: GetObject::<Identity, OFFSET>,
Revoke: Revoke::<Identity, OFFSET>,
SetBrowseWindowInfo: SetBrowseWindowInfo::<Identity, OFFSET>,
GetBrowseWindowInfo: GetBrowseWindowInfo::<Identity, OFFSET>,
SetInitialHlink: SetInitialHlink::<Identity, OFFSET>,
OnNavigateHlink: OnNavigateHlink::<Identity, OFFSET>,
UpdateHlink: UpdateHlink::<Identity, OFFSET>,
EnumNavigationStack: EnumNavigationStack::<Identity, OFFSET>,
QueryHlink: QueryHlink::<Identity, OFFSET>,
GetHlink: GetHlink::<Identity, OFFSET>,
SetCurrentHlink: SetCurrentHlink::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
Close: Close::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHlinkBrowseContext as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHlinkFrame_Impl: Sized {
fn SetBrowseContext(&self, pihlbc: Option<&IHlinkBrowseContext>) -> windows_core::Result<()>;
fn GetBrowseContext(&self) -> windows_core::Result<IHlinkBrowseContext>;
fn Navigate(&self, grfhlnf: u32, pbc: Option<&super::super::System::Com::IBindCtx>, pibsc: Option<&super::super::System::Com::IBindStatusCallback>, pihlnavigate: Option<&IHlink>) -> windows_core::Result<()>;
fn OnNavigate(&self, grfhlnf: u32, pimktarget: Option<&super::super::System::Com::IMoniker>, pwzlocation: &windows_core::PCWSTR, pwzfriendlyname: &windows_core::PCWSTR, dwreserved: u32) -> windows_core::Result<()>;
fn UpdateHlink(&self, uhlid: u32, pimktarget: Option<&super::super::System::Com::IMoniker>, pwzlocation: &windows_core::PCWSTR, pwzfriendlyname: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHlinkFrame {}
#[cfg(feature = "Win32_System_Com")]
impl IHlinkFrame_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHlinkFrame_Vtbl
where
Identity: IHlinkFrame_Impl,
{
unsafe extern "system" fn SetBrowseContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pihlbc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkFrame_Impl::SetBrowseContext(this, windows_core::from_raw_borrowed(&pihlbc)).into()
}
unsafe extern "system" fn GetBrowseContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppihlbc: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkFrame_Impl::GetBrowseContext(this) {
Ok(ok__) => {
ppihlbc.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Navigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlnf: u32, pbc: *mut core::ffi::c_void, pibsc: *mut core::ffi::c_void, pihlnavigate: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkFrame_Impl::Navigate(this, core::mem::transmute_copy(&grfhlnf), windows_core::from_raw_borrowed(&pbc), windows_core::from_raw_borrowed(&pibsc), windows_core::from_raw_borrowed(&pihlnavigate)).into()
}
unsafe extern "system" fn OnNavigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlnf: u32, pimktarget: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, pwzfriendlyname: windows_core::PCWSTR, dwreserved: u32) -> windows_core::HRESULT
where
Identity: IHlinkFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkFrame_Impl::OnNavigate(this, core::mem::transmute_copy(&grfhlnf), windows_core::from_raw_borrowed(&pimktarget), core::mem::transmute(&pwzlocation), core::mem::transmute(&pwzfriendlyname), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn UpdateHlink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uhlid: u32, pimktarget: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, pwzfriendlyname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlinkFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkFrame_Impl::UpdateHlink(this, core::mem::transmute_copy(&uhlid), windows_core::from_raw_borrowed(&pimktarget), core::mem::transmute(&pwzlocation), core::mem::transmute(&pwzfriendlyname)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetBrowseContext: SetBrowseContext::<Identity, OFFSET>,
GetBrowseContext: GetBrowseContext::<Identity, OFFSET>,
Navigate: Navigate::<Identity, OFFSET>,
OnNavigate: OnNavigate::<Identity, OFFSET>,
UpdateHlink: UpdateHlink::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHlinkFrame as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHlinkSite_Impl: Sized {
fn QueryService(&self, dwsitedata: u32, guidservice: *const windows_core::GUID, riid: *const windows_core::GUID) -> windows_core::Result<windows_core::IUnknown>;
fn GetMoniker(&self, dwsitedata: u32, dwassign: u32, dwwhich: u32) -> windows_core::Result<super::super::System::Com::IMoniker>;
fn ReadyToNavigate(&self, dwsitedata: u32, dwreserved: u32) -> windows_core::Result<()>;
fn OnNavigationComplete(&self, dwsitedata: u32, dwreserved: u32, hrerror: windows_core::HRESULT, pwzerror: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHlinkSite {}
#[cfg(feature = "Win32_System_Com")]
impl IHlinkSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHlinkSite_Vtbl
where
Identity: IHlinkSite_Impl,
{
unsafe extern "system" fn QueryService<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwsitedata: u32, guidservice: *const windows_core::GUID, riid: *const windows_core::GUID, ppiunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkSite_Impl::QueryService(this, core::mem::transmute_copy(&dwsitedata), core::mem::transmute_copy(&guidservice), core::mem::transmute_copy(&riid)) {
Ok(ok__) => {
ppiunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetMoniker<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwsitedata: u32, dwassign: u32, dwwhich: u32, ppimk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkSite_Impl::GetMoniker(this, core::mem::transmute_copy(&dwsitedata), core::mem::transmute_copy(&dwassign), core::mem::transmute_copy(&dwwhich)) {
Ok(ok__) => {
ppimk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ReadyToNavigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwsitedata: u32, dwreserved: u32) -> windows_core::HRESULT
where
Identity: IHlinkSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkSite_Impl::ReadyToNavigate(this, core::mem::transmute_copy(&dwsitedata), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn OnNavigationComplete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwsitedata: u32, dwreserved: u32, hrerror: windows_core::HRESULT, pwzerror: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlinkSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkSite_Impl::OnNavigationComplete(this, core::mem::transmute_copy(&dwsitedata), core::mem::transmute_copy(&dwreserved), core::mem::transmute_copy(&hrerror), core::mem::transmute(&pwzerror)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
QueryService: QueryService::<Identity, OFFSET>,
GetMoniker: GetMoniker::<Identity, OFFSET>,
ReadyToNavigate: ReadyToNavigate::<Identity, OFFSET>,
OnNavigationComplete: OnNavigationComplete::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHlinkSite as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IHlinkTarget_Impl: Sized {
fn SetBrowseContext(&self, pihlbc: Option<&IHlinkBrowseContext>) -> windows_core::Result<()>;
fn GetBrowseContext(&self) -> windows_core::Result<IHlinkBrowseContext>;
fn Navigate(&self, grfhlnf: u32, pwzjumplocation: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetMoniker(&self, pwzlocation: &windows_core::PCWSTR, dwassign: u32) -> windows_core::Result<super::super::System::Com::IMoniker>;
fn GetFriendlyName(&self, pwzlocation: &windows_core::PCWSTR) -> windows_core::Result<windows_core::PWSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IHlinkTarget {}
#[cfg(feature = "Win32_System_Com")]
impl IHlinkTarget_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHlinkTarget_Vtbl
where
Identity: IHlinkTarget_Impl,
{
unsafe extern "system" fn SetBrowseContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pihlbc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkTarget_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkTarget_Impl::SetBrowseContext(this, windows_core::from_raw_borrowed(&pihlbc)).into()
}
unsafe extern "system" fn GetBrowseContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppihlbc: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkTarget_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkTarget_Impl::GetBrowseContext(this) {
Ok(ok__) => {
ppihlbc.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Navigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfhlnf: u32, pwzjumplocation: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IHlinkTarget_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IHlinkTarget_Impl::Navigate(this, core::mem::transmute_copy(&grfhlnf), core::mem::transmute(&pwzjumplocation)).into()
}
unsafe extern "system" fn GetMoniker<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, dwassign: u32, ppimklocation: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IHlinkTarget_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkTarget_Impl::GetMoniker(this, core::mem::transmute(&pwzlocation), core::mem::transmute_copy(&dwassign)) {
Ok(ok__) => {
ppimklocation.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFriendlyName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzlocation: windows_core::PCWSTR, ppwzfriendlyname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IHlinkTarget_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHlinkTarget_Impl::GetFriendlyName(this, core::mem::transmute(&pwzlocation)) {
Ok(ok__) => {
ppwzfriendlyname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetBrowseContext: SetBrowseContext::<Identity, OFFSET>,
GetBrowseContext: GetBrowseContext::<Identity, OFFSET>,
Navigate: Navigate::<Identity, OFFSET>,
GetMoniker: GetMoniker::<Identity, OFFSET>,
GetFriendlyName: GetFriendlyName::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHlinkTarget as windows_core::Interface>::IID
}
}
pub trait IHomeGroup_Impl: Sized {
fn IsMember(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn ShowSharingWizard(&self, owner: super::super::Foundation::HWND) -> windows_core::Result<HOMEGROUPSHARINGCHOICES>;
}
impl windows_core::RuntimeName for IHomeGroup {}
impl IHomeGroup_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IHomeGroup_Vtbl
where
Identity: IHomeGroup_Impl,
{
unsafe extern "system" fn IsMember<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, member: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IHomeGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHomeGroup_Impl::IsMember(this) {
Ok(ok__) => {
member.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ShowSharingWizard<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, owner: super::super::Foundation::HWND, sharingchoices: *mut HOMEGROUPSHARINGCHOICES) -> windows_core::HRESULT
where
Identity: IHomeGroup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IHomeGroup_Impl::ShowSharingWizard(this, core::mem::transmute_copy(&owner)) {
Ok(ok__) => {
sharingchoices.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IsMember: IsMember::<Identity, OFFSET>,
ShowSharingWizard: ShowSharingWizard::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IHomeGroup as windows_core::Interface>::IID
}
}
pub trait IIOCancelInformation_Impl: Sized {
fn SetCancelInformation(&self, dwthreadid: u32, umsgcancel: u32) -> windows_core::Result<()>;
fn GetCancelInformation(&self, pdwthreadid: *mut u32, pumsgcancel: *mut u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IIOCancelInformation {}
impl IIOCancelInformation_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IIOCancelInformation_Vtbl
where
Identity: IIOCancelInformation_Impl,
{
unsafe extern "system" fn SetCancelInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwthreadid: u32, umsgcancel: u32) -> windows_core::HRESULT
where
Identity: IIOCancelInformation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IIOCancelInformation_Impl::SetCancelInformation(this, core::mem::transmute_copy(&dwthreadid), core::mem::transmute_copy(&umsgcancel)).into()
}
unsafe extern "system" fn GetCancelInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwthreadid: *mut u32, pumsgcancel: *mut u32) -> windows_core::HRESULT
where
Identity: IIOCancelInformation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IIOCancelInformation_Impl::GetCancelInformation(this, core::mem::transmute_copy(&pdwthreadid), core::mem::transmute_copy(&pumsgcancel)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetCancelInformation: SetCancelInformation::<Identity, OFFSET>,
GetCancelInformation: GetCancelInformation::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IIOCancelInformation as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IIdentityName_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IIdentityName {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IIdentityName_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IIdentityName_Vtbl
where
Identity: IIdentityName_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IIdentityName as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
pub trait IImageRecompress_Impl: Sized {
fn RecompressImage(&self, psi: Option<&IShellItem>, cx: i32, cy: i32, iquality: i32, pstg: Option<&super::super::System::Com::StructuredStorage::IStorage>) -> windows_core::Result<super::super::System::Com::IStream>;
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl windows_core::RuntimeName for IImageRecompress {}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl IImageRecompress_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IImageRecompress_Vtbl
where
Identity: IImageRecompress_Impl,
{
unsafe extern "system" fn RecompressImage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, cx: i32, cy: i32, iquality: i32, pstg: *mut core::ffi::c_void, ppstrmout: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IImageRecompress_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IImageRecompress_Impl::RecompressImage(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&cx), core::mem::transmute_copy(&cy), core::mem::transmute_copy(&iquality), windows_core::from_raw_borrowed(&pstg)) {
Ok(ok__) => {
ppstrmout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), RecompressImage: RecompressImage::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IImageRecompress as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
pub trait IInitializeCommand_Impl: Sized {
fn Initialize(&self, pszcommandname: &windows_core::PCWSTR, ppb: Option<&super::super::System::Com::StructuredStorage::IPropertyBag>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl windows_core::RuntimeName for IInitializeCommand {}
#[cfg(feature = "Win32_System_Com_StructuredStorage")]
impl IInitializeCommand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeCommand_Vtbl
where
Identity: IInitializeCommand_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszcommandname: windows_core::PCWSTR, ppb: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInitializeCommand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeCommand_Impl::Initialize(this, core::mem::transmute(&pszcommandname), windows_core::from_raw_borrowed(&ppb)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeCommand as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IInitializeNetworkFolder_Impl: Sized {
fn Initialize(&self, pidl: *const Common::ITEMIDLIST, pidltarget: *const Common::ITEMIDLIST, udisplaytype: u32, pszresname: &windows_core::PCWSTR, pszprovider: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IInitializeNetworkFolder {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IInitializeNetworkFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeNetworkFolder_Vtbl
where
Identity: IInitializeNetworkFolder_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pidltarget: *const Common::ITEMIDLIST, udisplaytype: u32, pszresname: windows_core::PCWSTR, pszprovider: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IInitializeNetworkFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeNetworkFolder_Impl::Initialize(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&pidltarget), core::mem::transmute_copy(&udisplaytype), core::mem::transmute(&pszresname), core::mem::transmute(&pszprovider)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeNetworkFolder as windows_core::Interface>::IID
}
}
pub trait IInitializeObject_Impl: Sized {
fn Initialize(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IInitializeObject {}
impl IInitializeObject_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeObject_Vtbl
where
Identity: IInitializeObject_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInitializeObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeObject_Impl::Initialize(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeObject as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IInitializeWithBindCtx_Impl: Sized {
fn Initialize(&self, pbc: Option<&super::super::System::Com::IBindCtx>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IInitializeWithBindCtx {}
#[cfg(feature = "Win32_System_Com")]
impl IInitializeWithBindCtx_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeWithBindCtx_Vtbl
where
Identity: IInitializeWithBindCtx_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInitializeWithBindCtx_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeWithBindCtx_Impl::Initialize(this, windows_core::from_raw_borrowed(&pbc)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeWithBindCtx as windows_core::Interface>::IID
}
}
pub trait IInitializeWithItem_Impl: Sized {
fn Initialize(&self, psi: Option<&IShellItem>, grfmode: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IInitializeWithItem {}
impl IInitializeWithItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeWithItem_Vtbl
where
Identity: IInitializeWithItem_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, grfmode: u32) -> windows_core::HRESULT
where
Identity: IInitializeWithItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeWithItem_Impl::Initialize(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&grfmode)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeWithItem as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IInitializeWithPropertyStore_Impl: Sized {
fn Initialize(&self, pps: Option<&PropertiesSystem::IPropertyStore>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IInitializeWithPropertyStore {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IInitializeWithPropertyStore_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeWithPropertyStore_Vtbl
where
Identity: IInitializeWithPropertyStore_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pps: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInitializeWithPropertyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeWithPropertyStore_Impl::Initialize(this, windows_core::from_raw_borrowed(&pps)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeWithPropertyStore as windows_core::Interface>::IID
}
}
pub trait IInitializeWithWindow_Impl: Sized {
fn Initialize(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IInitializeWithWindow {}
impl IInitializeWithWindow_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInitializeWithWindow_Vtbl
where
Identity: IInitializeWithWindow_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IInitializeWithWindow_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInitializeWithWindow_Impl::Initialize(this, core::mem::transmute_copy(&hwnd)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInitializeWithWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IInputObject_Impl: Sized {
fn UIActivateIO(&self, factivate: super::super::Foundation::BOOL, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
fn HasFocusIO(&self) -> windows_core::Result<()>;
fn TranslateAcceleratorIO(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IInputObject {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IInputObject_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInputObject_Vtbl
where
Identity: IInputObject_Impl,
{
unsafe extern "system" fn UIActivateIO<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, factivate: super::super::Foundation::BOOL, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IInputObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputObject_Impl::UIActivateIO(this, core::mem::transmute_copy(&factivate), core::mem::transmute_copy(&pmsg)).into()
}
unsafe extern "system" fn HasFocusIO<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInputObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputObject_Impl::HasFocusIO(this).into()
}
unsafe extern "system" fn TranslateAcceleratorIO<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IInputObject_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputObject_Impl::TranslateAcceleratorIO(this, core::mem::transmute_copy(&pmsg)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
UIActivateIO: UIActivateIO::<Identity, OFFSET>,
HasFocusIO: HasFocusIO::<Identity, OFFSET>,
TranslateAcceleratorIO: TranslateAcceleratorIO::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInputObject as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IInputObject2_Impl: Sized + IInputObject_Impl {
fn TranslateAcceleratorGlobal(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IInputObject2 {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IInputObject2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInputObject2_Vtbl
where
Identity: IInputObject2_Impl,
{
unsafe extern "system" fn TranslateAcceleratorGlobal<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IInputObject2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputObject2_Impl::TranslateAcceleratorGlobal(this, core::mem::transmute_copy(&pmsg)).into()
}
Self { base__: IInputObject_Vtbl::new::<Identity, OFFSET>(), TranslateAcceleratorGlobal: TranslateAcceleratorGlobal::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInputObject2 as windows_core::Interface>::IID || iid == &<IInputObject as windows_core::Interface>::IID
}
}
pub trait IInputObjectSite_Impl: Sized {
fn OnFocusChangeIS(&self, punkobj: Option<&windows_core::IUnknown>, fsetfocus: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IInputObjectSite {}
impl IInputObjectSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInputObjectSite_Vtbl
where
Identity: IInputObjectSite_Impl,
{
unsafe extern "system" fn OnFocusChangeIS<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkobj: *mut core::ffi::c_void, fsetfocus: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IInputObjectSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputObjectSite_Impl::OnFocusChangeIS(this, windows_core::from_raw_borrowed(&punkobj), core::mem::transmute_copy(&fsetfocus)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnFocusChangeIS: OnFocusChangeIS::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInputObjectSite as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_DirectComposition")]
pub trait IInputPaneAnimationCoordinator_Impl: Sized {
fn AddAnimation(&self, device: Option<&windows_core::IUnknown>, animation: Option<&super::super::Graphics::DirectComposition::IDCompositionAnimation>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_DirectComposition")]
impl windows_core::RuntimeName for IInputPaneAnimationCoordinator {}
#[cfg(feature = "Win32_Graphics_DirectComposition")]
impl IInputPaneAnimationCoordinator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInputPaneAnimationCoordinator_Vtbl
where
Identity: IInputPaneAnimationCoordinator_Impl,
{
unsafe extern "system" fn AddAnimation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, device: *mut core::ffi::c_void, animation: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInputPaneAnimationCoordinator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputPaneAnimationCoordinator_Impl::AddAnimation(this, windows_core::from_raw_borrowed(&device), windows_core::from_raw_borrowed(&animation)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), AddAnimation: AddAnimation::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInputPaneAnimationCoordinator as windows_core::Interface>::IID
}
}
pub trait IInputPanelConfiguration_Impl: Sized {
fn EnableFocusTracking(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IInputPanelConfiguration {}
impl IInputPanelConfiguration_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInputPanelConfiguration_Vtbl
where
Identity: IInputPanelConfiguration_Impl,
{
unsafe extern "system" fn EnableFocusTracking<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInputPanelConfiguration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputPanelConfiguration_Impl::EnableFocusTracking(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), EnableFocusTracking: EnableFocusTracking::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInputPanelConfiguration as windows_core::Interface>::IID
}
}
pub trait IInputPanelInvocationConfiguration_Impl: Sized {
fn RequireTouchInEditControl(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IInputPanelInvocationConfiguration {}
impl IInputPanelInvocationConfiguration_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInputPanelInvocationConfiguration_Vtbl
where
Identity: IInputPanelInvocationConfiguration_Impl,
{
unsafe extern "system" fn RequireTouchInEditControl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IInputPanelInvocationConfiguration_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInputPanelInvocationConfiguration_Impl::RequireTouchInEditControl(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), RequireTouchInEditControl: RequireTouchInEditControl::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInputPanelInvocationConfiguration as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IInsertItem_Impl: Sized {
fn InsertItem(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IInsertItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IInsertItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IInsertItem_Vtbl
where
Identity: IInsertItem_Impl,
{
unsafe extern "system" fn InsertItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IInsertItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IInsertItem_Impl::InsertItem(this, core::mem::transmute_copy(&pidl)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), InsertItem: InsertItem::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IInsertItem as windows_core::Interface>::IID
}
}
pub trait IItemNameLimits_Impl: Sized {
fn GetValidCharacters(&self, ppwszvalidchars: *mut windows_core::PWSTR, ppwszinvalidchars: *mut windows_core::PWSTR) -> windows_core::Result<()>;
fn GetMaxLength(&self, pszname: &windows_core::PCWSTR) -> windows_core::Result<i32>;
}
impl windows_core::RuntimeName for IItemNameLimits {}
impl IItemNameLimits_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IItemNameLimits_Vtbl
where
Identity: IItemNameLimits_Impl,
{
unsafe extern "system" fn GetValidCharacters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppwszvalidchars: *mut windows_core::PWSTR, ppwszinvalidchars: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IItemNameLimits_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IItemNameLimits_Impl::GetValidCharacters(this, core::mem::transmute_copy(&ppwszvalidchars), core::mem::transmute_copy(&ppwszinvalidchars)).into()
}
unsafe extern "system" fn GetMaxLength<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR, pimaxnamelen: *mut i32) -> windows_core::HRESULT
where
Identity: IItemNameLimits_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IItemNameLimits_Impl::GetMaxLength(this, core::mem::transmute(&pszname)) {
Ok(ok__) => {
pimaxnamelen.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetValidCharacters: GetValidCharacters::<Identity, OFFSET>,
GetMaxLength: GetMaxLength::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IItemNameLimits as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IKnownFolder_Impl: Sized {
fn GetId(&self) -> windows_core::Result<windows_core::GUID>;
fn GetCategory(&self) -> windows_core::Result<KF_CATEGORY>;
fn GetShellItem(&self, dwflags: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetPath(&self, dwflags: u32) -> windows_core::Result<windows_core::PWSTR>;
fn SetPath(&self, dwflags: u32, pszpath: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetIDList(&self, dwflags: u32) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn GetFolderType(&self) -> windows_core::Result<windows_core::GUID>;
fn GetRedirectionCapabilities(&self) -> windows_core::Result<u32>;
fn GetFolderDefinition(&self, pkfd: *mut KNOWNFOLDER_DEFINITION) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IKnownFolder {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IKnownFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IKnownFolder_Vtbl
where
Identity: IKnownFolder_Impl,
{
unsafe extern "system" fn GetId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pkfid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolder_Impl::GetId(this) {
Ok(ok__) => {
pkfid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCategory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcategory: *mut KF_CATEGORY) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolder_Impl::GetCategory(this) {
Ok(ok__) => {
pcategory.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetShellItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolder_Impl::GetShellItem(this, core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, ppszpath: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolder_Impl::GetPath(this, core::mem::transmute_copy(&dwflags)) {
Ok(ok__) => {
ppszpath.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, pszpath: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolder_Impl::SetPath(this, core::mem::transmute_copy(&dwflags), core::mem::transmute(&pszpath)).into()
}
unsafe extern "system" fn GetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolder_Impl::GetIDList(this, core::mem::transmute_copy(&dwflags)) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFolderType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pftid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolder_Impl::GetFolderType(this) {
Ok(ok__) => {
pftid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetRedirectionCapabilities<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcapabilities: *mut u32) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolder_Impl::GetRedirectionCapabilities(this) {
Ok(ok__) => {
pcapabilities.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFolderDefinition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pkfd: *mut KNOWNFOLDER_DEFINITION) -> windows_core::HRESULT
where
Identity: IKnownFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolder_Impl::GetFolderDefinition(this, core::mem::transmute_copy(&pkfd)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetId: GetId::<Identity, OFFSET>,
GetCategory: GetCategory::<Identity, OFFSET>,
GetShellItem: GetShellItem::<Identity, OFFSET>,
GetPath: GetPath::<Identity, OFFSET>,
SetPath: SetPath::<Identity, OFFSET>,
GetIDList: GetIDList::<Identity, OFFSET>,
GetFolderType: GetFolderType::<Identity, OFFSET>,
GetRedirectionCapabilities: GetRedirectionCapabilities::<Identity, OFFSET>,
GetFolderDefinition: GetFolderDefinition::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IKnownFolder as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IKnownFolderManager_Impl: Sized {
fn FolderIdFromCsidl(&self, ncsidl: i32) -> windows_core::Result<windows_core::GUID>;
fn FolderIdToCsidl(&self, rfid: *const windows_core::GUID) -> windows_core::Result<i32>;
fn GetFolderIds(&self, ppkfid: *mut *mut windows_core::GUID, pcount: *mut u32) -> windows_core::Result<()>;
fn GetFolder(&self, rfid: *const windows_core::GUID) -> windows_core::Result<IKnownFolder>;
fn GetFolderByName(&self, pszcanonicalname: &windows_core::PCWSTR) -> windows_core::Result<IKnownFolder>;
fn RegisterFolder(&self, rfid: *const windows_core::GUID, pkfd: *const KNOWNFOLDER_DEFINITION) -> windows_core::Result<()>;
fn UnregisterFolder(&self, rfid: *const windows_core::GUID) -> windows_core::Result<()>;
fn FindFolderFromPath(&self, pszpath: &windows_core::PCWSTR, mode: FFFP_MODE) -> windows_core::Result<IKnownFolder>;
fn FindFolderFromIDList(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<IKnownFolder>;
fn Redirect(&self, rfid: *const windows_core::GUID, hwnd: super::super::Foundation::HWND, flags: u32, psztargetpath: &windows_core::PCWSTR, cfolders: u32, pexclusion: *const windows_core::GUID, ppszerror: *mut windows_core::PWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IKnownFolderManager {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IKnownFolderManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IKnownFolderManager_Vtbl
where
Identity: IKnownFolderManager_Impl,
{
unsafe extern "system" fn FolderIdFromCsidl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ncsidl: i32, pfid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolderManager_Impl::FolderIdFromCsidl(this, core::mem::transmute_copy(&ncsidl)) {
Ok(ok__) => {
pfid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FolderIdToCsidl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rfid: *const windows_core::GUID, pncsidl: *mut i32) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolderManager_Impl::FolderIdToCsidl(this, core::mem::transmute_copy(&rfid)) {
Ok(ok__) => {
pncsidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFolderIds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppkfid: *mut *mut windows_core::GUID, pcount: *mut u32) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolderManager_Impl::GetFolderIds(this, core::mem::transmute_copy(&ppkfid), core::mem::transmute_copy(&pcount)).into()
}
unsafe extern "system" fn GetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rfid: *const windows_core::GUID, ppkf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolderManager_Impl::GetFolder(this, core::mem::transmute_copy(&rfid)) {
Ok(ok__) => {
ppkf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFolderByName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszcanonicalname: windows_core::PCWSTR, ppkf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolderManager_Impl::GetFolderByName(this, core::mem::transmute(&pszcanonicalname)) {
Ok(ok__) => {
ppkf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rfid: *const windows_core::GUID, pkfd: *const KNOWNFOLDER_DEFINITION) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolderManager_Impl::RegisterFolder(this, core::mem::transmute_copy(&rfid), core::mem::transmute_copy(&pkfd)).into()
}
unsafe extern "system" fn UnregisterFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rfid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolderManager_Impl::UnregisterFolder(this, core::mem::transmute_copy(&rfid)).into()
}
unsafe extern "system" fn FindFolderFromPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpath: windows_core::PCWSTR, mode: FFFP_MODE, ppkf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolderManager_Impl::FindFolderFromPath(this, core::mem::transmute(&pszpath), core::mem::transmute_copy(&mode)) {
Ok(ok__) => {
ppkf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindFolderFromIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, ppkf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IKnownFolderManager_Impl::FindFolderFromIDList(this, core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
ppkf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Redirect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rfid: *const windows_core::GUID, hwnd: super::super::Foundation::HWND, flags: u32, psztargetpath: windows_core::PCWSTR, cfolders: u32, pexclusion: *const windows_core::GUID, ppszerror: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IKnownFolderManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IKnownFolderManager_Impl::Redirect(this, core::mem::transmute_copy(&rfid), core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&flags), core::mem::transmute(&psztargetpath), core::mem::transmute_copy(&cfolders), core::mem::transmute_copy(&pexclusion), core::mem::transmute_copy(&ppszerror)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
FolderIdFromCsidl: FolderIdFromCsidl::<Identity, OFFSET>,
FolderIdToCsidl: FolderIdToCsidl::<Identity, OFFSET>,
GetFolderIds: GetFolderIds::<Identity, OFFSET>,
GetFolder: GetFolder::<Identity, OFFSET>,
GetFolderByName: GetFolderByName::<Identity, OFFSET>,
RegisterFolder: RegisterFolder::<Identity, OFFSET>,
UnregisterFolder: UnregisterFolder::<Identity, OFFSET>,
FindFolderFromPath: FindFolderFromPath::<Identity, OFFSET>,
FindFolderFromIDList: FindFolderFromIDList::<Identity, OFFSET>,
Redirect: Redirect::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IKnownFolderManager as windows_core::Interface>::IID
}
}
pub trait ILaunchSourceAppUserModelId_Impl: Sized {
fn GetAppUserModelId(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for ILaunchSourceAppUserModelId {}
impl ILaunchSourceAppUserModelId_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ILaunchSourceAppUserModelId_Vtbl
where
Identity: ILaunchSourceAppUserModelId_Impl,
{
unsafe extern "system" fn GetAppUserModelId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, launchingapp: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ILaunchSourceAppUserModelId_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ILaunchSourceAppUserModelId_Impl::GetAppUserModelId(this) {
Ok(ok__) => {
launchingapp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetAppUserModelId: GetAppUserModelId::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ILaunchSourceAppUserModelId as windows_core::Interface>::IID
}
}
pub trait ILaunchSourceViewSizePreference_Impl: Sized {
fn GetSourceViewToPosition(&self) -> windows_core::Result<super::super::Foundation::HWND>;
fn GetSourceViewSizePreference(&self) -> windows_core::Result<APPLICATION_VIEW_SIZE_PREFERENCE>;
}
impl windows_core::RuntimeName for ILaunchSourceViewSizePreference {}
impl ILaunchSourceViewSizePreference_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ILaunchSourceViewSizePreference_Vtbl
where
Identity: ILaunchSourceViewSizePreference_Impl,
{
unsafe extern "system" fn GetSourceViewToPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ILaunchSourceViewSizePreference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ILaunchSourceViewSizePreference_Impl::GetSourceViewToPosition(this) {
Ok(ok__) => {
hwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSourceViewSizePreference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sourcesizeafterlaunch: *mut APPLICATION_VIEW_SIZE_PREFERENCE) -> windows_core::HRESULT
where
Identity: ILaunchSourceViewSizePreference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ILaunchSourceViewSizePreference_Impl::GetSourceViewSizePreference(this) {
Ok(ok__) => {
sourcesizeafterlaunch.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSourceViewToPosition: GetSourceViewToPosition::<Identity, OFFSET>,
GetSourceViewSizePreference: GetSourceViewSizePreference::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ILaunchSourceViewSizePreference as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait ILaunchTargetMonitor_Impl: Sized {
fn GetMonitor(&self) -> windows_core::Result<super::super::Graphics::Gdi::HMONITOR>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for ILaunchTargetMonitor {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ILaunchTargetMonitor_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ILaunchTargetMonitor_Vtbl
where
Identity: ILaunchTargetMonitor_Impl,
{
unsafe extern "system" fn GetMonitor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, monitor: *mut super::super::Graphics::Gdi::HMONITOR) -> windows_core::HRESULT
where
Identity: ILaunchTargetMonitor_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ILaunchTargetMonitor_Impl::GetMonitor(this) {
Ok(ok__) => {
monitor.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetMonitor: GetMonitor::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ILaunchTargetMonitor as windows_core::Interface>::IID
}
}
pub trait ILaunchTargetViewSizePreference_Impl: Sized {
fn GetTargetViewSizePreference(&self) -> windows_core::Result<APPLICATION_VIEW_SIZE_PREFERENCE>;
}
impl windows_core::RuntimeName for ILaunchTargetViewSizePreference {}
impl ILaunchTargetViewSizePreference_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ILaunchTargetViewSizePreference_Vtbl
where
Identity: ILaunchTargetViewSizePreference_Impl,
{
unsafe extern "system" fn GetTargetViewSizePreference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, targetsizeonlaunch: *mut APPLICATION_VIEW_SIZE_PREFERENCE) -> windows_core::HRESULT
where
Identity: ILaunchTargetViewSizePreference_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ILaunchTargetViewSizePreference_Impl::GetTargetViewSizePreference(this) {
Ok(ok__) => {
targetsizeonlaunch.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetTargetViewSizePreference: GetTargetViewSizePreference::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ILaunchTargetViewSizePreference as windows_core::Interface>::IID
}
}
pub trait ILaunchUIContext_Impl: Sized {
fn SetAssociatedWindow(&self, value: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn SetTabGroupingPreference(&self, value: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ILaunchUIContext {}
impl ILaunchUIContext_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ILaunchUIContext_Vtbl
where
Identity: ILaunchUIContext_Impl,
{
unsafe extern "system" fn SetAssociatedWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ILaunchUIContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ILaunchUIContext_Impl::SetAssociatedWindow(this, core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn SetTabGroupingPreference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: u32) -> windows_core::HRESULT
where
Identity: ILaunchUIContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ILaunchUIContext_Impl::SetTabGroupingPreference(this, core::mem::transmute_copy(&value)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetAssociatedWindow: SetAssociatedWindow::<Identity, OFFSET>,
SetTabGroupingPreference: SetTabGroupingPreference::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ILaunchUIContext as windows_core::Interface>::IID
}
}
pub trait ILaunchUIContextProvider_Impl: Sized {
fn UpdateContext(&self, context: Option<&ILaunchUIContext>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ILaunchUIContextProvider {}
impl ILaunchUIContextProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ILaunchUIContextProvider_Vtbl
where
Identity: ILaunchUIContextProvider_Impl,
{
unsafe extern "system" fn UpdateContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, context: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ILaunchUIContextProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ILaunchUIContextProvider_Impl::UpdateContext(this, windows_core::from_raw_borrowed(&context)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), UpdateContext: UpdateContext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ILaunchUIContextProvider as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IMenuBand_Impl: Sized {
fn IsMenuMessage(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
fn TranslateMenuMessage(&self, pmsg: *mut super::WindowsAndMessaging::MSG, plret: *mut super::super::Foundation::LRESULT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IMenuBand {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IMenuBand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IMenuBand_Vtbl
where
Identity: IMenuBand_Impl,
{
unsafe extern "system" fn IsMenuMessage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IMenuBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IMenuBand_Impl::IsMenuMessage(this, core::mem::transmute_copy(&pmsg)).into()
}
unsafe extern "system" fn TranslateMenuMessage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *mut super::WindowsAndMessaging::MSG, plret: *mut super::super::Foundation::LRESULT) -> windows_core::HRESULT
where
Identity: IMenuBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IMenuBand_Impl::TranslateMenuMessage(this, core::mem::transmute_copy(&pmsg), core::mem::transmute_copy(&plret)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IsMenuMessage: IsMenuMessage::<Identity, OFFSET>,
TranslateMenuMessage: TranslateMenuMessage::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IMenuBand as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Ole")]
pub trait IMenuPopup_Impl: Sized + IDeskBar_Impl {
fn Popup(&self, ppt: *const super::super::Foundation::POINTL, prcexclude: *const super::super::Foundation::RECTL, dwflags: i32) -> windows_core::Result<()>;
fn OnSelect(&self, dwselecttype: u32) -> windows_core::Result<()>;
fn SetSubMenu(&self, pmp: Option<&IMenuPopup>, fset: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Ole")]
impl windows_core::RuntimeName for IMenuPopup {}
#[cfg(feature = "Win32_System_Ole")]
impl IMenuPopup_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IMenuPopup_Vtbl
where
Identity: IMenuPopup_Impl,
{
unsafe extern "system" fn Popup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *const super::super::Foundation::POINTL, prcexclude: *const super::super::Foundation::RECTL, dwflags: i32) -> windows_core::HRESULT
where
Identity: IMenuPopup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IMenuPopup_Impl::Popup(this, core::mem::transmute_copy(&ppt), core::mem::transmute_copy(&prcexclude), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn OnSelect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwselecttype: u32) -> windows_core::HRESULT
where
Identity: IMenuPopup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IMenuPopup_Impl::OnSelect(this, core::mem::transmute_copy(&dwselecttype)).into()
}
unsafe extern "system" fn SetSubMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmp: *mut core::ffi::c_void, fset: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IMenuPopup_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IMenuPopup_Impl::SetSubMenu(this, windows_core::from_raw_borrowed(&pmp), core::mem::transmute_copy(&fset)).into()
}
Self {
base__: IDeskBar_Vtbl::new::<Identity, OFFSET>(),
Popup: Popup::<Identity, OFFSET>,
OnSelect: OnSelect::<Identity, OFFSET>,
SetSubMenu: SetSubMenu::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IMenuPopup as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID || iid == &<IDeskBar as windows_core::Interface>::IID
}
}
pub trait IModalWindow_Impl: Sized {
fn Show(&self, hwndowner: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IModalWindow {}
impl IModalWindow_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IModalWindow_Vtbl
where
Identity: IModalWindow_Impl,
{
unsafe extern "system" fn Show<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IModalWindow_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IModalWindow_Impl::Show(this, core::mem::transmute_copy(&hwndowner)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Show: Show::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IModalWindow as windows_core::Interface>::IID
}
}
pub trait INameSpaceTreeAccessible_Impl: Sized {
fn OnGetDefaultAccessibilityAction(&self, psi: Option<&IShellItem>) -> windows_core::Result<windows_core::BSTR>;
fn OnDoDefaultAccessibilityAction(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnGetAccessibilityRole(&self, psi: Option<&IShellItem>) -> windows_core::Result<windows_core::VARIANT>;
}
impl windows_core::RuntimeName for INameSpaceTreeAccessible {}
impl INameSpaceTreeAccessible_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeAccessible_Vtbl
where
Identity: INameSpaceTreeAccessible_Impl,
{
unsafe extern "system" fn OnGetDefaultAccessibilityAction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pbstrdefaultaction: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: INameSpaceTreeAccessible_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeAccessible_Impl::OnGetDefaultAccessibilityAction(this, windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
pbstrdefaultaction.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnDoDefaultAccessibilityAction<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeAccessible_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeAccessible_Impl::OnDoDefaultAccessibilityAction(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnGetAccessibilityRole<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pvarrole: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: INameSpaceTreeAccessible_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeAccessible_Impl::OnGetAccessibilityRole(this, windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
pvarrole.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnGetDefaultAccessibilityAction: OnGetDefaultAccessibilityAction::<Identity, OFFSET>,
OnDoDefaultAccessibilityAction: OnDoDefaultAccessibilityAction::<Identity, OFFSET>,
OnGetAccessibilityRole: OnGetAccessibilityRole::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeAccessible as windows_core::Interface>::IID
}
}
pub trait INameSpaceTreeControl_Impl: Sized {
fn Initialize(&self, hwndparent: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT, nsctsflags: u32) -> windows_core::Result<()>;
fn TreeAdvise(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<u32>;
fn TreeUnadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn AppendRoot(&self, psiroot: Option<&IShellItem>, grfenumflags: u32, grfrootstyle: u32, pif: Option<&IShellItemFilter>) -> windows_core::Result<()>;
fn InsertRoot(&self, iindex: i32, psiroot: Option<&IShellItem>, grfenumflags: u32, grfrootstyle: u32, pif: Option<&IShellItemFilter>) -> windows_core::Result<()>;
fn RemoveRoot(&self, psiroot: Option<&IShellItem>) -> windows_core::Result<()>;
fn RemoveAllRoots(&self) -> windows_core::Result<()>;
fn GetRootItems(&self) -> windows_core::Result<IShellItemArray>;
fn SetItemState(&self, psi: Option<&IShellItem>, nstcismask: u32, nstcisflags: u32) -> windows_core::Result<()>;
fn GetItemState(&self, psi: Option<&IShellItem>, nstcismask: u32) -> windows_core::Result<u32>;
fn GetSelectedItems(&self) -> windows_core::Result<IShellItemArray>;
fn GetItemCustomState(&self, psi: Option<&IShellItem>) -> windows_core::Result<i32>;
fn SetItemCustomState(&self, psi: Option<&IShellItem>, istatenumber: i32) -> windows_core::Result<()>;
fn EnsureItemVisible(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn SetTheme(&self, psztheme: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetNextItem(&self, psi: Option<&IShellItem>, nstcgi: NSTCGNI) -> windows_core::Result<IShellItem>;
fn HitTest(&self, ppt: *const super::super::Foundation::POINT) -> windows_core::Result<IShellItem>;
fn GetItemRect(&self, psi: Option<&IShellItem>) -> windows_core::Result<super::super::Foundation::RECT>;
fn CollapseAll(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INameSpaceTreeControl {}
impl INameSpaceTreeControl_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeControl_Vtbl
where
Identity: INameSpaceTreeControl_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT, nsctsflags: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::Initialize(this, core::mem::transmute_copy(&hwndparent), core::mem::transmute_copy(&prc), core::mem::transmute_copy(&nsctsflags)).into()
}
unsafe extern "system" fn TreeAdvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::TreeAdvise(this, windows_core::from_raw_borrowed(&punk)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TreeUnadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::TreeUnadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn AppendRoot<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiroot: *mut core::ffi::c_void, grfenumflags: u32, grfrootstyle: u32, pif: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::AppendRoot(this, windows_core::from_raw_borrowed(&psiroot), core::mem::transmute_copy(&grfenumflags), core::mem::transmute_copy(&grfrootstyle), windows_core::from_raw_borrowed(&pif)).into()
}
unsafe extern "system" fn InsertRoot<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iindex: i32, psiroot: *mut core::ffi::c_void, grfenumflags: u32, grfrootstyle: u32, pif: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::InsertRoot(this, core::mem::transmute_copy(&iindex), windows_core::from_raw_borrowed(&psiroot), core::mem::transmute_copy(&grfenumflags), core::mem::transmute_copy(&grfrootstyle), windows_core::from_raw_borrowed(&pif)).into()
}
unsafe extern "system" fn RemoveRoot<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiroot: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::RemoveRoot(this, windows_core::from_raw_borrowed(&psiroot)).into()
}
unsafe extern "system" fn RemoveAllRoots<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::RemoveAllRoots(this).into()
}
unsafe extern "system" fn GetRootItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsiarootitems: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::GetRootItems(this) {
Ok(ok__) => {
ppsiarootitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetItemState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, nstcismask: u32, nstcisflags: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::SetItemState(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&nstcismask), core::mem::transmute_copy(&nstcisflags)).into()
}
unsafe extern "system" fn GetItemState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, nstcismask: u32, pnstcisflags: *mut u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::GetItemState(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&nstcismask)) {
Ok(ok__) => {
pnstcisflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectedItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiaitems: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::GetSelectedItems(this) {
Ok(ok__) => {
psiaitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemCustomState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pistatenumber: *mut i32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::GetItemCustomState(this, windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
pistatenumber.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetItemCustomState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, istatenumber: i32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::SetItemCustomState(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&istatenumber)).into()
}
unsafe extern "system" fn EnsureItemVisible<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::EnsureItemVisible(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn SetTheme<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztheme: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::SetTheme(this, core::mem::transmute(&psztheme)).into()
}
unsafe extern "system" fn GetNextItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, nstcgi: NSTCGNI, ppsinext: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::GetNextItem(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&nstcgi)) {
Ok(ok__) => {
ppsinext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn HitTest<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *const super::super::Foundation::POINT, ppsiout: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::HitTest(this, core::mem::transmute_copy(&ppt)) {
Ok(ok__) => {
ppsiout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemRect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, prect: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl_Impl::GetItemRect(this, windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
prect.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CollapseAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl_Impl::CollapseAll(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
TreeAdvise: TreeAdvise::<Identity, OFFSET>,
TreeUnadvise: TreeUnadvise::<Identity, OFFSET>,
AppendRoot: AppendRoot::<Identity, OFFSET>,
InsertRoot: InsertRoot::<Identity, OFFSET>,
RemoveRoot: RemoveRoot::<Identity, OFFSET>,
RemoveAllRoots: RemoveAllRoots::<Identity, OFFSET>,
GetRootItems: GetRootItems::<Identity, OFFSET>,
SetItemState: SetItemState::<Identity, OFFSET>,
GetItemState: GetItemState::<Identity, OFFSET>,
GetSelectedItems: GetSelectedItems::<Identity, OFFSET>,
GetItemCustomState: GetItemCustomState::<Identity, OFFSET>,
SetItemCustomState: SetItemCustomState::<Identity, OFFSET>,
EnsureItemVisible: EnsureItemVisible::<Identity, OFFSET>,
SetTheme: SetTheme::<Identity, OFFSET>,
GetNextItem: GetNextItem::<Identity, OFFSET>,
HitTest: HitTest::<Identity, OFFSET>,
GetItemRect: GetItemRect::<Identity, OFFSET>,
CollapseAll: CollapseAll::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeControl as windows_core::Interface>::IID
}
}
pub trait INameSpaceTreeControl2_Impl: Sized + INameSpaceTreeControl_Impl {
fn SetControlStyle(&self, nstcsmask: u32, nstcsstyle: u32) -> windows_core::Result<()>;
fn GetControlStyle(&self, nstcsmask: u32) -> windows_core::Result<u32>;
fn SetControlStyle2(&self, nstcsmask: NSTCSTYLE2, nstcsstyle: NSTCSTYLE2) -> windows_core::Result<()>;
fn GetControlStyle2(&self, nstcsmask: NSTCSTYLE2) -> windows_core::Result<NSTCSTYLE2>;
}
impl windows_core::RuntimeName for INameSpaceTreeControl2 {}
impl INameSpaceTreeControl2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeControl2_Vtbl
where
Identity: INameSpaceTreeControl2_Impl,
{
unsafe extern "system" fn SetControlStyle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nstcsmask: u32, nstcsstyle: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl2_Impl::SetControlStyle(this, core::mem::transmute_copy(&nstcsmask), core::mem::transmute_copy(&nstcsstyle)).into()
}
unsafe extern "system" fn GetControlStyle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nstcsmask: u32, pnstcsstyle: *mut u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl2_Impl::GetControlStyle(this, core::mem::transmute_copy(&nstcsmask)) {
Ok(ok__) => {
pnstcsstyle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetControlStyle2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nstcsmask: NSTCSTYLE2, nstcsstyle: NSTCSTYLE2) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControl2_Impl::SetControlStyle2(this, core::mem::transmute_copy(&nstcsmask), core::mem::transmute_copy(&nstcsstyle)).into()
}
unsafe extern "system" fn GetControlStyle2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nstcsmask: NSTCSTYLE2, pnstcsstyle: *mut NSTCSTYLE2) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControl2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControl2_Impl::GetControlStyle2(this, core::mem::transmute_copy(&nstcsmask)) {
Ok(ok__) => {
pnstcsstyle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: INameSpaceTreeControl_Vtbl::new::<Identity, OFFSET>(),
SetControlStyle: SetControlStyle::<Identity, OFFSET>,
GetControlStyle: GetControlStyle::<Identity, OFFSET>,
SetControlStyle2: SetControlStyle2::<Identity, OFFSET>,
GetControlStyle2: GetControlStyle2::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeControl2 as windows_core::Interface>::IID || iid == &<INameSpaceTreeControl as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_UI_Controls"))]
pub trait INameSpaceTreeControlCustomDraw_Impl: Sized {
fn PrePaint(&self, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT) -> windows_core::Result<super::super::Foundation::LRESULT>;
fn PostPaint(&self, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
fn ItemPrePaint(&self, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT, pnstccditem: *const NSTCCUSTOMDRAW, pclrtext: *mut super::super::Foundation::COLORREF, pclrtextbk: *mut super::super::Foundation::COLORREF, plres: *mut super::super::Foundation::LRESULT) -> windows_core::Result<()>;
fn ItemPostPaint(&self, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT, pnstccditem: *const NSTCCUSTOMDRAW) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_UI_Controls"))]
impl windows_core::RuntimeName for INameSpaceTreeControlCustomDraw {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_UI_Controls"))]
impl INameSpaceTreeControlCustomDraw_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeControlCustomDraw_Vtbl
where
Identity: INameSpaceTreeControlCustomDraw_Impl,
{
unsafe extern "system" fn PrePaint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT, plres: *mut super::super::Foundation::LRESULT) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlCustomDraw_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControlCustomDraw_Impl::PrePaint(this, core::mem::transmute_copy(&hdc), core::mem::transmute_copy(&prc)) {
Ok(ok__) => {
plres.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PostPaint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlCustomDraw_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlCustomDraw_Impl::PostPaint(this, core::mem::transmute_copy(&hdc), core::mem::transmute_copy(&prc)).into()
}
unsafe extern "system" fn ItemPrePaint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT, pnstccditem: *const NSTCCUSTOMDRAW, pclrtext: *mut super::super::Foundation::COLORREF, pclrtextbk: *mut super::super::Foundation::COLORREF, plres: *mut super::super::Foundation::LRESULT) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlCustomDraw_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlCustomDraw_Impl::ItemPrePaint(this, core::mem::transmute_copy(&hdc), core::mem::transmute_copy(&prc), core::mem::transmute_copy(&pnstccditem), core::mem::transmute_copy(&pclrtext), core::mem::transmute_copy(&pclrtextbk), core::mem::transmute_copy(&plres)).into()
}
unsafe extern "system" fn ItemPostPaint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hdc: super::super::Graphics::Gdi::HDC, prc: *const super::super::Foundation::RECT, pnstccditem: *const NSTCCUSTOMDRAW) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlCustomDraw_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlCustomDraw_Impl::ItemPostPaint(this, core::mem::transmute_copy(&hdc), core::mem::transmute_copy(&prc), core::mem::transmute_copy(&pnstccditem)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
PrePaint: PrePaint::<Identity, OFFSET>,
PostPaint: PostPaint::<Identity, OFFSET>,
ItemPrePaint: ItemPrePaint::<Identity, OFFSET>,
ItemPostPaint: ItemPostPaint::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeControlCustomDraw as windows_core::Interface>::IID
}
}
pub trait INameSpaceTreeControlDropHandler_Impl: Sized {
fn OnDragEnter(&self, psiover: Option<&IShellItem>, psiadata: Option<&IShellItemArray>, foutsidesource: super::super::Foundation::BOOL, grfkeystate: u32, pdweffect: *mut u32) -> windows_core::Result<()>;
fn OnDragOver(&self, psiover: Option<&IShellItem>, psiadata: Option<&IShellItemArray>, grfkeystate: u32, pdweffect: *mut u32) -> windows_core::Result<()>;
fn OnDragPosition(&self, psiover: Option<&IShellItem>, psiadata: Option<&IShellItemArray>, inewposition: i32, ioldposition: i32) -> windows_core::Result<()>;
fn OnDrop(&self, psiover: Option<&IShellItem>, psiadata: Option<&IShellItemArray>, iposition: i32, grfkeystate: u32, pdweffect: *mut u32) -> windows_core::Result<()>;
fn OnDropPosition(&self, psiover: Option<&IShellItem>, psiadata: Option<&IShellItemArray>, inewposition: i32, ioldposition: i32) -> windows_core::Result<()>;
fn OnDragLeave(&self, psiover: Option<&IShellItem>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INameSpaceTreeControlDropHandler {}
impl INameSpaceTreeControlDropHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeControlDropHandler_Vtbl
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
unsafe extern "system" fn OnDragEnter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiover: *mut core::ffi::c_void, psiadata: *mut core::ffi::c_void, foutsidesource: super::super::Foundation::BOOL, grfkeystate: u32, pdweffect: *mut u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlDropHandler_Impl::OnDragEnter(this, windows_core::from_raw_borrowed(&psiover), windows_core::from_raw_borrowed(&psiadata), core::mem::transmute_copy(&foutsidesource), core::mem::transmute_copy(&grfkeystate), core::mem::transmute_copy(&pdweffect)).into()
}
unsafe extern "system" fn OnDragOver<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiover: *mut core::ffi::c_void, psiadata: *mut core::ffi::c_void, grfkeystate: u32, pdweffect: *mut u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlDropHandler_Impl::OnDragOver(this, windows_core::from_raw_borrowed(&psiover), windows_core::from_raw_borrowed(&psiadata), core::mem::transmute_copy(&grfkeystate), core::mem::transmute_copy(&pdweffect)).into()
}
unsafe extern "system" fn OnDragPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiover: *mut core::ffi::c_void, psiadata: *mut core::ffi::c_void, inewposition: i32, ioldposition: i32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlDropHandler_Impl::OnDragPosition(this, windows_core::from_raw_borrowed(&psiover), windows_core::from_raw_borrowed(&psiadata), core::mem::transmute_copy(&inewposition), core::mem::transmute_copy(&ioldposition)).into()
}
unsafe extern "system" fn OnDrop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiover: *mut core::ffi::c_void, psiadata: *mut core::ffi::c_void, iposition: i32, grfkeystate: u32, pdweffect: *mut u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlDropHandler_Impl::OnDrop(this, windows_core::from_raw_borrowed(&psiover), windows_core::from_raw_borrowed(&psiadata), core::mem::transmute_copy(&iposition), core::mem::transmute_copy(&grfkeystate), core::mem::transmute_copy(&pdweffect)).into()
}
unsafe extern "system" fn OnDropPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiover: *mut core::ffi::c_void, psiadata: *mut core::ffi::c_void, inewposition: i32, ioldposition: i32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlDropHandler_Impl::OnDropPosition(this, windows_core::from_raw_borrowed(&psiover), windows_core::from_raw_borrowed(&psiadata), core::mem::transmute_copy(&inewposition), core::mem::transmute_copy(&ioldposition)).into()
}
unsafe extern "system" fn OnDragLeave<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiover: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlDropHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlDropHandler_Impl::OnDragLeave(this, windows_core::from_raw_borrowed(&psiover)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnDragEnter: OnDragEnter::<Identity, OFFSET>,
OnDragOver: OnDragOver::<Identity, OFFSET>,
OnDragPosition: OnDragPosition::<Identity, OFFSET>,
OnDrop: OnDrop::<Identity, OFFSET>,
OnDropPosition: OnDropPosition::<Identity, OFFSET>,
OnDragLeave: OnDragLeave::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeControlDropHandler as windows_core::Interface>::IID
}
}
pub trait INameSpaceTreeControlEvents_Impl: Sized {
fn OnItemClick(&self, psi: Option<&IShellItem>, nstcehittest: u32, nstceclicktype: u32) -> windows_core::Result<()>;
fn OnPropertyItemCommit(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnItemStateChanging(&self, psi: Option<&IShellItem>, nstcismask: u32, nstcisstate: u32) -> windows_core::Result<()>;
fn OnItemStateChanged(&self, psi: Option<&IShellItem>, nstcismask: u32, nstcisstate: u32) -> windows_core::Result<()>;
fn OnSelectionChanged(&self, psiaselection: Option<&IShellItemArray>) -> windows_core::Result<()>;
fn OnKeyboardInput(&self, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
fn OnBeforeExpand(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnAfterExpand(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnBeginLabelEdit(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnEndLabelEdit(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnGetToolTip(&self, psi: Option<&IShellItem>, psztip: windows_core::PWSTR, cchtip: i32) -> windows_core::Result<()>;
fn OnBeforeItemDelete(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnItemAdded(&self, psi: Option<&IShellItem>, fisroot: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OnItemDeleted(&self, psi: Option<&IShellItem>, fisroot: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn OnBeforeContextMenu(&self, psi: Option<&IShellItem>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn OnAfterContextMenu(&self, psi: Option<&IShellItem>, pcmin: Option<&IContextMenu>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn OnBeforeStateImageChange(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn OnGetDefaultIconIndex(&self, psi: Option<&IShellItem>, pidefaulticon: *mut i32, piopenicon: *mut i32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INameSpaceTreeControlEvents {}
impl INameSpaceTreeControlEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeControlEvents_Vtbl
where
Identity: INameSpaceTreeControlEvents_Impl,
{
unsafe extern "system" fn OnItemClick<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, nstcehittest: u32, nstceclicktype: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnItemClick(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&nstcehittest), core::mem::transmute_copy(&nstceclicktype)).into()
}
unsafe extern "system" fn OnPropertyItemCommit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnPropertyItemCommit(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnItemStateChanging<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, nstcismask: u32, nstcisstate: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnItemStateChanging(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&nstcismask), core::mem::transmute_copy(&nstcisstate)).into()
}
unsafe extern "system" fn OnItemStateChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, nstcismask: u32, nstcisstate: u32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnItemStateChanged(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&nstcismask), core::mem::transmute_copy(&nstcisstate)).into()
}
unsafe extern "system" fn OnSelectionChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiaselection: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnSelectionChanged(this, windows_core::from_raw_borrowed(&psiaselection)).into()
}
unsafe extern "system" fn OnKeyboardInput<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnKeyboardInput(this, core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam)).into()
}
unsafe extern "system" fn OnBeforeExpand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnBeforeExpand(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnAfterExpand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnAfterExpand(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnBeginLabelEdit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnBeginLabelEdit(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnEndLabelEdit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnEndLabelEdit(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnGetToolTip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, psztip: windows_core::PWSTR, cchtip: i32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnGetToolTip(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&psztip), core::mem::transmute_copy(&cchtip)).into()
}
unsafe extern "system" fn OnBeforeItemDelete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnBeforeItemDelete(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnItemAdded<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, fisroot: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnItemAdded(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&fisroot)).into()
}
unsafe extern "system" fn OnItemDeleted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, fisroot: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnItemDeleted(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&fisroot)).into()
}
unsafe extern "system" fn OnBeforeContextMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnBeforeContextMenu(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn OnAfterContextMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pcmin: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnAfterContextMenu(this, windows_core::from_raw_borrowed(&psi), windows_core::from_raw_borrowed(&pcmin), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn OnBeforeStateImageChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnBeforeStateImageChange(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn OnGetDefaultIconIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pidefaulticon: *mut i32, piopenicon: *mut i32) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INameSpaceTreeControlEvents_Impl::OnGetDefaultIconIndex(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&pidefaulticon), core::mem::transmute_copy(&piopenicon)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnItemClick: OnItemClick::<Identity, OFFSET>,
OnPropertyItemCommit: OnPropertyItemCommit::<Identity, OFFSET>,
OnItemStateChanging: OnItemStateChanging::<Identity, OFFSET>,
OnItemStateChanged: OnItemStateChanged::<Identity, OFFSET>,
OnSelectionChanged: OnSelectionChanged::<Identity, OFFSET>,
OnKeyboardInput: OnKeyboardInput::<Identity, OFFSET>,
OnBeforeExpand: OnBeforeExpand::<Identity, OFFSET>,
OnAfterExpand: OnAfterExpand::<Identity, OFFSET>,
OnBeginLabelEdit: OnBeginLabelEdit::<Identity, OFFSET>,
OnEndLabelEdit: OnEndLabelEdit::<Identity, OFFSET>,
OnGetToolTip: OnGetToolTip::<Identity, OFFSET>,
OnBeforeItemDelete: OnBeforeItemDelete::<Identity, OFFSET>,
OnItemAdded: OnItemAdded::<Identity, OFFSET>,
OnItemDeleted: OnItemDeleted::<Identity, OFFSET>,
OnBeforeContextMenu: OnBeforeContextMenu::<Identity, OFFSET>,
OnAfterContextMenu: OnAfterContextMenu::<Identity, OFFSET>,
OnBeforeStateImageChange: OnBeforeStateImageChange::<Identity, OFFSET>,
OnGetDefaultIconIndex: OnGetDefaultIconIndex::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeControlEvents as windows_core::Interface>::IID
}
}
pub trait INameSpaceTreeControlFolderCapabilities_Impl: Sized {
fn GetFolderCapabilities(&self, nfcmask: NSTCFOLDERCAPABILITIES) -> windows_core::Result<NSTCFOLDERCAPABILITIES>;
}
impl windows_core::RuntimeName for INameSpaceTreeControlFolderCapabilities {}
impl INameSpaceTreeControlFolderCapabilities_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INameSpaceTreeControlFolderCapabilities_Vtbl
where
Identity: INameSpaceTreeControlFolderCapabilities_Impl,
{
unsafe extern "system" fn GetFolderCapabilities<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nfcmask: NSTCFOLDERCAPABILITIES, pnfcvalue: *mut NSTCFOLDERCAPABILITIES) -> windows_core::HRESULT
where
Identity: INameSpaceTreeControlFolderCapabilities_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INameSpaceTreeControlFolderCapabilities_Impl::GetFolderCapabilities(this, core::mem::transmute_copy(&nfcmask)) {
Ok(ok__) => {
pnfcvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetFolderCapabilities: GetFolderCapabilities::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INameSpaceTreeControlFolderCapabilities as windows_core::Interface>::IID
}
}
pub trait INamedPropertyBag_Impl: Sized {
fn ReadPropertyNPB(&self, pszbagname: &windows_core::PCWSTR, pszpropname: &windows_core::PCWSTR, pvar: *mut windows_core::PROPVARIANT) -> windows_core::Result<()>;
fn WritePropertyNPB(&self, pszbagname: &windows_core::PCWSTR, pszpropname: &windows_core::PCWSTR, pvar: *const windows_core::PROPVARIANT) -> windows_core::Result<()>;
fn RemovePropertyNPB(&self, pszbagname: &windows_core::PCWSTR, pszpropname: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INamedPropertyBag {}
impl INamedPropertyBag_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INamedPropertyBag_Vtbl
where
Identity: INamedPropertyBag_Impl,
{
unsafe extern "system" fn ReadPropertyNPB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszbagname: windows_core::PCWSTR, pszpropname: windows_core::PCWSTR, pvar: *mut core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: INamedPropertyBag_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamedPropertyBag_Impl::ReadPropertyNPB(this, core::mem::transmute(&pszbagname), core::mem::transmute(&pszpropname), core::mem::transmute_copy(&pvar)).into()
}
unsafe extern "system" fn WritePropertyNPB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszbagname: windows_core::PCWSTR, pszpropname: windows_core::PCWSTR, pvar: *const core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: INamedPropertyBag_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamedPropertyBag_Impl::WritePropertyNPB(this, core::mem::transmute(&pszbagname), core::mem::transmute(&pszpropname), core::mem::transmute_copy(&pvar)).into()
}
unsafe extern "system" fn RemovePropertyNPB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszbagname: windows_core::PCWSTR, pszpropname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: INamedPropertyBag_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamedPropertyBag_Impl::RemovePropertyNPB(this, core::mem::transmute(&pszbagname), core::mem::transmute(&pszpropname)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReadPropertyNPB: ReadPropertyNPB::<Identity, OFFSET>,
WritePropertyNPB: WritePropertyNPB::<Identity, OFFSET>,
RemovePropertyNPB: RemovePropertyNPB::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INamedPropertyBag as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait INamespaceWalk_Impl: Sized {
fn Walk(&self, punktowalk: Option<&windows_core::IUnknown>, dwflags: u32, cdepth: i32, pnswcb: Option<&INamespaceWalkCB>) -> windows_core::Result<()>;
fn GetIDArrayResult(&self, pcitems: *mut u32, prgpidl: *mut *mut *mut Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for INamespaceWalk {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl INamespaceWalk_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INamespaceWalk_Vtbl
where
Identity: INamespaceWalk_Impl,
{
unsafe extern "system" fn Walk<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punktowalk: *mut core::ffi::c_void, dwflags: u32, cdepth: i32, pnswcb: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INamespaceWalk_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalk_Impl::Walk(this, windows_core::from_raw_borrowed(&punktowalk), core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&cdepth), windows_core::from_raw_borrowed(&pnswcb)).into()
}
unsafe extern "system" fn GetIDArrayResult<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcitems: *mut u32, prgpidl: *mut *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: INamespaceWalk_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalk_Impl::GetIDArrayResult(this, core::mem::transmute_copy(&pcitems), core::mem::transmute_copy(&prgpidl)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Walk: Walk::<Identity, OFFSET>,
GetIDArrayResult: GetIDArrayResult::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INamespaceWalk as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait INamespaceWalkCB_Impl: Sized {
fn FoundItem(&self, psf: Option<&IShellFolder>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn EnterFolder(&self, psf: Option<&IShellFolder>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn LeaveFolder(&self, psf: Option<&IShellFolder>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn InitializeProgressDialog(&self, ppsztitle: *mut windows_core::PWSTR, ppszcancel: *mut windows_core::PWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for INamespaceWalkCB {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl INamespaceWalkCB_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INamespaceWalkCB_Vtbl
where
Identity: INamespaceWalkCB_Impl,
{
unsafe extern "system" fn FoundItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: INamespaceWalkCB_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalkCB_Impl::FoundItem(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn EnterFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: INamespaceWalkCB_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalkCB_Impl::EnterFolder(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn LeaveFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: INamespaceWalkCB_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalkCB_Impl::LeaveFolder(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn InitializeProgressDialog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsztitle: *mut windows_core::PWSTR, ppszcancel: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: INamespaceWalkCB_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalkCB_Impl::InitializeProgressDialog(this, core::mem::transmute_copy(&ppsztitle), core::mem::transmute_copy(&ppszcancel)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
FoundItem: FoundItem::<Identity, OFFSET>,
EnterFolder: EnterFolder::<Identity, OFFSET>,
LeaveFolder: LeaveFolder::<Identity, OFFSET>,
InitializeProgressDialog: InitializeProgressDialog::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INamespaceWalkCB as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait INamespaceWalkCB2_Impl: Sized + INamespaceWalkCB_Impl {
fn WalkComplete(&self, hr: windows_core::HRESULT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for INamespaceWalkCB2 {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl INamespaceWalkCB2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INamespaceWalkCB2_Vtbl
where
Identity: INamespaceWalkCB2_Impl,
{
unsafe extern "system" fn WalkComplete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hr: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: INamespaceWalkCB2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INamespaceWalkCB2_Impl::WalkComplete(this, core::mem::transmute_copy(&hr)).into()
}
Self { base__: INamespaceWalkCB_Vtbl::new::<Identity, OFFSET>(), WalkComplete: WalkComplete::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INamespaceWalkCB2 as windows_core::Interface>::IID || iid == &<INamespaceWalkCB as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait INetworkFolderInternal_Impl: Sized {
fn GetResourceDisplayType(&self) -> windows_core::Result<u32>;
fn GetIDList(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn GetProvider(&self, itemidcount: u32, itemids: *const *const Common::ITEMIDLIST, providermaxlength: u32, provider: windows_core::PWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for INetworkFolderInternal {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl INetworkFolderInternal_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INetworkFolderInternal_Vtbl
where
Identity: INetworkFolderInternal_Impl,
{
unsafe extern "system" fn GetResourceDisplayType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, displaytype: *mut u32) -> windows_core::HRESULT
where
Identity: INetworkFolderInternal_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INetworkFolderInternal_Impl::GetResourceDisplayType(this) {
Ok(ok__) => {
displaytype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, idlist: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: INetworkFolderInternal_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INetworkFolderInternal_Impl::GetIDList(this) {
Ok(ok__) => {
idlist.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetProvider<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itemidcount: u32, itemids: *const *const Common::ITEMIDLIST, providermaxlength: u32, provider: windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: INetworkFolderInternal_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INetworkFolderInternal_Impl::GetProvider(this, core::mem::transmute_copy(&itemidcount), core::mem::transmute_copy(&itemids), core::mem::transmute_copy(&providermaxlength), core::mem::transmute_copy(&provider)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetResourceDisplayType: GetResourceDisplayType::<Identity, OFFSET>,
GetIDList: GetIDList::<Identity, OFFSET>,
GetProvider: GetProvider::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INetworkFolderInternal as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait INewMenuClient_Impl: Sized {
fn IncludeItems(&self) -> windows_core::Result<i32>;
fn SelectAndEditItem(&self, pidlitem: *const Common::ITEMIDLIST, flags: i32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for INewMenuClient {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl INewMenuClient_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INewMenuClient_Vtbl
where
Identity: INewMenuClient_Impl,
{
unsafe extern "system" fn IncludeItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pflags: *mut i32) -> windows_core::HRESULT
where
Identity: INewMenuClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INewMenuClient_Impl::IncludeItems(this) {
Ok(ok__) => {
pflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SelectAndEditItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlitem: *const Common::ITEMIDLIST, flags: i32) -> windows_core::HRESULT
where
Identity: INewMenuClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewMenuClient_Impl::SelectAndEditItem(this, core::mem::transmute_copy(&pidlitem), core::mem::transmute_copy(&flags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IncludeItems: IncludeItems::<Identity, OFFSET>,
SelectAndEditItem: SelectAndEditItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INewMenuClient as windows_core::Interface>::IID
}
}
pub trait INewShortcutHookA_Impl: Sized {
fn SetReferent(&self, pcszreferent: &windows_core::PCSTR, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn GetReferent(&self, pszreferent: windows_core::PSTR, cchreferent: i32) -> windows_core::Result<()>;
fn SetFolder(&self, pcszfolder: &windows_core::PCSTR) -> windows_core::Result<()>;
fn GetFolder(&self, pszfolder: windows_core::PSTR, cchfolder: i32) -> windows_core::Result<()>;
fn GetName(&self, pszname: windows_core::PSTR, cchname: i32) -> windows_core::Result<()>;
fn GetExtension(&self, pszextension: windows_core::PSTR, cchextension: i32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INewShortcutHookA {}
impl INewShortcutHookA_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INewShortcutHookA_Vtbl
where
Identity: INewShortcutHookA_Impl,
{
unsafe extern "system" fn SetReferent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcszreferent: windows_core::PCSTR, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: INewShortcutHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookA_Impl::SetReferent(this, core::mem::transmute(&pcszreferent), core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn GetReferent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszreferent: windows_core::PSTR, cchreferent: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookA_Impl::GetReferent(this, core::mem::transmute_copy(&pszreferent), core::mem::transmute_copy(&cchreferent)).into()
}
unsafe extern "system" fn SetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcszfolder: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: INewShortcutHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookA_Impl::SetFolder(this, core::mem::transmute(&pcszfolder)).into()
}
unsafe extern "system" fn GetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfolder: windows_core::PSTR, cchfolder: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookA_Impl::GetFolder(this, core::mem::transmute_copy(&pszfolder), core::mem::transmute_copy(&cchfolder)).into()
}
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PSTR, cchname: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookA_Impl::GetName(this, core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cchname)).into()
}
unsafe extern "system" fn GetExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszextension: windows_core::PSTR, cchextension: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookA_Impl::GetExtension(this, core::mem::transmute_copy(&pszextension), core::mem::transmute_copy(&cchextension)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetReferent: SetReferent::<Identity, OFFSET>,
GetReferent: GetReferent::<Identity, OFFSET>,
SetFolder: SetFolder::<Identity, OFFSET>,
GetFolder: GetFolder::<Identity, OFFSET>,
GetName: GetName::<Identity, OFFSET>,
GetExtension: GetExtension::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INewShortcutHookA as windows_core::Interface>::IID
}
}
pub trait INewShortcutHookW_Impl: Sized {
fn SetReferent(&self, pcszreferent: &windows_core::PCWSTR, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn GetReferent(&self, pszreferent: windows_core::PWSTR, cchreferent: i32) -> windows_core::Result<()>;
fn SetFolder(&self, pcszfolder: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetFolder(&self, pszfolder: windows_core::PWSTR, cchfolder: i32) -> windows_core::Result<()>;
fn GetName(&self, pszname: windows_core::PWSTR, cchname: i32) -> windows_core::Result<()>;
fn GetExtension(&self, pszextension: windows_core::PWSTR, cchextension: i32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INewShortcutHookW {}
impl INewShortcutHookW_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INewShortcutHookW_Vtbl
where
Identity: INewShortcutHookW_Impl,
{
unsafe extern "system" fn SetReferent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcszreferent: windows_core::PCWSTR, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: INewShortcutHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookW_Impl::SetReferent(this, core::mem::transmute(&pcszreferent), core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn GetReferent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszreferent: windows_core::PWSTR, cchreferent: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookW_Impl::GetReferent(this, core::mem::transmute_copy(&pszreferent), core::mem::transmute_copy(&cchreferent)).into()
}
unsafe extern "system" fn SetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcszfolder: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: INewShortcutHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookW_Impl::SetFolder(this, core::mem::transmute(&pcszfolder)).into()
}
unsafe extern "system" fn GetFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfolder: windows_core::PWSTR, cchfolder: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookW_Impl::GetFolder(this, core::mem::transmute_copy(&pszfolder), core::mem::transmute_copy(&cchfolder)).into()
}
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PWSTR, cchname: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookW_Impl::GetName(this, core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cchname)).into()
}
unsafe extern "system" fn GetExtension<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszextension: windows_core::PWSTR, cchextension: i32) -> windows_core::HRESULT
where
Identity: INewShortcutHookW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewShortcutHookW_Impl::GetExtension(this, core::mem::transmute_copy(&pszextension), core::mem::transmute_copy(&cchextension)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetReferent: SetReferent::<Identity, OFFSET>,
GetReferent: GetReferent::<Identity, OFFSET>,
SetFolder: SetFolder::<Identity, OFFSET>,
GetFolder: GetFolder::<Identity, OFFSET>,
GetName: GetName::<Identity, OFFSET>,
GetExtension: GetExtension::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INewShortcutHookW as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait INewWDEvents_Impl: Sized + IWebWizardHost_Impl {
fn PassportAuthenticate(&self, bstrsigninurl: &windows_core::BSTR) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for INewWDEvents {}
#[cfg(feature = "Win32_System_Com")]
impl INewWDEvents_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INewWDEvents_Vtbl
where
Identity: INewWDEvents_Impl,
{
unsafe extern "system" fn PassportAuthenticate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrsigninurl: core::mem::MaybeUninit<windows_core::BSTR>, pvfauthenitcated: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: INewWDEvents_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match INewWDEvents_Impl::PassportAuthenticate(this, core::mem::transmute(&bstrsigninurl)) {
Ok(ok__) => {
pvfauthenitcated.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IWebWizardHost_Vtbl::new::<Identity, OFFSET>(), PassportAuthenticate: PassportAuthenticate::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INewWDEvents as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IWebWizardHost as windows_core::Interface>::IID
}
}
pub trait INewWindowManager_Impl: Sized {
fn EvaluateNewWindow(&self, pszurl: &windows_core::PCWSTR, pszname: &windows_core::PCWSTR, pszurlcontext: &windows_core::PCWSTR, pszfeatures: &windows_core::PCWSTR, freplace: super::super::Foundation::BOOL, dwflags: u32, dwuseractiontime: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for INewWindowManager {}
impl INewWindowManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INewWindowManager_Vtbl
where
Identity: INewWindowManager_Impl,
{
unsafe extern "system" fn EvaluateNewWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszurl: windows_core::PCWSTR, pszname: windows_core::PCWSTR, pszurlcontext: windows_core::PCWSTR, pszfeatures: windows_core::PCWSTR, freplace: super::super::Foundation::BOOL, dwflags: u32, dwuseractiontime: u32) -> windows_core::HRESULT
where
Identity: INewWindowManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INewWindowManager_Impl::EvaluateNewWindow(this, core::mem::transmute(&pszurl), core::mem::transmute(&pszname), core::mem::transmute(&pszurlcontext), core::mem::transmute(&pszfeatures), core::mem::transmute_copy(&freplace), core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&dwuseractiontime)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), EvaluateNewWindow: EvaluateNewWindow::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INewWindowManager as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait INotifyReplica_Impl: Sized {
fn YouAreAReplica(&self, ulcotherreplicas: u32, rgpmkotherreplicas: *mut Option<super::super::System::Com::IMoniker>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for INotifyReplica {}
#[cfg(feature = "Win32_System_Com")]
impl INotifyReplica_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> INotifyReplica_Vtbl
where
Identity: INotifyReplica_Impl,
{
unsafe extern "system" fn YouAreAReplica<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ulcotherreplicas: u32, rgpmkotherreplicas: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: INotifyReplica_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
INotifyReplica_Impl::YouAreAReplica(this, core::mem::transmute_copy(&ulcotherreplicas), core::mem::transmute_copy(&rgpmkotherreplicas)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), YouAreAReplica: YouAreAReplica::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<INotifyReplica as windows_core::Interface>::IID
}
}
pub trait IObjMgr_Impl: Sized {
fn Append(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn Remove(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IObjMgr {}
impl IObjMgr_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjMgr_Vtbl
where
Identity: IObjMgr_Impl,
{
unsafe extern "system" fn Append<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IObjMgr_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjMgr_Impl::Append(this, windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn Remove<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IObjMgr_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjMgr_Impl::Remove(this, windows_core::from_raw_borrowed(&punk)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Append: Append::<Identity, OFFSET>, Remove: Remove::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjMgr as windows_core::Interface>::IID
}
}
pub trait IObjectProvider_Impl: Sized {
fn QueryObject(&self, guidobject: *const windows_core::GUID, riid: *const windows_core::GUID, ppvout: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IObjectProvider {}
impl IObjectProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectProvider_Vtbl
where
Identity: IObjectProvider_Impl,
{
unsafe extern "system" fn QueryObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, guidobject: *const windows_core::GUID, riid: *const windows_core::GUID, ppvout: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IObjectProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectProvider_Impl::QueryObject(this, core::mem::transmute_copy(&guidobject), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppvout)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), QueryObject: QueryObject::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectProvider as windows_core::Interface>::IID
}
}
pub trait IObjectWithAppUserModelID_Impl: Sized {
fn SetAppID(&self, pszappid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetAppID(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for IObjectWithAppUserModelID {}
impl IObjectWithAppUserModelID_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectWithAppUserModelID_Vtbl
where
Identity: IObjectWithAppUserModelID_Impl,
{
unsafe extern "system" fn SetAppID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszappid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IObjectWithAppUserModelID_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectWithAppUserModelID_Impl::SetAppID(this, core::mem::transmute(&pszappid)).into()
}
unsafe extern "system" fn GetAppID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszappid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IObjectWithAppUserModelID_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IObjectWithAppUserModelID_Impl::GetAppID(this) {
Ok(ok__) => {
ppszappid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetAppID: SetAppID::<Identity, OFFSET>, GetAppID: GetAppID::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectWithAppUserModelID as windows_core::Interface>::IID
}
}
pub trait IObjectWithBackReferences_Impl: Sized {
fn RemoveBackReferences(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IObjectWithBackReferences {}
impl IObjectWithBackReferences_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectWithBackReferences_Vtbl
where
Identity: IObjectWithBackReferences_Impl,
{
unsafe extern "system" fn RemoveBackReferences<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IObjectWithBackReferences_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectWithBackReferences_Impl::RemoveBackReferences(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), RemoveBackReferences: RemoveBackReferences::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectWithBackReferences as windows_core::Interface>::IID
}
}
pub trait IObjectWithCancelEvent_Impl: Sized {
fn GetCancelEvent(&self) -> windows_core::Result<super::super::Foundation::HANDLE>;
}
impl windows_core::RuntimeName for IObjectWithCancelEvent {}
impl IObjectWithCancelEvent_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectWithCancelEvent_Vtbl
where
Identity: IObjectWithCancelEvent_Impl,
{
unsafe extern "system" fn GetCancelEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phevent: *mut super::super::Foundation::HANDLE) -> windows_core::HRESULT
where
Identity: IObjectWithCancelEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IObjectWithCancelEvent_Impl::GetCancelEvent(this) {
Ok(ok__) => {
phevent.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetCancelEvent: GetCancelEvent::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectWithCancelEvent as windows_core::Interface>::IID
}
}
pub trait IObjectWithFolderEnumMode_Impl: Sized {
fn SetMode(&self, femode: FOLDER_ENUM_MODE) -> windows_core::Result<()>;
fn GetMode(&self) -> windows_core::Result<FOLDER_ENUM_MODE>;
}
impl windows_core::RuntimeName for IObjectWithFolderEnumMode {}
impl IObjectWithFolderEnumMode_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectWithFolderEnumMode_Vtbl
where
Identity: IObjectWithFolderEnumMode_Impl,
{
unsafe extern "system" fn SetMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, femode: FOLDER_ENUM_MODE) -> windows_core::HRESULT
where
Identity: IObjectWithFolderEnumMode_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectWithFolderEnumMode_Impl::SetMode(this, core::mem::transmute_copy(&femode)).into()
}
unsafe extern "system" fn GetMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfemode: *mut FOLDER_ENUM_MODE) -> windows_core::HRESULT
where
Identity: IObjectWithFolderEnumMode_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IObjectWithFolderEnumMode_Impl::GetMode(this) {
Ok(ok__) => {
pfemode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetMode: SetMode::<Identity, OFFSET>, GetMode: GetMode::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectWithFolderEnumMode as windows_core::Interface>::IID
}
}
pub trait IObjectWithProgID_Impl: Sized {
fn SetProgID(&self, pszprogid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetProgID(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for IObjectWithProgID {}
impl IObjectWithProgID_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectWithProgID_Vtbl
where
Identity: IObjectWithProgID_Impl,
{
unsafe extern "system" fn SetProgID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszprogid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IObjectWithProgID_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectWithProgID_Impl::SetProgID(this, core::mem::transmute(&pszprogid)).into()
}
unsafe extern "system" fn GetProgID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszprogid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IObjectWithProgID_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IObjectWithProgID_Impl::GetProgID(this) {
Ok(ok__) => {
ppszprogid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetProgID: SetProgID::<Identity, OFFSET>,
GetProgID: GetProgID::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectWithProgID as windows_core::Interface>::IID
}
}
pub trait IObjectWithSelection_Impl: Sized {
fn SetSelection(&self, psia: Option<&IShellItemArray>) -> windows_core::Result<()>;
fn GetSelection(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IObjectWithSelection {}
impl IObjectWithSelection_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IObjectWithSelection_Vtbl
where
Identity: IObjectWithSelection_Impl,
{
unsafe extern "system" fn SetSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psia: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IObjectWithSelection_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectWithSelection_Impl::SetSelection(this, windows_core::from_raw_borrowed(&psia)).into()
}
unsafe extern "system" fn GetSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IObjectWithSelection_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IObjectWithSelection_Impl::GetSelection(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetSelection: SetSelection::<Identity, OFFSET>,
GetSelection: GetSelection::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IObjectWithSelection as windows_core::Interface>::IID
}
}
pub trait IOpenControlPanel_Impl: Sized {
fn Open(&self, pszname: &windows_core::PCWSTR, pszpage: &windows_core::PCWSTR, punksite: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn GetPath(&self, pszname: &windows_core::PCWSTR, pszpath: windows_core::PWSTR, cchpath: u32) -> windows_core::Result<()>;
fn GetCurrentView(&self) -> windows_core::Result<CPVIEW>;
}
impl windows_core::RuntimeName for IOpenControlPanel {}
impl IOpenControlPanel_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IOpenControlPanel_Vtbl
where
Identity: IOpenControlPanel_Impl,
{
unsafe extern "system" fn Open<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR, pszpage: windows_core::PCWSTR, punksite: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOpenControlPanel_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOpenControlPanel_Impl::Open(this, core::mem::transmute(&pszname), core::mem::transmute(&pszpage), windows_core::from_raw_borrowed(&punksite)).into()
}
unsafe extern "system" fn GetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR, pszpath: windows_core::PWSTR, cchpath: u32) -> windows_core::HRESULT
where
Identity: IOpenControlPanel_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOpenControlPanel_Impl::GetPath(this, core::mem::transmute(&pszname), core::mem::transmute_copy(&pszpath), core::mem::transmute_copy(&cchpath)).into()
}
unsafe extern "system" fn GetCurrentView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pview: *mut CPVIEW) -> windows_core::HRESULT
where
Identity: IOpenControlPanel_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IOpenControlPanel_Impl::GetCurrentView(this) {
Ok(ok__) => {
pview.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Open: Open::<Identity, OFFSET>,
GetPath: GetPath::<Identity, OFFSET>,
GetCurrentView: GetCurrentView::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IOpenControlPanel as windows_core::Interface>::IID
}
}
pub trait IOpenSearchSource_Impl: Sized {
fn GetResults(&self, hwnd: super::super::Foundation::HWND, pszquery: &windows_core::PCWSTR, dwstartindex: u32, dwcount: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IOpenSearchSource {}
impl IOpenSearchSource_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IOpenSearchSource_Vtbl
where
Identity: IOpenSearchSource_Impl,
{
unsafe extern "system" fn GetResults<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, pszquery: windows_core::PCWSTR, dwstartindex: u32, dwcount: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOpenSearchSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOpenSearchSource_Impl::GetResults(this, core::mem::transmute_copy(&hwnd), core::mem::transmute(&pszquery), core::mem::transmute_copy(&dwstartindex), core::mem::transmute_copy(&dwcount), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetResults: GetResults::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IOpenSearchSource as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IOperationsProgressDialog_Impl: Sized {
fn StartProgressDialog(&self, hwndowner: super::super::Foundation::HWND, flags: u32) -> windows_core::Result<()>;
fn StopProgressDialog(&self) -> windows_core::Result<()>;
fn SetOperation(&self, action: SPACTION) -> windows_core::Result<()>;
fn SetMode(&self, mode: u32) -> windows_core::Result<()>;
fn UpdateProgress(&self, ullpointscurrent: u64, ullpointstotal: u64, ullsizecurrent: u64, ullsizetotal: u64, ullitemscurrent: u64, ullitemstotal: u64) -> windows_core::Result<()>;
fn UpdateLocations(&self, psisource: Option<&IShellItem>, psitarget: Option<&IShellItem>, psiitem: Option<&IShellItem>) -> windows_core::Result<()>;
fn ResetTimer(&self) -> windows_core::Result<()>;
fn PauseTimer(&self) -> windows_core::Result<()>;
fn ResumeTimer(&self) -> windows_core::Result<()>;
fn GetMilliseconds(&self, pullelapsed: *mut u64, pullremaining: *mut u64) -> windows_core::Result<()>;
fn GetOperationStatus(&self) -> windows_core::Result<PropertiesSystem::PDOPSTATUS>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IOperationsProgressDialog {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IOperationsProgressDialog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IOperationsProgressDialog_Vtbl
where
Identity: IOperationsProgressDialog_Impl,
{
unsafe extern "system" fn StartProgressDialog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND, flags: u32) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::StartProgressDialog(this, core::mem::transmute_copy(&hwndowner), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn StopProgressDialog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::StopProgressDialog(this).into()
}
unsafe extern "system" fn SetOperation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, action: SPACTION) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::SetOperation(this, core::mem::transmute_copy(&action)).into()
}
unsafe extern "system" fn SetMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, mode: u32) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::SetMode(this, core::mem::transmute_copy(&mode)).into()
}
unsafe extern "system" fn UpdateProgress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ullpointscurrent: u64, ullpointstotal: u64, ullsizecurrent: u64, ullsizetotal: u64, ullitemscurrent: u64, ullitemstotal: u64) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::UpdateProgress(this, core::mem::transmute_copy(&ullpointscurrent), core::mem::transmute_copy(&ullpointstotal), core::mem::transmute_copy(&ullsizecurrent), core::mem::transmute_copy(&ullsizetotal), core::mem::transmute_copy(&ullitemscurrent), core::mem::transmute_copy(&ullitemstotal)).into()
}
unsafe extern "system" fn UpdateLocations<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, psitarget: *mut core::ffi::c_void, psiitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::UpdateLocations(this, windows_core::from_raw_borrowed(&psisource), windows_core::from_raw_borrowed(&psitarget), windows_core::from_raw_borrowed(&psiitem)).into()
}
unsafe extern "system" fn ResetTimer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::ResetTimer(this).into()
}
unsafe extern "system" fn PauseTimer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::PauseTimer(this).into()
}
unsafe extern "system" fn ResumeTimer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::ResumeTimer(this).into()
}
unsafe extern "system" fn GetMilliseconds<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pullelapsed: *mut u64, pullremaining: *mut u64) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IOperationsProgressDialog_Impl::GetMilliseconds(this, core::mem::transmute_copy(&pullelapsed), core::mem::transmute_copy(&pullremaining)).into()
}
unsafe extern "system" fn GetOperationStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, popstatus: *mut PropertiesSystem::PDOPSTATUS) -> windows_core::HRESULT
where
Identity: IOperationsProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IOperationsProgressDialog_Impl::GetOperationStatus(this) {
Ok(ok__) => {
popstatus.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartProgressDialog: StartProgressDialog::<Identity, OFFSET>,
StopProgressDialog: StopProgressDialog::<Identity, OFFSET>,
SetOperation: SetOperation::<Identity, OFFSET>,
SetMode: SetMode::<Identity, OFFSET>,
UpdateProgress: UpdateProgress::<Identity, OFFSET>,
UpdateLocations: UpdateLocations::<Identity, OFFSET>,
ResetTimer: ResetTimer::<Identity, OFFSET>,
PauseTimer: PauseTimer::<Identity, OFFSET>,
ResumeTimer: ResumeTimer::<Identity, OFFSET>,
GetMilliseconds: GetMilliseconds::<Identity, OFFSET>,
GetOperationStatus: GetOperationStatus::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IOperationsProgressDialog as windows_core::Interface>::IID
}
}
pub trait IPackageDebugSettings_Impl: Sized {
fn EnableDebugging(&self, packagefullname: &windows_core::PCWSTR, debuggercommandline: &windows_core::PCWSTR, environment: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn DisableDebugging(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Suspend(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Resume(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn TerminateAllProcesses(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetTargetSessionId(&self, sessionid: u32) -> windows_core::Result<()>;
fn EnumerateBackgroundTasks(&self, packagefullname: &windows_core::PCWSTR, taskcount: *mut u32, taskids: *mut *mut windows_core::GUID, tasknames: *mut *mut windows_core::PCWSTR) -> windows_core::Result<()>;
fn ActivateBackgroundTask(&self, taskid: *const windows_core::GUID) -> windows_core::Result<()>;
fn StartServicing(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn StopServicing(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn StartSessionRedirection(&self, packagefullname: &windows_core::PCWSTR, sessionid: u32) -> windows_core::Result<()>;
fn StopSessionRedirection(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetPackageExecutionState(&self, packagefullname: &windows_core::PCWSTR) -> windows_core::Result<PACKAGE_EXECUTION_STATE>;
fn RegisterForPackageStateChanges(&self, packagefullname: &windows_core::PCWSTR, ppackageexecutionstatechangenotification: Option<&IPackageExecutionStateChangeNotification>) -> windows_core::Result<u32>;
fn UnregisterForPackageStateChanges(&self, dwcookie: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IPackageDebugSettings {}
impl IPackageDebugSettings_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPackageDebugSettings_Vtbl
where
Identity: IPackageDebugSettings_Impl,
{
unsafe extern "system" fn EnableDebugging<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR, debuggercommandline: windows_core::PCWSTR, environment: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::EnableDebugging(this, core::mem::transmute(&packagefullname), core::mem::transmute(&debuggercommandline), core::mem::transmute(&environment)).into()
}
unsafe extern "system" fn DisableDebugging<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::DisableDebugging(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn Suspend<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::Suspend(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn Resume<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::Resume(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn TerminateAllProcesses<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::TerminateAllProcesses(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn SetTargetSessionId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sessionid: u32) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::SetTargetSessionId(this, core::mem::transmute_copy(&sessionid)).into()
}
unsafe extern "system" fn EnumerateBackgroundTasks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR, taskcount: *mut u32, taskids: *mut *mut windows_core::GUID, tasknames: *mut *mut windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::EnumerateBackgroundTasks(this, core::mem::transmute(&packagefullname), core::mem::transmute_copy(&taskcount), core::mem::transmute_copy(&taskids), core::mem::transmute_copy(&tasknames)).into()
}
unsafe extern "system" fn ActivateBackgroundTask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, taskid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::ActivateBackgroundTask(this, core::mem::transmute_copy(&taskid)).into()
}
unsafe extern "system" fn StartServicing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::StartServicing(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn StopServicing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::StopServicing(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn StartSessionRedirection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR, sessionid: u32) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::StartSessionRedirection(this, core::mem::transmute(&packagefullname), core::mem::transmute_copy(&sessionid)).into()
}
unsafe extern "system" fn StopSessionRedirection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::StopSessionRedirection(this, core::mem::transmute(&packagefullname)).into()
}
unsafe extern "system" fn GetPackageExecutionState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR, packageexecutionstate: *mut PACKAGE_EXECUTION_STATE) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPackageDebugSettings_Impl::GetPackageExecutionState(this, core::mem::transmute(&packagefullname)) {
Ok(ok__) => {
packageexecutionstate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterForPackageStateChanges<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR, ppackageexecutionstatechangenotification: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPackageDebugSettings_Impl::RegisterForPackageStateChanges(this, core::mem::transmute(&packagefullname), windows_core::from_raw_borrowed(&ppackageexecutionstatechangenotification)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn UnregisterForPackageStateChanges<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings_Impl::UnregisterForPackageStateChanges(this, core::mem::transmute_copy(&dwcookie)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EnableDebugging: EnableDebugging::<Identity, OFFSET>,
DisableDebugging: DisableDebugging::<Identity, OFFSET>,
Suspend: Suspend::<Identity, OFFSET>,
Resume: Resume::<Identity, OFFSET>,
TerminateAllProcesses: TerminateAllProcesses::<Identity, OFFSET>,
SetTargetSessionId: SetTargetSessionId::<Identity, OFFSET>,
EnumerateBackgroundTasks: EnumerateBackgroundTasks::<Identity, OFFSET>,
ActivateBackgroundTask: ActivateBackgroundTask::<Identity, OFFSET>,
StartServicing: StartServicing::<Identity, OFFSET>,
StopServicing: StopServicing::<Identity, OFFSET>,
StartSessionRedirection: StartSessionRedirection::<Identity, OFFSET>,
StopSessionRedirection: StopSessionRedirection::<Identity, OFFSET>,
GetPackageExecutionState: GetPackageExecutionState::<Identity, OFFSET>,
RegisterForPackageStateChanges: RegisterForPackageStateChanges::<Identity, OFFSET>,
UnregisterForPackageStateChanges: UnregisterForPackageStateChanges::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPackageDebugSettings as windows_core::Interface>::IID
}
}
pub trait IPackageDebugSettings2_Impl: Sized + IPackageDebugSettings_Impl {
fn EnumerateApps(&self, packagefullname: &windows_core::PCWSTR, appcount: *mut u32, appusermodelids: *mut *mut windows_core::PWSTR, appdisplaynames: *mut *mut windows_core::PWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IPackageDebugSettings2 {}
impl IPackageDebugSettings2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPackageDebugSettings2_Vtbl
where
Identity: IPackageDebugSettings2_Impl,
{
unsafe extern "system" fn EnumerateApps<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, packagefullname: windows_core::PCWSTR, appcount: *mut u32, appusermodelids: *mut *mut windows_core::PWSTR, appdisplaynames: *mut *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IPackageDebugSettings2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageDebugSettings2_Impl::EnumerateApps(this, core::mem::transmute(&packagefullname), core::mem::transmute_copy(&appcount), core::mem::transmute_copy(&appusermodelids), core::mem::transmute_copy(&appdisplaynames)).into()
}
Self { base__: IPackageDebugSettings_Vtbl::new::<Identity, OFFSET>(), EnumerateApps: EnumerateApps::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPackageDebugSettings2 as windows_core::Interface>::IID || iid == &<IPackageDebugSettings as windows_core::Interface>::IID
}
}
pub trait IPackageExecutionStateChangeNotification_Impl: Sized {
fn OnStateChanged(&self, pszpackagefullname: &windows_core::PCWSTR, pesnewstate: PACKAGE_EXECUTION_STATE) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IPackageExecutionStateChangeNotification {}
impl IPackageExecutionStateChangeNotification_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPackageExecutionStateChangeNotification_Vtbl
where
Identity: IPackageExecutionStateChangeNotification_Impl,
{
unsafe extern "system" fn OnStateChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpackagefullname: windows_core::PCWSTR, pesnewstate: PACKAGE_EXECUTION_STATE) -> windows_core::HRESULT
where
Identity: IPackageExecutionStateChangeNotification_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPackageExecutionStateChangeNotification_Impl::OnStateChanged(this, core::mem::transmute(&pszpackagefullname), core::mem::transmute_copy(&pesnewstate)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnStateChanged: OnStateChanged::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPackageExecutionStateChangeNotification as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IParentAndItem_Impl: Sized {
fn SetParentAndItem(&self, pidlparent: *const Common::ITEMIDLIST, psf: Option<&IShellFolder>, pidlchild: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn GetParentAndItem(&self, ppidlparent: *mut *mut Common::ITEMIDLIST, ppsf: *mut Option<IShellFolder>, ppidlchild: *mut *mut Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IParentAndItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IParentAndItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IParentAndItem_Vtbl
where
Identity: IParentAndItem_Impl,
{
unsafe extern "system" fn SetParentAndItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlparent: *const Common::ITEMIDLIST, psf: *mut core::ffi::c_void, pidlchild: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IParentAndItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IParentAndItem_Impl::SetParentAndItem(this, core::mem::transmute_copy(&pidlparent), windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidlchild)).into()
}
unsafe extern "system" fn GetParentAndItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidlparent: *mut *mut Common::ITEMIDLIST, ppsf: *mut *mut core::ffi::c_void, ppidlchild: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IParentAndItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IParentAndItem_Impl::GetParentAndItem(this, core::mem::transmute_copy(&ppidlparent), core::mem::transmute_copy(&ppsf), core::mem::transmute_copy(&ppidlchild)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetParentAndItem: SetParentAndItem::<Identity, OFFSET>,
GetParentAndItem: GetParentAndItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IParentAndItem as windows_core::Interface>::IID
}
}
pub trait IParseAndCreateItem_Impl: Sized {
fn SetItem(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn GetItem(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IParseAndCreateItem {}
impl IParseAndCreateItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IParseAndCreateItem_Vtbl
where
Identity: IParseAndCreateItem_Impl,
{
unsafe extern "system" fn SetItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IParseAndCreateItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IParseAndCreateItem_Impl::SetItem(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn GetItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IParseAndCreateItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IParseAndCreateItem_Impl::GetItem(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetItem: SetItem::<Identity, OFFSET>, GetItem: GetItem::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IParseAndCreateItem as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IPersistFolder_Impl: Sized + super::super::System::Com::IPersist_Impl {
fn Initialize(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IPersistFolder {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IPersistFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPersistFolder_Vtbl
where
Identity: IPersistFolder_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IPersistFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPersistFolder_Impl::Initialize(this, core::mem::transmute_copy(&pidl)).into()
}
Self { base__: super::super::System::Com::IPersist_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPersistFolder as windows_core::Interface>::IID || iid == &<super::super::System::Com::IPersist as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IPersistFolder2_Impl: Sized + IPersistFolder_Impl {
fn GetCurFolder(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IPersistFolder2 {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IPersistFolder2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPersistFolder2_Vtbl
where
Identity: IPersistFolder2_Impl,
{
unsafe extern "system" fn GetCurFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IPersistFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPersistFolder2_Impl::GetCurFolder(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IPersistFolder_Vtbl::new::<Identity, OFFSET>(), GetCurFolder: GetCurFolder::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPersistFolder2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IPersist as windows_core::Interface>::IID || iid == &<IPersistFolder as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IPersistFolder3_Impl: Sized + IPersistFolder2_Impl {
fn InitializeEx(&self, pbc: Option<&super::super::System::Com::IBindCtx>, pidlroot: *const Common::ITEMIDLIST, ppfti: *const PERSIST_FOLDER_TARGET_INFO) -> windows_core::Result<()>;
fn GetFolderTargetInfo(&self, ppfti: *mut PERSIST_FOLDER_TARGET_INFO) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IPersistFolder3 {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IPersistFolder3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPersistFolder3_Vtbl
where
Identity: IPersistFolder3_Impl,
{
unsafe extern "system" fn InitializeEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void, pidlroot: *const Common::ITEMIDLIST, ppfti: *const PERSIST_FOLDER_TARGET_INFO) -> windows_core::HRESULT
where
Identity: IPersistFolder3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPersistFolder3_Impl::InitializeEx(this, windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&pidlroot), core::mem::transmute_copy(&ppfti)).into()
}
unsafe extern "system" fn GetFolderTargetInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppfti: *mut PERSIST_FOLDER_TARGET_INFO) -> windows_core::HRESULT
where
Identity: IPersistFolder3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPersistFolder3_Impl::GetFolderTargetInfo(this, core::mem::transmute_copy(&ppfti)).into()
}
Self {
base__: IPersistFolder2_Vtbl::new::<Identity, OFFSET>(),
InitializeEx: InitializeEx::<Identity, OFFSET>,
GetFolderTargetInfo: GetFolderTargetInfo::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPersistFolder3 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IPersist as windows_core::Interface>::IID || iid == &<IPersistFolder as windows_core::Interface>::IID || iid == &<IPersistFolder2 as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IPersistIDList_Impl: Sized + super::super::System::Com::IPersist_Impl {
fn SetIDList(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn GetIDList(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IPersistIDList {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IPersistIDList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPersistIDList_Vtbl
where
Identity: IPersistIDList_Impl,
{
unsafe extern "system" fn SetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IPersistIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPersistIDList_Impl::SetIDList(this, core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn GetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IPersistIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPersistIDList_Impl::GetIDList(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IPersist_Vtbl::new::<Identity, OFFSET>(),
SetIDList: SetIDList::<Identity, OFFSET>,
GetIDList: GetIDList::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPersistIDList as windows_core::Interface>::IID || iid == &<super::super::System::Com::IPersist as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IPreviewHandler_Impl: Sized {
fn SetWindow(&self, hwnd: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
fn SetRect(&self, prc: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
fn DoPreview(&self) -> windows_core::Result<()>;
fn Unload(&self) -> windows_core::Result<()>;
fn SetFocus(&self) -> windows_core::Result<()>;
fn QueryFocus(&self) -> windows_core::Result<super::super::Foundation::HWND>;
fn TranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IPreviewHandler {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IPreviewHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPreviewHandler_Vtbl
where
Identity: IPreviewHandler_Impl,
{
unsafe extern "system" fn SetWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, prc: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandler_Impl::SetWindow(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&prc)).into()
}
unsafe extern "system" fn SetRect<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prc: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandler_Impl::SetRect(this, core::mem::transmute_copy(&prc)).into()
}
unsafe extern "system" fn DoPreview<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandler_Impl::DoPreview(this).into()
}
unsafe extern "system" fn Unload<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandler_Impl::Unload(this).into()
}
unsafe extern "system" fn SetFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandler_Impl::SetFocus(this).into()
}
unsafe extern "system" fn QueryFocus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPreviewHandler_Impl::QueryFocus(this) {
Ok(ok__) => {
phwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TranslateAccelerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IPreviewHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandler_Impl::TranslateAccelerator(this, core::mem::transmute_copy(&pmsg)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetWindow: SetWindow::<Identity, OFFSET>,
SetRect: SetRect::<Identity, OFFSET>,
DoPreview: DoPreview::<Identity, OFFSET>,
Unload: Unload::<Identity, OFFSET>,
SetFocus: SetFocus::<Identity, OFFSET>,
QueryFocus: QueryFocus::<Identity, OFFSET>,
TranslateAccelerator: TranslateAccelerator::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPreviewHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IPreviewHandlerFrame_Impl: Sized {
fn GetWindowContext(&self) -> windows_core::Result<PREVIEWHANDLERFRAMEINFO>;
fn TranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IPreviewHandlerFrame {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IPreviewHandlerFrame_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPreviewHandlerFrame_Vtbl
where
Identity: IPreviewHandlerFrame_Impl,
{
unsafe extern "system" fn GetWindowContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pinfo: *mut PREVIEWHANDLERFRAMEINFO) -> windows_core::HRESULT
where
Identity: IPreviewHandlerFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPreviewHandlerFrame_Impl::GetWindowContext(this) {
Ok(ok__) => {
pinfo.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TranslateAccelerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IPreviewHandlerFrame_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandlerFrame_Impl::TranslateAccelerator(this, core::mem::transmute_copy(&pmsg)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetWindowContext: GetWindowContext::<Identity, OFFSET>,
TranslateAccelerator: TranslateAccelerator::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPreviewHandlerFrame as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IPreviewHandlerVisuals_Impl: Sized {
fn SetBackgroundColor(&self, color: super::super::Foundation::COLORREF) -> windows_core::Result<()>;
fn SetFont(&self, plf: *const super::super::Graphics::Gdi::LOGFONTW) -> windows_core::Result<()>;
fn SetTextColor(&self, color: super::super::Foundation::COLORREF) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IPreviewHandlerVisuals {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IPreviewHandlerVisuals_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPreviewHandlerVisuals_Vtbl
where
Identity: IPreviewHandlerVisuals_Impl,
{
unsafe extern "system" fn SetBackgroundColor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, color: super::super::Foundation::COLORREF) -> windows_core::HRESULT
where
Identity: IPreviewHandlerVisuals_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandlerVisuals_Impl::SetBackgroundColor(this, core::mem::transmute_copy(&color)).into()
}
unsafe extern "system" fn SetFont<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plf: *const super::super::Graphics::Gdi::LOGFONTW) -> windows_core::HRESULT
where
Identity: IPreviewHandlerVisuals_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandlerVisuals_Impl::SetFont(this, core::mem::transmute_copy(&plf)).into()
}
unsafe extern "system" fn SetTextColor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, color: super::super::Foundation::COLORREF) -> windows_core::HRESULT
where
Identity: IPreviewHandlerVisuals_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPreviewHandlerVisuals_Impl::SetTextColor(this, core::mem::transmute_copy(&color)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetBackgroundColor: SetBackgroundColor::<Identity, OFFSET>,
SetFont: SetFont::<Identity, OFFSET>,
SetTextColor: SetTextColor::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPreviewHandlerVisuals as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IPreviewItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IPreviewItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IPreviewItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPreviewItem_Vtbl
where
Identity: IPreviewItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPreviewItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
pub trait IPreviousVersionsInfo_Impl: Sized {
fn AreSnapshotsAvailable(&self, pszpath: &windows_core::PCWSTR, foktobeslow: super::super::Foundation::BOOL) -> windows_core::Result<super::super::Foundation::BOOL>;
}
impl windows_core::RuntimeName for IPreviousVersionsInfo {}
impl IPreviousVersionsInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPreviousVersionsInfo_Vtbl
where
Identity: IPreviousVersionsInfo_Impl,
{
unsafe extern "system" fn AreSnapshotsAvailable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpath: windows_core::PCWSTR, foktobeslow: super::super::Foundation::BOOL, pfavailable: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IPreviousVersionsInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPreviousVersionsInfo_Impl::AreSnapshotsAvailable(this, core::mem::transmute(&pszpath), core::mem::transmute_copy(&foktobeslow)) {
Ok(ok__) => {
pfavailable.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), AreSnapshotsAvailable: AreSnapshotsAvailable::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPreviousVersionsInfo as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IProfferService_Impl: Sized {
fn ProfferService(&self, serviceid: *const windows_core::GUID, serviceprovider: Option<&super::super::System::Com::IServiceProvider>) -> windows_core::Result<u32>;
fn RevokeService(&self, cookie: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IProfferService {}
#[cfg(feature = "Win32_System_Com")]
impl IProfferService_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IProfferService_Vtbl
where
Identity: IProfferService_Impl,
{
unsafe extern "system" fn ProfferService<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, serviceid: *const windows_core::GUID, serviceprovider: *mut core::ffi::c_void, cookie: *mut u32) -> windows_core::HRESULT
where
Identity: IProfferService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IProfferService_Impl::ProfferService(this, core::mem::transmute_copy(&serviceid), windows_core::from_raw_borrowed(&serviceprovider)) {
Ok(ok__) => {
cookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RevokeService<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cookie: u32) -> windows_core::HRESULT
where
Identity: IProfferService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProfferService_Impl::RevokeService(this, core::mem::transmute_copy(&cookie)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ProfferService: ProfferService::<Identity, OFFSET>,
RevokeService: RevokeService::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IProfferService as windows_core::Interface>::IID
}
}
pub trait IProgressDialog_Impl: Sized {
fn StartProgressDialog(&self, hwndparent: super::super::Foundation::HWND, punkenablemodless: Option<&windows_core::IUnknown>, dwflags: u32, pvresevered: *const core::ffi::c_void) -> windows_core::Result<()>;
fn StopProgressDialog(&self) -> windows_core::Result<()>;
fn SetTitle(&self, pwztitle: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetAnimation(&self, hinstanimation: super::super::Foundation::HINSTANCE, idanimation: u32) -> windows_core::Result<()>;
fn HasUserCancelled(&self) -> super::super::Foundation::BOOL;
fn SetProgress(&self, dwcompleted: u32, dwtotal: u32) -> windows_core::Result<()>;
fn SetProgress64(&self, ullcompleted: u64, ulltotal: u64) -> windows_core::Result<()>;
fn SetLine(&self, dwlinenum: u32, pwzstring: &windows_core::PCWSTR, fcompactpath: super::super::Foundation::BOOL, pvresevered: *const core::ffi::c_void) -> windows_core::Result<()>;
fn SetCancelMsg(&self, pwzcancelmsg: &windows_core::PCWSTR, pvresevered: *const core::ffi::c_void) -> windows_core::Result<()>;
fn Timer(&self, dwtimeraction: u32, pvresevered: *const core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IProgressDialog {}
impl IProgressDialog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IProgressDialog_Vtbl
where
Identity: IProgressDialog_Impl,
{
unsafe extern "system" fn StartProgressDialog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND, punkenablemodless: *mut core::ffi::c_void, dwflags: u32, pvresevered: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::StartProgressDialog(this, core::mem::transmute_copy(&hwndparent), windows_core::from_raw_borrowed(&punkenablemodless), core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&pvresevered)).into()
}
unsafe extern "system" fn StopProgressDialog<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::StopProgressDialog(this).into()
}
unsafe extern "system" fn SetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwztitle: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::SetTitle(this, core::mem::transmute(&pwztitle)).into()
}
unsafe extern "system" fn SetAnimation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hinstanimation: super::super::Foundation::HINSTANCE, idanimation: u32) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::SetAnimation(this, core::mem::transmute_copy(&hinstanimation), core::mem::transmute_copy(&idanimation)).into()
}
unsafe extern "system" fn HasUserCancelled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> super::super::Foundation::BOOL
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::HasUserCancelled(this)
}
unsafe extern "system" fn SetProgress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcompleted: u32, dwtotal: u32) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::SetProgress(this, core::mem::transmute_copy(&dwcompleted), core::mem::transmute_copy(&dwtotal)).into()
}
unsafe extern "system" fn SetProgress64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ullcompleted: u64, ulltotal: u64) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::SetProgress64(this, core::mem::transmute_copy(&ullcompleted), core::mem::transmute_copy(&ulltotal)).into()
}
unsafe extern "system" fn SetLine<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwlinenum: u32, pwzstring: windows_core::PCWSTR, fcompactpath: super::super::Foundation::BOOL, pvresevered: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::SetLine(this, core::mem::transmute_copy(&dwlinenum), core::mem::transmute(&pwzstring), core::mem::transmute_copy(&fcompactpath), core::mem::transmute_copy(&pvresevered)).into()
}
unsafe extern "system" fn SetCancelMsg<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwzcancelmsg: windows_core::PCWSTR, pvresevered: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::SetCancelMsg(this, core::mem::transmute(&pwzcancelmsg), core::mem::transmute_copy(&pvresevered)).into()
}
unsafe extern "system" fn Timer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwtimeraction: u32, pvresevered: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IProgressDialog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IProgressDialog_Impl::Timer(this, core::mem::transmute_copy(&dwtimeraction), core::mem::transmute_copy(&pvresevered)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartProgressDialog: StartProgressDialog::<Identity, OFFSET>,
StopProgressDialog: StopProgressDialog::<Identity, OFFSET>,
SetTitle: SetTitle::<Identity, OFFSET>,
SetAnimation: SetAnimation::<Identity, OFFSET>,
HasUserCancelled: HasUserCancelled::<Identity, OFFSET>,
SetProgress: SetProgress::<Identity, OFFSET>,
SetProgress64: SetProgress64::<Identity, OFFSET>,
SetLine: SetLine::<Identity, OFFSET>,
SetCancelMsg: SetCancelMsg::<Identity, OFFSET>,
Timer: Timer::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IProgressDialog as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IPropertyKeyStore_Impl: Sized {
fn GetKeyCount(&self) -> windows_core::Result<i32>;
fn GetKeyAt(&self, index: i32, pkey: *mut PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn AppendKey(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn DeleteKey(&self, index: i32) -> windows_core::Result<()>;
fn IsKeyInStore(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn RemoveKey(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IPropertyKeyStore {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IPropertyKeyStore_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPropertyKeyStore_Vtbl
where
Identity: IPropertyKeyStore_Impl,
{
unsafe extern "system" fn GetKeyCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, keycount: *mut i32) -> windows_core::HRESULT
where
Identity: IPropertyKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IPropertyKeyStore_Impl::GetKeyCount(this) {
Ok(ok__) => {
keycount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetKeyAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: i32, pkey: *mut PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: IPropertyKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPropertyKeyStore_Impl::GetKeyAt(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&pkey)).into()
}
unsafe extern "system" fn AppendKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: IPropertyKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPropertyKeyStore_Impl::AppendKey(this, core::mem::transmute_copy(&key)).into()
}
unsafe extern "system" fn DeleteKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: i32) -> windows_core::HRESULT
where
Identity: IPropertyKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPropertyKeyStore_Impl::DeleteKey(this, core::mem::transmute_copy(&index)).into()
}
unsafe extern "system" fn IsKeyInStore<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: IPropertyKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPropertyKeyStore_Impl::IsKeyInStore(this, core::mem::transmute_copy(&key)).into()
}
unsafe extern "system" fn RemoveKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: IPropertyKeyStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPropertyKeyStore_Impl::RemoveKey(this, core::mem::transmute_copy(&key)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetKeyCount: GetKeyCount::<Identity, OFFSET>,
GetKeyAt: GetKeyAt::<Identity, OFFSET>,
AppendKey: AppendKey::<Identity, OFFSET>,
DeleteKey: DeleteKey::<Identity, OFFSET>,
IsKeyInStore: IsKeyInStore::<Identity, OFFSET>,
RemoveKey: RemoveKey::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPropertyKeyStore as windows_core::Interface>::IID
}
}
pub trait IPublishedApp_Impl: Sized + IShellApp_Impl {
fn Install(&self, pstinstall: *const super::super::Foundation::SYSTEMTIME) -> windows_core::Result<()>;
fn GetPublishedAppInfo(&self, ppai: *mut PUBAPPINFO) -> windows_core::Result<()>;
fn Unschedule(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IPublishedApp {}
impl IPublishedApp_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPublishedApp_Vtbl
where
Identity: IPublishedApp_Impl,
{
unsafe extern "system" fn Install<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstinstall: *const super::super::Foundation::SYSTEMTIME) -> windows_core::HRESULT
where
Identity: IPublishedApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPublishedApp_Impl::Install(this, core::mem::transmute_copy(&pstinstall)).into()
}
unsafe extern "system" fn GetPublishedAppInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppai: *mut PUBAPPINFO) -> windows_core::HRESULT
where
Identity: IPublishedApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPublishedApp_Impl::GetPublishedAppInfo(this, core::mem::transmute_copy(&ppai)).into()
}
unsafe extern "system" fn Unschedule<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IPublishedApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPublishedApp_Impl::Unschedule(this).into()
}
Self {
base__: IShellApp_Vtbl::new::<Identity, OFFSET>(),
Install: Install::<Identity, OFFSET>,
GetPublishedAppInfo: GetPublishedAppInfo::<Identity, OFFSET>,
Unschedule: Unschedule::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPublishedApp as windows_core::Interface>::IID || iid == &<IShellApp as windows_core::Interface>::IID
}
}
pub trait IPublishedApp2_Impl: Sized + IPublishedApp_Impl {
fn Install2(&self, pstinstall: *const super::super::Foundation::SYSTEMTIME, hwndparent: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IPublishedApp2 {}
impl IPublishedApp2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPublishedApp2_Vtbl
where
Identity: IPublishedApp2_Impl,
{
unsafe extern "system" fn Install2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstinstall: *const super::super::Foundation::SYSTEMTIME, hwndparent: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IPublishedApp2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPublishedApp2_Impl::Install2(this, core::mem::transmute_copy(&pstinstall), core::mem::transmute_copy(&hwndparent)).into()
}
Self { base__: IPublishedApp_Vtbl::new::<Identity, OFFSET>(), Install2: Install2::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPublishedApp2 as windows_core::Interface>::IID || iid == &<IShellApp as windows_core::Interface>::IID || iid == &<IPublishedApp as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com", feature = "Win32_UI_Controls"))]
pub trait IPublishingWizard_Impl: Sized + IWizardExtension_Impl {
fn Initialize(&self, pdo: Option<&super::super::System::Com::IDataObject>, dwoptions: u32, pszservicescope: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetTransferManifest(&self, phrfromtransfer: *mut windows_core::HRESULT, pdocmanifest: *mut Option<super::super::Data::Xml::MsXml::IXMLDOMDocument>) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com", feature = "Win32_UI_Controls"))]
impl windows_core::RuntimeName for IPublishingWizard {}
#[cfg(all(feature = "Win32_Data_Xml_MsXml", feature = "Win32_System_Com", feature = "Win32_UI_Controls"))]
impl IPublishingWizard_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IPublishingWizard_Vtbl
where
Identity: IPublishingWizard_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdo: *mut core::ffi::c_void, dwoptions: u32, pszservicescope: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IPublishingWizard_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPublishingWizard_Impl::Initialize(this, windows_core::from_raw_borrowed(&pdo), core::mem::transmute_copy(&dwoptions), core::mem::transmute(&pszservicescope)).into()
}
unsafe extern "system" fn GetTransferManifest<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phrfromtransfer: *mut windows_core::HRESULT, pdocmanifest: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IPublishingWizard_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IPublishingWizard_Impl::GetTransferManifest(this, core::mem::transmute_copy(&phrfromtransfer), core::mem::transmute_copy(&pdocmanifest)).into()
}
Self {
base__: IWizardExtension_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
GetTransferManifest: GetTransferManifest::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IPublishingWizard as windows_core::Interface>::IID || iid == &<IWizardExtension as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Registry")]
pub trait IQueryAssociations_Impl: Sized {
fn Init(&self, flags: ASSOCF, pszassoc: &windows_core::PCWSTR, hkprogid: super::super::System::Registry::HKEY, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn GetString(&self, flags: ASSOCF, str: ASSOCSTR, pszextra: &windows_core::PCWSTR, pszout: windows_core::PWSTR, pcchout: *mut u32) -> windows_core::Result<()>;
fn GetKey(&self, flags: ASSOCF, key: ASSOCKEY, pszextra: &windows_core::PCWSTR) -> windows_core::Result<super::super::System::Registry::HKEY>;
fn GetData(&self, flags: ASSOCF, data: ASSOCDATA, pszextra: &windows_core::PCWSTR, pvout: *mut core::ffi::c_void, pcbout: *mut u32) -> windows_core::Result<()>;
fn GetEnum(&self, flags: ASSOCF, assocenum: ASSOCENUM, pszextra: &windows_core::PCWSTR, riid: *const windows_core::GUID, ppvout: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Registry")]
impl windows_core::RuntimeName for IQueryAssociations {}
#[cfg(feature = "Win32_System_Registry")]
impl IQueryAssociations_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IQueryAssociations_Vtbl
where
Identity: IQueryAssociations_Impl,
{
unsafe extern "system" fn Init<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: ASSOCF, pszassoc: windows_core::PCWSTR, hkprogid: super::super::System::Registry::HKEY, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IQueryAssociations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryAssociations_Impl::Init(this, core::mem::transmute_copy(&flags), core::mem::transmute(&pszassoc), core::mem::transmute_copy(&hkprogid), core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn GetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: ASSOCF, str: ASSOCSTR, pszextra: windows_core::PCWSTR, pszout: windows_core::PWSTR, pcchout: *mut u32) -> windows_core::HRESULT
where
Identity: IQueryAssociations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryAssociations_Impl::GetString(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&str), core::mem::transmute(&pszextra), core::mem::transmute_copy(&pszout), core::mem::transmute_copy(&pcchout)).into()
}
unsafe extern "system" fn GetKey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: ASSOCF, key: ASSOCKEY, pszextra: windows_core::PCWSTR, phkeyout: *mut super::super::System::Registry::HKEY) -> windows_core::HRESULT
where
Identity: IQueryAssociations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IQueryAssociations_Impl::GetKey(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&key), core::mem::transmute(&pszextra)) {
Ok(ok__) => {
phkeyout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: ASSOCF, data: ASSOCDATA, pszextra: windows_core::PCWSTR, pvout: *mut core::ffi::c_void, pcbout: *mut u32) -> windows_core::HRESULT
where
Identity: IQueryAssociations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryAssociations_Impl::GetData(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&data), core::mem::transmute(&pszextra), core::mem::transmute_copy(&pvout), core::mem::transmute_copy(&pcbout)).into()
}
unsafe extern "system" fn GetEnum<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: ASSOCF, assocenum: ASSOCENUM, pszextra: windows_core::PCWSTR, riid: *const windows_core::GUID, ppvout: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IQueryAssociations_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryAssociations_Impl::GetEnum(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&assocenum), core::mem::transmute(&pszextra), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppvout)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Init: Init::<Identity, OFFSET>,
GetString: GetString::<Identity, OFFSET>,
GetKey: GetKey::<Identity, OFFSET>,
GetData: GetData::<Identity, OFFSET>,
GetEnum: GetEnum::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IQueryAssociations as windows_core::Interface>::IID
}
}
pub trait IQueryCancelAutoPlay_Impl: Sized {
fn AllowAutoPlay(&self, pszpath: &windows_core::PCWSTR, dwcontenttype: u32, pszlabel: &windows_core::PCWSTR, dwserialnumber: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IQueryCancelAutoPlay {}
impl IQueryCancelAutoPlay_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IQueryCancelAutoPlay_Vtbl
where
Identity: IQueryCancelAutoPlay_Impl,
{
unsafe extern "system" fn AllowAutoPlay<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpath: windows_core::PCWSTR, dwcontenttype: u32, pszlabel: windows_core::PCWSTR, dwserialnumber: u32) -> windows_core::HRESULT
where
Identity: IQueryCancelAutoPlay_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryCancelAutoPlay_Impl::AllowAutoPlay(this, core::mem::transmute(&pszpath), core::mem::transmute_copy(&dwcontenttype), core::mem::transmute(&pszlabel), core::mem::transmute_copy(&dwserialnumber)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), AllowAutoPlay: AllowAutoPlay::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IQueryCancelAutoPlay as windows_core::Interface>::IID
}
}
pub trait IQueryCodePage_Impl: Sized {
fn GetCodePage(&self) -> windows_core::Result<u32>;
fn SetCodePage(&self, uicodepage: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IQueryCodePage {}
impl IQueryCodePage_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IQueryCodePage_Vtbl
where
Identity: IQueryCodePage_Impl,
{
unsafe extern "system" fn GetCodePage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, puicodepage: *mut u32) -> windows_core::HRESULT
where
Identity: IQueryCodePage_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IQueryCodePage_Impl::GetCodePage(this) {
Ok(ok__) => {
puicodepage.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCodePage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uicodepage: u32) -> windows_core::HRESULT
where
Identity: IQueryCodePage_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryCodePage_Impl::SetCodePage(this, core::mem::transmute_copy(&uicodepage)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCodePage: GetCodePage::<Identity, OFFSET>,
SetCodePage: SetCodePage::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IQueryCodePage as windows_core::Interface>::IID
}
}
pub trait IQueryContinue_Impl: Sized {
fn QueryContinue(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IQueryContinue {}
impl IQueryContinue_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IQueryContinue_Vtbl
where
Identity: IQueryContinue_Impl,
{
unsafe extern "system" fn QueryContinue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IQueryContinue_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryContinue_Impl::QueryContinue(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), QueryContinue: QueryContinue::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IQueryContinue as windows_core::Interface>::IID
}
}
pub trait IQueryContinueWithStatus_Impl: Sized + IQueryContinue_Impl {
fn SetStatusMessage(&self, psz: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IQueryContinueWithStatus {}
impl IQueryContinueWithStatus_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IQueryContinueWithStatus_Vtbl
where
Identity: IQueryContinueWithStatus_Impl,
{
unsafe extern "system" fn SetStatusMessage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psz: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IQueryContinueWithStatus_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IQueryContinueWithStatus_Impl::SetStatusMessage(this, core::mem::transmute(&psz)).into()
}
Self { base__: IQueryContinue_Vtbl::new::<Identity, OFFSET>(), SetStatusMessage: SetStatusMessage::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IQueryContinueWithStatus as windows_core::Interface>::IID || iid == &<IQueryContinue as windows_core::Interface>::IID
}
}
pub trait IQueryInfo_Impl: Sized {
fn GetInfoTip(&self, dwflags: &QITIPF_FLAGS) -> windows_core::Result<windows_core::PWSTR>;
fn GetInfoFlags(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IQueryInfo {}
impl IQueryInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IQueryInfo_Vtbl
where
Identity: IQueryInfo_Impl,
{
unsafe extern "system" fn GetInfoTip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, ppwsztip: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IQueryInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IQueryInfo_Impl::GetInfoTip(this, core::mem::transmute(&dwflags)) {
Ok(ok__) => {
ppwsztip.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInfoFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IQueryInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IQueryInfo_Impl::GetInfoFlags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetInfoTip: GetInfoTip::<Identity, OFFSET>,
GetInfoFlags: GetInfoFlags::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IQueryInfo as windows_core::Interface>::IID
}
}
pub trait IRegTreeItem_Impl: Sized {
fn GetCheckState(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn SetCheckState(&self, bcheck: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IRegTreeItem {}
impl IRegTreeItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IRegTreeItem_Vtbl
where
Identity: IRegTreeItem_Impl,
{
unsafe extern "system" fn GetCheckState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbcheck: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IRegTreeItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IRegTreeItem_Impl::GetCheckState(this) {
Ok(ok__) => {
pbcheck.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCheckState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bcheck: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IRegTreeItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRegTreeItem_Impl::SetCheckState(this, core::mem::transmute_copy(&bcheck)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCheckState: GetCheckState::<Identity, OFFSET>,
SetCheckState: SetCheckState::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IRegTreeItem as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IRelatedItem_Impl: Sized {
fn GetItemIDList(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn GetItem(&self) -> windows_core::Result<IShellItem>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IRelatedItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IRelatedItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IRelatedItem_Vtbl
where
Identity: IRelatedItem_Impl,
{
unsafe extern "system" fn GetItemIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IRelatedItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IRelatedItem_Impl::GetItemIDList(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IRelatedItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IRelatedItem_Impl::GetItem(this) {
Ok(ok__) => {
ppsi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetItemIDList: GetItemIDList::<Identity, OFFSET>,
GetItem: GetItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
pub trait IRemoteComputer_Impl: Sized {
fn Initialize(&self, pszmachine: &windows_core::PCWSTR, benumerating: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IRemoteComputer {}
impl IRemoteComputer_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IRemoteComputer_Vtbl
where
Identity: IRemoteComputer_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszmachine: windows_core::PCWSTR, benumerating: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IRemoteComputer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRemoteComputer_Impl::Initialize(this, core::mem::transmute(&pszmachine), core::mem::transmute_copy(&benumerating)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IRemoteComputer as windows_core::Interface>::IID
}
}
pub trait IResolveShellLink_Impl: Sized {
fn ResolveShellLink(&self, punklink: Option<&windows_core::IUnknown>, hwnd: super::super::Foundation::HWND, fflags: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IResolveShellLink {}
impl IResolveShellLink_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IResolveShellLink_Vtbl
where
Identity: IResolveShellLink_Impl,
{
unsafe extern "system" fn ResolveShellLink<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punklink: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, fflags: u32) -> windows_core::HRESULT
where
Identity: IResolveShellLink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IResolveShellLink_Impl::ResolveShellLink(this, windows_core::from_raw_borrowed(&punklink), core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&fflags)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ResolveShellLink: ResolveShellLink::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IResolveShellLink as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IResultsFolder_Impl: Sized {
fn AddItem(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn AddIDList(&self, pidl: *const Common::ITEMIDLIST, ppidladded: *mut *mut Common::ITEMIDLIST) -> windows_core::Result<()>;
fn RemoveItem(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn RemoveIDList(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn RemoveAll(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IResultsFolder {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IResultsFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IResultsFolder_Vtbl
where
Identity: IResultsFolder_Impl,
{
unsafe extern "system" fn AddItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IResultsFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IResultsFolder_Impl::AddItem(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn AddIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, ppidladded: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IResultsFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IResultsFolder_Impl::AddIDList(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&ppidladded)).into()
}
unsafe extern "system" fn RemoveItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IResultsFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IResultsFolder_Impl::RemoveItem(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn RemoveIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IResultsFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IResultsFolder_Impl::RemoveIDList(this, core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn RemoveAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IResultsFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IResultsFolder_Impl::RemoveAll(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddItem: AddItem::<Identity, OFFSET>,
AddIDList: AddIDList::<Identity, OFFSET>,
RemoveItem: RemoveItem::<Identity, OFFSET>,
RemoveIDList: RemoveIDList::<Identity, OFFSET>,
RemoveAll: RemoveAll::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IResultsFolder as windows_core::Interface>::IID
}
}
pub trait IRunnableTask_Impl: Sized {
fn Run(&self) -> windows_core::Result<()>;
fn Kill(&self, bwait: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn Suspend(&self) -> windows_core::Result<()>;
fn Resume(&self) -> windows_core::Result<()>;
fn IsRunning(&self) -> u32;
}
impl windows_core::RuntimeName for IRunnableTask {}
impl IRunnableTask_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IRunnableTask_Vtbl
where
Identity: IRunnableTask_Impl,
{
unsafe extern "system" fn Run<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IRunnableTask_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRunnableTask_Impl::Run(this).into()
}
unsafe extern "system" fn Kill<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bwait: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IRunnableTask_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRunnableTask_Impl::Kill(this, core::mem::transmute_copy(&bwait)).into()
}
unsafe extern "system" fn Suspend<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IRunnableTask_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRunnableTask_Impl::Suspend(this).into()
}
unsafe extern "system" fn Resume<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IRunnableTask_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRunnableTask_Impl::Resume(this).into()
}
unsafe extern "system" fn IsRunning<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> u32
where
Identity: IRunnableTask_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IRunnableTask_Impl::IsRunning(this)
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Run: Run::<Identity, OFFSET>,
Kill: Kill::<Identity, OFFSET>,
Suspend: Suspend::<Identity, OFFSET>,
Resume: Resume::<Identity, OFFSET>,
IsRunning: IsRunning::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IRunnableTask as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IScriptErrorList_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn advanceError(&self) -> windows_core::Result<()>;
fn retreatError(&self) -> windows_core::Result<()>;
fn canAdvanceError(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn canRetreatError(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn getErrorLine(&self) -> windows_core::Result<i32>;
fn getErrorChar(&self) -> windows_core::Result<i32>;
fn getErrorCode(&self) -> windows_core::Result<i32>;
fn getErrorMsg(&self) -> windows_core::Result<windows_core::BSTR>;
fn getErrorUrl(&self) -> windows_core::Result<windows_core::BSTR>;
fn getAlwaysShowLockState(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn getDetailsPaneOpen(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn setDetailsPaneOpen(&self, fdetailspaneopen: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn getPerErrorDisplay(&self) -> windows_core::Result<super::super::Foundation::BOOL>;
fn setPerErrorDisplay(&self, fpererrordisplay: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IScriptErrorList {}
#[cfg(feature = "Win32_System_Com")]
impl IScriptErrorList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IScriptErrorList_Vtbl
where
Identity: IScriptErrorList_Impl,
{
unsafe extern "system" fn advanceError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IScriptErrorList_Impl::advanceError(this).into()
}
unsafe extern "system" fn retreatError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IScriptErrorList_Impl::retreatError(this).into()
}
unsafe extern "system" fn canAdvanceError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfcanadvance: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::canAdvanceError(this) {
Ok(ok__) => {
pfcanadvance.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn canRetreatError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfcanretreat: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::canRetreatError(this) {
Ok(ok__) => {
pfcanretreat.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getErrorLine<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plline: *mut i32) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getErrorLine(this) {
Ok(ok__) => {
plline.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getErrorChar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plchar: *mut i32) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getErrorChar(this) {
Ok(ok__) => {
plchar.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getErrorCode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plcode: *mut i32) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getErrorCode(this) {
Ok(ok__) => {
plcode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getErrorMsg<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstr: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getErrorMsg(this) {
Ok(ok__) => {
pstr.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getErrorUrl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstr: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getErrorUrl(this) {
Ok(ok__) => {
pstr.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getAlwaysShowLockState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfalwaysshowlocked: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getAlwaysShowLockState(this) {
Ok(ok__) => {
pfalwaysshowlocked.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn getDetailsPaneOpen<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfdetailspaneopen: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getDetailsPaneOpen(this) {
Ok(ok__) => {
pfdetailspaneopen.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn setDetailsPaneOpen<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fdetailspaneopen: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IScriptErrorList_Impl::setDetailsPaneOpen(this, core::mem::transmute_copy(&fdetailspaneopen)).into()
}
unsafe extern "system" fn getPerErrorDisplay<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfpererrordisplay: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IScriptErrorList_Impl::getPerErrorDisplay(this) {
Ok(ok__) => {
pfpererrordisplay.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn setPerErrorDisplay<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fpererrordisplay: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IScriptErrorList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IScriptErrorList_Impl::setPerErrorDisplay(this, core::mem::transmute_copy(&fpererrordisplay)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
advanceError: advanceError::<Identity, OFFSET>,
retreatError: retreatError::<Identity, OFFSET>,
canAdvanceError: canAdvanceError::<Identity, OFFSET>,
canRetreatError: canRetreatError::<Identity, OFFSET>,
getErrorLine: getErrorLine::<Identity, OFFSET>,
getErrorChar: getErrorChar::<Identity, OFFSET>,
getErrorCode: getErrorCode::<Identity, OFFSET>,
getErrorMsg: getErrorMsg::<Identity, OFFSET>,
getErrorUrl: getErrorUrl::<Identity, OFFSET>,
getAlwaysShowLockState: getAlwaysShowLockState::<Identity, OFFSET>,
getDetailsPaneOpen: getDetailsPaneOpen::<Identity, OFFSET>,
setDetailsPaneOpen: setDetailsPaneOpen::<Identity, OFFSET>,
getPerErrorDisplay: getPerErrorDisplay::<Identity, OFFSET>,
setPerErrorDisplay: setPerErrorDisplay::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IScriptErrorList as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
pub trait ISearchBoxInfo_Impl: Sized {
fn GetCondition(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetText(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for ISearchBoxInfo {}
impl ISearchBoxInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISearchBoxInfo_Vtbl
where
Identity: ISearchBoxInfo_Impl,
{
unsafe extern "system" fn GetCondition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISearchBoxInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchBoxInfo_Impl::GetCondition(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsz: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISearchBoxInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISearchBoxInfo_Impl::GetText(this) {
Ok(ok__) => {
ppsz.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCondition: GetCondition::<Identity, OFFSET>,
GetText: GetText::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISearchBoxInfo as windows_core::Interface>::IID
}
}
pub trait ISearchContext_Impl: Sized {
fn GetSearchUrl(&self) -> windows_core::Result<windows_core::BSTR>;
fn GetSearchText(&self) -> windows_core::Result<windows_core::BSTR>;
fn GetSearchStyle(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for ISearchContext {}
impl ISearchContext_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISearchContext_Vtbl
where
Identity: ISearchContext_Impl,
{
unsafe extern "system" fn GetSearchUrl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrsearchurl: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: ISearchContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISearchContext_Impl::GetSearchUrl(this) {
Ok(ok__) => {
pbstrsearchurl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSearchText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrsearchtext: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: ISearchContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISearchContext_Impl::GetSearchText(this) {
Ok(ok__) => {
pbstrsearchtext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSearchStyle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwsearchstyle: *mut u32) -> windows_core::HRESULT
where
Identity: ISearchContext_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISearchContext_Impl::GetSearchStyle(this) {
Ok(ok__) => {
pdwsearchstyle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSearchUrl: GetSearchUrl::<Identity, OFFSET>,
GetSearchText: GetSearchText::<Identity, OFFSET>,
GetSearchStyle: GetSearchStyle::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISearchContext as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait ISearchFolderItemFactory_Impl: Sized {
fn SetDisplayName(&self, pszdisplayname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetFolderTypeID(&self, ftid: &windows_core::GUID) -> windows_core::Result<()>;
fn SetFolderLogicalViewMode(&self, flvm: FOLDERLOGICALVIEWMODE) -> windows_core::Result<()>;
fn SetIconSize(&self, iiconsize: i32) -> windows_core::Result<()>;
fn SetVisibleColumns(&self, cvisiblecolumns: u32, rgkey: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn SetSortColumns(&self, csortcolumns: u32, rgsortcolumns: *const SORTCOLUMN) -> windows_core::Result<()>;
fn SetGroupColumn(&self, keygroup: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn SetStacks(&self, cstackkeys: u32, rgstackkeys: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
fn SetScope(&self, psiascope: Option<&IShellItemArray>) -> windows_core::Result<()>;
fn SetCondition(&self, pcondition: Option<&super::super::System::Search::ICondition>) -> windows_core::Result<()>;
fn GetShellItem(&self, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetIDList(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for ISearchFolderItemFactory {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Search", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl ISearchFolderItemFactory_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISearchFolderItemFactory_Vtbl
where
Identity: ISearchFolderItemFactory_Impl,
{
unsafe extern "system" fn SetDisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdisplayname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetDisplayName(this, core::mem::transmute(&pszdisplayname)).into()
}
unsafe extern "system" fn SetFolderTypeID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ftid: windows_core::GUID) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetFolderTypeID(this, core::mem::transmute(&ftid)).into()
}
unsafe extern "system" fn SetFolderLogicalViewMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flvm: FOLDERLOGICALVIEWMODE) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetFolderLogicalViewMode(this, core::mem::transmute_copy(&flvm)).into()
}
unsafe extern "system" fn SetIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iiconsize: i32) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetIconSize(this, core::mem::transmute_copy(&iiconsize)).into()
}
unsafe extern "system" fn SetVisibleColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cvisiblecolumns: u32, rgkey: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetVisibleColumns(this, core::mem::transmute_copy(&cvisiblecolumns), core::mem::transmute_copy(&rgkey)).into()
}
unsafe extern "system" fn SetSortColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, csortcolumns: u32, rgsortcolumns: *const SORTCOLUMN) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetSortColumns(this, core::mem::transmute_copy(&csortcolumns), core::mem::transmute_copy(&rgsortcolumns)).into()
}
unsafe extern "system" fn SetGroupColumn<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, keygroup: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetGroupColumn(this, core::mem::transmute_copy(&keygroup)).into()
}
unsafe extern "system" fn SetStacks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cstackkeys: u32, rgstackkeys: *const PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetStacks(this, core::mem::transmute_copy(&cstackkeys), core::mem::transmute_copy(&rgstackkeys)).into()
}
unsafe extern "system" fn SetScope<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiascope: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetScope(this, windows_core::from_raw_borrowed(&psiascope)).into()
}
unsafe extern "system" fn SetCondition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcondition: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::SetCondition(this, windows_core::from_raw_borrowed(&pcondition)).into()
}
unsafe extern "system" fn GetShellItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISearchFolderItemFactory_Impl::GetShellItem(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: ISearchFolderItemFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISearchFolderItemFactory_Impl::GetIDList(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetDisplayName: SetDisplayName::<Identity, OFFSET>,
SetFolderTypeID: SetFolderTypeID::<Identity, OFFSET>,
SetFolderLogicalViewMode: SetFolderLogicalViewMode::<Identity, OFFSET>,
SetIconSize: SetIconSize::<Identity, OFFSET>,
SetVisibleColumns: SetVisibleColumns::<Identity, OFFSET>,
SetSortColumns: SetSortColumns::<Identity, OFFSET>,
SetGroupColumn: SetGroupColumn::<Identity, OFFSET>,
SetStacks: SetStacks::<Identity, OFFSET>,
SetScope: SetScope::<Identity, OFFSET>,
SetCondition: SetCondition::<Identity, OFFSET>,
GetShellItem: GetShellItem::<Identity, OFFSET>,
GetIDList: GetIDList::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISearchFolderItemFactory as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait ISharedBitmap_Impl: Sized {
fn GetSharedBitmap(&self) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
fn GetSize(&self) -> windows_core::Result<super::super::Foundation::SIZE>;
fn GetFormat(&self) -> windows_core::Result<WTS_ALPHATYPE>;
fn InitializeBitmap(&self, hbm: super::super::Graphics::Gdi::HBITMAP, wtsat: WTS_ALPHATYPE) -> windows_core::Result<()>;
fn Detach(&self) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for ISharedBitmap {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl ISharedBitmap_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISharedBitmap_Vtbl
where
Identity: ISharedBitmap_Impl,
{
unsafe extern "system" fn GetSharedBitmap<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phbm: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: ISharedBitmap_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISharedBitmap_Impl::GetSharedBitmap(this) {
Ok(ok__) => {
phbm.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psize: *mut super::super::Foundation::SIZE) -> windows_core::HRESULT
where
Identity: ISharedBitmap_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISharedBitmap_Impl::GetSize(this) {
Ok(ok__) => {
psize.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFormat<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pat: *mut WTS_ALPHATYPE) -> windows_core::HRESULT
where
Identity: ISharedBitmap_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISharedBitmap_Impl::GetFormat(this) {
Ok(ok__) => {
pat.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InitializeBitmap<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hbm: super::super::Graphics::Gdi::HBITMAP, wtsat: WTS_ALPHATYPE) -> windows_core::HRESULT
where
Identity: ISharedBitmap_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharedBitmap_Impl::InitializeBitmap(this, core::mem::transmute_copy(&hbm), core::mem::transmute_copy(&wtsat)).into()
}
unsafe extern "system" fn Detach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phbm: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: ISharedBitmap_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISharedBitmap_Impl::Detach(this) {
Ok(ok__) => {
phbm.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSharedBitmap: GetSharedBitmap::<Identity, OFFSET>,
GetSize: GetSize::<Identity, OFFSET>,
GetFormat: GetFormat::<Identity, OFFSET>,
InitializeBitmap: InitializeBitmap::<Identity, OFFSET>,
Detach: Detach::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISharedBitmap as windows_core::Interface>::IID
}
}
pub trait ISharingConfigurationManager_Impl: Sized {
fn CreateShare(&self, dsid: DEF_SHARE_ID, role: SHARE_ROLE) -> windows_core::Result<()>;
fn DeleteShare(&self, dsid: DEF_SHARE_ID) -> windows_core::Result<()>;
fn ShareExists(&self, dsid: DEF_SHARE_ID) -> windows_core::Result<()>;
fn GetSharePermissions(&self, dsid: DEF_SHARE_ID) -> windows_core::Result<SHARE_ROLE>;
fn SharePrinters(&self) -> windows_core::Result<()>;
fn StopSharingPrinters(&self) -> windows_core::Result<()>;
fn ArePrintersShared(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISharingConfigurationManager {}
impl ISharingConfigurationManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISharingConfigurationManager_Vtbl
where
Identity: ISharingConfigurationManager_Impl,
{
unsafe extern "system" fn CreateShare<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dsid: DEF_SHARE_ID, role: SHARE_ROLE) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharingConfigurationManager_Impl::CreateShare(this, core::mem::transmute_copy(&dsid), core::mem::transmute_copy(&role)).into()
}
unsafe extern "system" fn DeleteShare<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dsid: DEF_SHARE_ID) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharingConfigurationManager_Impl::DeleteShare(this, core::mem::transmute_copy(&dsid)).into()
}
unsafe extern "system" fn ShareExists<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dsid: DEF_SHARE_ID) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharingConfigurationManager_Impl::ShareExists(this, core::mem::transmute_copy(&dsid)).into()
}
unsafe extern "system" fn GetSharePermissions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dsid: DEF_SHARE_ID, prole: *mut SHARE_ROLE) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISharingConfigurationManager_Impl::GetSharePermissions(this, core::mem::transmute_copy(&dsid)) {
Ok(ok__) => {
prole.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SharePrinters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharingConfigurationManager_Impl::SharePrinters(this).into()
}
unsafe extern "system" fn StopSharingPrinters<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharingConfigurationManager_Impl::StopSharingPrinters(this).into()
}
unsafe extern "system" fn ArePrintersShared<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISharingConfigurationManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISharingConfigurationManager_Impl::ArePrintersShared(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateShare: CreateShare::<Identity, OFFSET>,
DeleteShare: DeleteShare::<Identity, OFFSET>,
ShareExists: ShareExists::<Identity, OFFSET>,
GetSharePermissions: GetSharePermissions::<Identity, OFFSET>,
SharePrinters: SharePrinters::<Identity, OFFSET>,
StopSharingPrinters: StopSharingPrinters::<Identity, OFFSET>,
ArePrintersShared: ArePrintersShared::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISharingConfigurationManager as windows_core::Interface>::IID
}
}
pub trait IShellApp_Impl: Sized {
fn GetAppInfo(&self, pai: *mut APPINFODATA) -> windows_core::Result<()>;
fn GetPossibleActions(&self) -> windows_core::Result<u32>;
fn GetSlowAppInfo(&self, psaid: *mut SLOWAPPINFO) -> windows_core::Result<()>;
fn GetCachedSlowAppInfo(&self, psaid: *mut SLOWAPPINFO) -> windows_core::Result<()>;
fn IsInstalled(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellApp {}
impl IShellApp_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellApp_Vtbl
where
Identity: IShellApp_Impl,
{
unsafe extern "system" fn GetAppInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pai: *mut APPINFODATA) -> windows_core::HRESULT
where
Identity: IShellApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellApp_Impl::GetAppInfo(this, core::mem::transmute_copy(&pai)).into()
}
unsafe extern "system" fn GetPossibleActions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwactions: *mut u32) -> windows_core::HRESULT
where
Identity: IShellApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellApp_Impl::GetPossibleActions(this) {
Ok(ok__) => {
pdwactions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSlowAppInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psaid: *mut SLOWAPPINFO) -> windows_core::HRESULT
where
Identity: IShellApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellApp_Impl::GetSlowAppInfo(this, core::mem::transmute_copy(&psaid)).into()
}
unsafe extern "system" fn GetCachedSlowAppInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psaid: *mut SLOWAPPINFO) -> windows_core::HRESULT
where
Identity: IShellApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellApp_Impl::GetCachedSlowAppInfo(this, core::mem::transmute_copy(&psaid)).into()
}
unsafe extern "system" fn IsInstalled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellApp_Impl::IsInstalled(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetAppInfo: GetAppInfo::<Identity, OFFSET>,
GetPossibleActions: GetPossibleActions::<Identity, OFFSET>,
GetSlowAppInfo: GetSlowAppInfo::<Identity, OFFSET>,
GetCachedSlowAppInfo: GetCachedSlowAppInfo::<Identity, OFFSET>,
IsInstalled: IsInstalled::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellApp as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellBrowser_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn InsertMenusSB(&self, hmenushared: super::WindowsAndMessaging::HMENU, lpmenuwidths: *mut super::super::System::Ole::OLEMENUGROUPWIDTHS) -> windows_core::Result<()>;
fn SetMenuSB(&self, hmenushared: super::WindowsAndMessaging::HMENU, holemenures: isize, hwndactiveobject: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn RemoveMenusSB(&self, hmenushared: super::WindowsAndMessaging::HMENU) -> windows_core::Result<()>;
fn SetStatusTextSB(&self, pszstatustext: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn EnableModelessSB(&self, fenable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn TranslateAcceleratorSB(&self, pmsg: *const super::WindowsAndMessaging::MSG, wid: u16) -> windows_core::Result<()>;
fn BrowseObject(&self, pidl: *const Common::ITEMIDLIST, wflags: u32) -> windows_core::Result<()>;
fn GetViewStateStream(&self, grfmode: u32) -> windows_core::Result<super::super::System::Com::IStream>;
fn GetControlWindow(&self, id: u32) -> windows_core::Result<super::super::Foundation::HWND>;
fn SendControlMsg(&self, id: u32, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, pret: *mut super::super::Foundation::LRESULT) -> windows_core::Result<()>;
fn QueryActiveShellView(&self) -> windows_core::Result<IShellView>;
fn OnViewWindowActive(&self, pshv: Option<&IShellView>) -> windows_core::Result<()>;
fn SetToolbarItems(&self, lpbuttons: *const super::Controls::TBBUTTON, nbuttons: u32, uflags: u32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellBrowser {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellBrowser_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellBrowser_Vtbl
where
Identity: IShellBrowser_Impl,
{
unsafe extern "system" fn InsertMenusSB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmenushared: super::WindowsAndMessaging::HMENU, lpmenuwidths: *mut super::super::System::Ole::OLEMENUGROUPWIDTHS) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::InsertMenusSB(this, core::mem::transmute_copy(&hmenushared), core::mem::transmute_copy(&lpmenuwidths)).into()
}
unsafe extern "system" fn SetMenuSB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmenushared: super::WindowsAndMessaging::HMENU, holemenures: isize, hwndactiveobject: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::SetMenuSB(this, core::mem::transmute_copy(&hmenushared), core::mem::transmute_copy(&holemenures), core::mem::transmute_copy(&hwndactiveobject)).into()
}
unsafe extern "system" fn RemoveMenusSB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmenushared: super::WindowsAndMessaging::HMENU) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::RemoveMenusSB(this, core::mem::transmute_copy(&hmenushared)).into()
}
unsafe extern "system" fn SetStatusTextSB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszstatustext: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::SetStatusTextSB(this, core::mem::transmute(&pszstatustext)).into()
}
unsafe extern "system" fn EnableModelessSB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::EnableModelessSB(this, core::mem::transmute_copy(&fenable)).into()
}
unsafe extern "system" fn TranslateAcceleratorSB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG, wid: u16) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::TranslateAcceleratorSB(this, core::mem::transmute_copy(&pmsg), core::mem::transmute_copy(&wid)).into()
}
unsafe extern "system" fn BrowseObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, wflags: u32) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::BrowseObject(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&wflags)).into()
}
unsafe extern "system" fn GetViewStateStream<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, grfmode: u32, ppstrm: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellBrowser_Impl::GetViewStateStream(this, core::mem::transmute_copy(&grfmode)) {
Ok(ok__) => {
ppstrm.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetControlWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, phwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellBrowser_Impl::GetControlWindow(this, core::mem::transmute_copy(&id)) {
Ok(ok__) => {
phwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SendControlMsg<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, id: u32, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM, pret: *mut super::super::Foundation::LRESULT) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::SendControlMsg(this, core::mem::transmute_copy(&id), core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam), core::mem::transmute_copy(&pret)).into()
}
unsafe extern "system" fn QueryActiveShellView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellBrowser_Impl::QueryActiveShellView(this) {
Ok(ok__) => {
ppshv.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnViewWindowActive<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pshv: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::OnViewWindowActive(this, windows_core::from_raw_borrowed(&pshv)).into()
}
unsafe extern "system" fn SetToolbarItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lpbuttons: *const super::Controls::TBBUTTON, nbuttons: u32, uflags: u32) -> windows_core::HRESULT
where
Identity: IShellBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellBrowser_Impl::SetToolbarItems(this, core::mem::transmute_copy(&lpbuttons), core::mem::transmute_copy(&nbuttons), core::mem::transmute_copy(&uflags)).into()
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
InsertMenusSB: InsertMenusSB::<Identity, OFFSET>,
SetMenuSB: SetMenuSB::<Identity, OFFSET>,
RemoveMenusSB: RemoveMenusSB::<Identity, OFFSET>,
SetStatusTextSB: SetStatusTextSB::<Identity, OFFSET>,
EnableModelessSB: EnableModelessSB::<Identity, OFFSET>,
TranslateAcceleratorSB: TranslateAcceleratorSB::<Identity, OFFSET>,
BrowseObject: BrowseObject::<Identity, OFFSET>,
GetViewStateStream: GetViewStateStream::<Identity, OFFSET>,
GetControlWindow: GetControlWindow::<Identity, OFFSET>,
SendControlMsg: SendControlMsg::<Identity, OFFSET>,
QueryActiveShellView: QueryActiveShellView::<Identity, OFFSET>,
OnViewWindowActive: OnViewWindowActive::<Identity, OFFSET>,
SetToolbarItems: SetToolbarItems::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellBrowser as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IShellChangeNotify_Impl: Sized {
fn OnChange(&self, levent: i32, pidl1: *const Common::ITEMIDLIST, pidl2: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IShellChangeNotify {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IShellChangeNotify_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellChangeNotify_Vtbl
where
Identity: IShellChangeNotify_Impl,
{
unsafe extern "system" fn OnChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, levent: i32, pidl1: *const Common::ITEMIDLIST, pidl2: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellChangeNotify_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellChangeNotify_Impl::OnChange(this, core::mem::transmute_copy(&levent), core::mem::transmute_copy(&pidl1), core::mem::transmute_copy(&pidl2)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnChange: OnChange::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellChangeNotify as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IShellDetails_Impl: Sized {
fn GetDetailsOf(&self, pidl: *const Common::ITEMIDLIST, icolumn: u32, pdetails: *mut Common::SHELLDETAILS) -> windows_core::Result<()>;
fn ColumnClick(&self, icolumn: u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IShellDetails {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IShellDetails_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDetails_Vtbl
where
Identity: IShellDetails_Impl,
{
unsafe extern "system" fn GetDetailsOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, icolumn: u32, pdetails: *mut Common::SHELLDETAILS) -> windows_core::HRESULT
where
Identity: IShellDetails_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDetails_Impl::GetDetailsOf(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&icolumn), core::mem::transmute_copy(&pdetails)).into()
}
unsafe extern "system" fn ColumnClick<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, icolumn: u32) -> windows_core::HRESULT
where
Identity: IShellDetails_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDetails_Impl::ColumnClick(this, core::mem::transmute_copy(&icolumn)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetDetailsOf: GetDetailsOf::<Identity, OFFSET>,
ColumnClick: ColumnClick::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDetails as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellDispatch_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn NameSpace(&self, vdir: &windows_core::VARIANT) -> windows_core::Result<Folder>;
fn BrowseForFolder(&self, hwnd: i32, title: &windows_core::BSTR, options: i32, rootfolder: &windows_core::VARIANT) -> windows_core::Result<Folder>;
fn Windows(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Open(&self, vdir: &windows_core::VARIANT) -> windows_core::Result<()>;
fn Explore(&self, vdir: &windows_core::VARIANT) -> windows_core::Result<()>;
fn MinimizeAll(&self) -> windows_core::Result<()>;
fn UndoMinimizeALL(&self) -> windows_core::Result<()>;
fn FileRun(&self) -> windows_core::Result<()>;
fn CascadeWindows(&self) -> windows_core::Result<()>;
fn TileVertically(&self) -> windows_core::Result<()>;
fn TileHorizontally(&self) -> windows_core::Result<()>;
fn ShutdownWindows(&self) -> windows_core::Result<()>;
fn Suspend(&self) -> windows_core::Result<()>;
fn EjectPC(&self) -> windows_core::Result<()>;
fn SetTime(&self) -> windows_core::Result<()>;
fn TrayProperties(&self) -> windows_core::Result<()>;
fn Help(&self) -> windows_core::Result<()>;
fn FindFiles(&self) -> windows_core::Result<()>;
fn FindComputer(&self) -> windows_core::Result<()>;
fn RefreshMenu(&self) -> windows_core::Result<()>;
fn ControlPanelItem(&self, bstrdir: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellDispatch {}
#[cfg(feature = "Win32_System_Com")]
impl IShellDispatch_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDispatch_Vtbl
where
Identity: IShellDispatch_Impl,
{
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn NameSpace<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vdir: core::mem::MaybeUninit<windows_core::VARIANT>, ppsdf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch_Impl::NameSpace(this, core::mem::transmute(&vdir)) {
Ok(ok__) => {
ppsdf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn BrowseForFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: i32, title: core::mem::MaybeUninit<windows_core::BSTR>, options: i32, rootfolder: core::mem::MaybeUninit<windows_core::VARIANT>, ppsdf: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch_Impl::BrowseForFolder(this, core::mem::transmute_copy(&hwnd), core::mem::transmute(&title), core::mem::transmute_copy(&options), core::mem::transmute(&rootfolder)) {
Ok(ok__) => {
ppsdf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Windows<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch_Impl::Windows(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Open<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vdir: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::Open(this, core::mem::transmute(&vdir)).into()
}
unsafe extern "system" fn Explore<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vdir: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::Explore(this, core::mem::transmute(&vdir)).into()
}
unsafe extern "system" fn MinimizeAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::MinimizeAll(this).into()
}
unsafe extern "system" fn UndoMinimizeALL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::UndoMinimizeALL(this).into()
}
unsafe extern "system" fn FileRun<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::FileRun(this).into()
}
unsafe extern "system" fn CascadeWindows<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::CascadeWindows(this).into()
}
unsafe extern "system" fn TileVertically<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::TileVertically(this).into()
}
unsafe extern "system" fn TileHorizontally<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::TileHorizontally(this).into()
}
unsafe extern "system" fn ShutdownWindows<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::ShutdownWindows(this).into()
}
unsafe extern "system" fn Suspend<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::Suspend(this).into()
}
unsafe extern "system" fn EjectPC<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::EjectPC(this).into()
}
unsafe extern "system" fn SetTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::SetTime(this).into()
}
unsafe extern "system" fn TrayProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::TrayProperties(this).into()
}
unsafe extern "system" fn Help<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::Help(this).into()
}
unsafe extern "system" fn FindFiles<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::FindFiles(this).into()
}
unsafe extern "system" fn FindComputer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::FindComputer(this).into()
}
unsafe extern "system" fn RefreshMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::RefreshMenu(this).into()
}
unsafe extern "system" fn ControlPanelItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrdir: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellDispatch_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch_Impl::ControlPanelItem(this, core::mem::transmute(&bstrdir)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
NameSpace: NameSpace::<Identity, OFFSET>,
BrowseForFolder: BrowseForFolder::<Identity, OFFSET>,
Windows: Windows::<Identity, OFFSET>,
Open: Open::<Identity, OFFSET>,
Explore: Explore::<Identity, OFFSET>,
MinimizeAll: MinimizeAll::<Identity, OFFSET>,
UndoMinimizeALL: UndoMinimizeALL::<Identity, OFFSET>,
FileRun: FileRun::<Identity, OFFSET>,
CascadeWindows: CascadeWindows::<Identity, OFFSET>,
TileVertically: TileVertically::<Identity, OFFSET>,
TileHorizontally: TileHorizontally::<Identity, OFFSET>,
ShutdownWindows: ShutdownWindows::<Identity, OFFSET>,
Suspend: Suspend::<Identity, OFFSET>,
EjectPC: EjectPC::<Identity, OFFSET>,
SetTime: SetTime::<Identity, OFFSET>,
TrayProperties: TrayProperties::<Identity, OFFSET>,
Help: Help::<Identity, OFFSET>,
FindFiles: FindFiles::<Identity, OFFSET>,
FindComputer: FindComputer::<Identity, OFFSET>,
RefreshMenu: RefreshMenu::<Identity, OFFSET>,
ControlPanelItem: ControlPanelItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDispatch as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellDispatch2_Impl: Sized + IShellDispatch_Impl {
fn IsRestricted(&self, group: &windows_core::BSTR, restriction: &windows_core::BSTR) -> windows_core::Result<i32>;
fn ShellExecute(&self, file: &windows_core::BSTR, vargs: &windows_core::VARIANT, vdir: &windows_core::VARIANT, voperation: &windows_core::VARIANT, vshow: &windows_core::VARIANT) -> windows_core::Result<()>;
fn FindPrinter(&self, name: &windows_core::BSTR, location: &windows_core::BSTR, model: &windows_core::BSTR) -> windows_core::Result<()>;
fn GetSystemInformation(&self, name: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn ServiceStart(&self, servicename: &windows_core::BSTR, persistent: &windows_core::VARIANT) -> windows_core::Result<windows_core::VARIANT>;
fn ServiceStop(&self, servicename: &windows_core::BSTR, persistent: &windows_core::VARIANT) -> windows_core::Result<windows_core::VARIANT>;
fn IsServiceRunning(&self, servicename: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn CanStartStopService(&self, servicename: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn ShowBrowserBar(&self, bstrclsid: &windows_core::BSTR, bshow: &windows_core::VARIANT) -> windows_core::Result<windows_core::VARIANT>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellDispatch2 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellDispatch2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDispatch2_Vtbl
where
Identity: IShellDispatch2_Impl,
{
unsafe extern "system" fn IsRestricted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, group: core::mem::MaybeUninit<windows_core::BSTR>, restriction: core::mem::MaybeUninit<windows_core::BSTR>, plrestrictvalue: *mut i32) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::IsRestricted(this, core::mem::transmute(&group), core::mem::transmute(&restriction)) {
Ok(ok__) => {
plrestrictvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ShellExecute<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, file: core::mem::MaybeUninit<windows_core::BSTR>, vargs: core::mem::MaybeUninit<windows_core::VARIANT>, vdir: core::mem::MaybeUninit<windows_core::VARIANT>, voperation: core::mem::MaybeUninit<windows_core::VARIANT>, vshow: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch2_Impl::ShellExecute(this, core::mem::transmute(&file), core::mem::transmute(&vargs), core::mem::transmute(&vdir), core::mem::transmute(&voperation), core::mem::transmute(&vshow)).into()
}
unsafe extern "system" fn FindPrinter<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: core::mem::MaybeUninit<windows_core::BSTR>, location: core::mem::MaybeUninit<windows_core::BSTR>, model: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch2_Impl::FindPrinter(this, core::mem::transmute(&name), core::mem::transmute(&location), core::mem::transmute(&model)).into()
}
unsafe extern "system" fn GetSystemInformation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: core::mem::MaybeUninit<windows_core::BSTR>, pv: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::GetSystemInformation(this, core::mem::transmute(&name)) {
Ok(ok__) => {
pv.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ServiceStart<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, servicename: core::mem::MaybeUninit<windows_core::BSTR>, persistent: core::mem::MaybeUninit<windows_core::VARIANT>, psuccess: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::ServiceStart(this, core::mem::transmute(&servicename), core::mem::transmute(&persistent)) {
Ok(ok__) => {
psuccess.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ServiceStop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, servicename: core::mem::MaybeUninit<windows_core::BSTR>, persistent: core::mem::MaybeUninit<windows_core::VARIANT>, psuccess: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::ServiceStop(this, core::mem::transmute(&servicename), core::mem::transmute(&persistent)) {
Ok(ok__) => {
psuccess.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsServiceRunning<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, servicename: core::mem::MaybeUninit<windows_core::BSTR>, prunning: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::IsServiceRunning(this, core::mem::transmute(&servicename)) {
Ok(ok__) => {
prunning.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CanStartStopService<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, servicename: core::mem::MaybeUninit<windows_core::BSTR>, pcanstartstop: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::CanStartStopService(this, core::mem::transmute(&servicename)) {
Ok(ok__) => {
pcanstartstop.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ShowBrowserBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrclsid: core::mem::MaybeUninit<windows_core::BSTR>, bshow: core::mem::MaybeUninit<windows_core::VARIANT>, psuccess: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch2_Impl::ShowBrowserBar(this, core::mem::transmute(&bstrclsid), core::mem::transmute(&bshow)) {
Ok(ok__) => {
psuccess.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IShellDispatch_Vtbl::new::<Identity, OFFSET>(),
IsRestricted: IsRestricted::<Identity, OFFSET>,
ShellExecute: ShellExecute::<Identity, OFFSET>,
FindPrinter: FindPrinter::<Identity, OFFSET>,
GetSystemInformation: GetSystemInformation::<Identity, OFFSET>,
ServiceStart: ServiceStart::<Identity, OFFSET>,
ServiceStop: ServiceStop::<Identity, OFFSET>,
IsServiceRunning: IsServiceRunning::<Identity, OFFSET>,
CanStartStopService: CanStartStopService::<Identity, OFFSET>,
ShowBrowserBar: ShowBrowserBar::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDispatch2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellDispatch3_Impl: Sized + IShellDispatch2_Impl {
fn AddToRecent(&self, varfile: &windows_core::VARIANT, bstrcategory: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellDispatch3 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellDispatch3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDispatch3_Vtbl
where
Identity: IShellDispatch3_Impl,
{
unsafe extern "system" fn AddToRecent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, varfile: core::mem::MaybeUninit<windows_core::VARIANT>, bstrcategory: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellDispatch3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch3_Impl::AddToRecent(this, core::mem::transmute(&varfile), core::mem::transmute(&bstrcategory)).into()
}
Self { base__: IShellDispatch2_Vtbl::new::<Identity, OFFSET>(), AddToRecent: AddToRecent::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDispatch3 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch2 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellDispatch4_Impl: Sized + IShellDispatch3_Impl {
fn WindowsSecurity(&self) -> windows_core::Result<()>;
fn ToggleDesktop(&self) -> windows_core::Result<()>;
fn ExplorerPolicy(&self, bstrpolicyname: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn GetSetting(&self, lsetting: i32) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellDispatch4 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellDispatch4_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDispatch4_Vtbl
where
Identity: IShellDispatch4_Impl,
{
unsafe extern "system" fn WindowsSecurity<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch4_Impl::WindowsSecurity(this).into()
}
unsafe extern "system" fn ToggleDesktop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch4_Impl::ToggleDesktop(this).into()
}
unsafe extern "system" fn ExplorerPolicy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrpolicyname: core::mem::MaybeUninit<windows_core::BSTR>, pvalue: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellDispatch4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch4_Impl::ExplorerPolicy(this, core::mem::transmute(&bstrpolicyname)) {
Ok(ok__) => {
pvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSetting<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lsetting: i32, presult: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellDispatch4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellDispatch4_Impl::GetSetting(this, core::mem::transmute_copy(&lsetting)) {
Ok(ok__) => {
presult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IShellDispatch3_Vtbl::new::<Identity, OFFSET>(),
WindowsSecurity: WindowsSecurity::<Identity, OFFSET>,
ToggleDesktop: ToggleDesktop::<Identity, OFFSET>,
ExplorerPolicy: ExplorerPolicy::<Identity, OFFSET>,
GetSetting: GetSetting::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDispatch4 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch2 as windows_core::Interface>::IID || iid == &<IShellDispatch3 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellDispatch5_Impl: Sized + IShellDispatch4_Impl {
fn WindowSwitcher(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellDispatch5 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellDispatch5_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDispatch5_Vtbl
where
Identity: IShellDispatch5_Impl,
{
unsafe extern "system" fn WindowSwitcher<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch5_Impl::WindowSwitcher(this).into()
}
Self { base__: IShellDispatch4_Vtbl::new::<Identity, OFFSET>(), WindowSwitcher: WindowSwitcher::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDispatch5 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch2 as windows_core::Interface>::IID || iid == &<IShellDispatch3 as windows_core::Interface>::IID || iid == &<IShellDispatch4 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellDispatch6_Impl: Sized + IShellDispatch5_Impl {
fn SearchCommand(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellDispatch6 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellDispatch6_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellDispatch6_Vtbl
where
Identity: IShellDispatch6_Impl,
{
unsafe extern "system" fn SearchCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellDispatch6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellDispatch6_Impl::SearchCommand(this).into()
}
Self { base__: IShellDispatch5_Vtbl::new::<Identity, OFFSET>(), SearchCommand: SearchCommand::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellDispatch6 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch as windows_core::Interface>::IID || iid == &<IShellDispatch2 as windows_core::Interface>::IID || iid == &<IShellDispatch3 as windows_core::Interface>::IID || iid == &<IShellDispatch4 as windows_core::Interface>::IID || iid == &<IShellDispatch5 as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))]
pub trait IShellExtInit_Impl: Sized {
fn Initialize(&self, pidlfolder: *const Common::ITEMIDLIST, pdtobj: Option<&super::super::System::Com::IDataObject>, hkeyprogid: super::super::System::Registry::HKEY) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IShellExtInit {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common"))]
impl IShellExtInit_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellExtInit_Vtbl
where
Identity: IShellExtInit_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST, pdtobj: *mut core::ffi::c_void, hkeyprogid: super::super::System::Registry::HKEY) -> windows_core::HRESULT
where
Identity: IShellExtInit_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellExtInit_Impl::Initialize(this, core::mem::transmute_copy(&pidlfolder), windows_core::from_raw_borrowed(&pdtobj), core::mem::transmute_copy(&hkeyprogid)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Initialize: Initialize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellExtInit as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellFavoritesNameSpace_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn MoveSelectionUp(&self) -> windows_core::Result<()>;
fn MoveSelectionDown(&self) -> windows_core::Result<()>;
fn ResetSort(&self) -> windows_core::Result<()>;
fn NewFolder(&self) -> windows_core::Result<()>;
fn Synchronize(&self) -> windows_core::Result<()>;
fn Import(&self) -> windows_core::Result<()>;
fn Export(&self) -> windows_core::Result<()>;
fn InvokeContextMenuCommand(&self, strcommand: &windows_core::BSTR) -> windows_core::Result<()>;
fn MoveSelectionTo(&self) -> windows_core::Result<()>;
fn SubscriptionsEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn CreateSubscriptionForSelection(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn DeleteSubscriptionForSelection(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetRoot(&self, bstrfullpath: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellFavoritesNameSpace {}
#[cfg(feature = "Win32_System_Com")]
impl IShellFavoritesNameSpace_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFavoritesNameSpace_Vtbl
where
Identity: IShellFavoritesNameSpace_Impl,
{
unsafe extern "system" fn MoveSelectionUp<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::MoveSelectionUp(this).into()
}
unsafe extern "system" fn MoveSelectionDown<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::MoveSelectionDown(this).into()
}
unsafe extern "system" fn ResetSort<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::ResetSort(this).into()
}
unsafe extern "system" fn NewFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::NewFolder(this).into()
}
unsafe extern "system" fn Synchronize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::Synchronize(this).into()
}
unsafe extern "system" fn Import<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::Import(this).into()
}
unsafe extern "system" fn Export<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::Export(this).into()
}
unsafe extern "system" fn InvokeContextMenuCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, strcommand: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::InvokeContextMenuCommand(this, core::mem::transmute(&strcommand)).into()
}
unsafe extern "system" fn MoveSelectionTo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::MoveSelectionTo(this).into()
}
unsafe extern "system" fn SubscriptionsEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFavoritesNameSpace_Impl::SubscriptionsEnabled(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateSubscriptionForSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFavoritesNameSpace_Impl::CreateSubscriptionForSelection(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DeleteSubscriptionForSelection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFavoritesNameSpace_Impl::DeleteSubscriptionForSelection(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRoot<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrfullpath: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFavoritesNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFavoritesNameSpace_Impl::SetRoot(this, core::mem::transmute(&bstrfullpath)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
MoveSelectionUp: MoveSelectionUp::<Identity, OFFSET>,
MoveSelectionDown: MoveSelectionDown::<Identity, OFFSET>,
ResetSort: ResetSort::<Identity, OFFSET>,
NewFolder: NewFolder::<Identity, OFFSET>,
Synchronize: Synchronize::<Identity, OFFSET>,
Import: Import::<Identity, OFFSET>,
Export: Export::<Identity, OFFSET>,
InvokeContextMenuCommand: InvokeContextMenuCommand::<Identity, OFFSET>,
MoveSelectionTo: MoveSelectionTo::<Identity, OFFSET>,
SubscriptionsEnabled: SubscriptionsEnabled::<Identity, OFFSET>,
CreateSubscriptionForSelection: CreateSubscriptionForSelection::<Identity, OFFSET>,
DeleteSubscriptionForSelection: DeleteSubscriptionForSelection::<Identity, OFFSET>,
SetRoot: SetRoot::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFavoritesNameSpace as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IShellFolder_Impl: Sized {
fn ParseDisplayName(&self, hwnd: super::super::Foundation::HWND, pbc: Option<&super::super::System::Com::IBindCtx>, pszdisplayname: &windows_core::PCWSTR, pcheaten: *const u32, ppidl: *mut *mut Common::ITEMIDLIST, pdwattributes: *mut u32) -> windows_core::Result<()>;
fn EnumObjects(&self, hwnd: super::super::Foundation::HWND, grfflags: u32, ppenumidlist: *mut Option<IEnumIDList>) -> windows_core::HRESULT;
fn BindToObject(&self, pidl: *const Common::ITEMIDLIST, pbc: Option<&super::super::System::Com::IBindCtx>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn BindToStorage(&self, pidl: *const Common::ITEMIDLIST, pbc: Option<&super::super::System::Com::IBindCtx>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn CompareIDs(&self, lparam: super::super::Foundation::LPARAM, pidl1: *const Common::ITEMIDLIST, pidl2: *const Common::ITEMIDLIST) -> windows_core::HRESULT;
fn CreateViewObject(&self, hwndowner: super::super::Foundation::HWND, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetAttributesOf(&self, cidl: u32, apidl: *const *const Common::ITEMIDLIST, rgfinout: *mut u32) -> windows_core::Result<()>;
fn GetUIObjectOf(&self, hwndowner: super::super::Foundation::HWND, cidl: u32, apidl: *const *const Common::ITEMIDLIST, riid: *const windows_core::GUID, rgfreserved: *const u32, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetDisplayNameOf(&self, pidl: *const Common::ITEMIDLIST, uflags: SHGDNF, pname: *mut Common::STRRET) -> windows_core::Result<()>;
fn SetNameOf(&self, hwnd: super::super::Foundation::HWND, pidl: *const Common::ITEMIDLIST, pszname: &windows_core::PCWSTR, uflags: SHGDNF, ppidlout: *mut *mut Common::ITEMIDLIST) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IShellFolder {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IShellFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolder_Vtbl
where
Identity: IShellFolder_Impl,
{
unsafe extern "system" fn ParseDisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, pbc: *mut core::ffi::c_void, pszdisplayname: windows_core::PCWSTR, pcheaten: *const u32, ppidl: *mut *mut Common::ITEMIDLIST, pdwattributes: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::ParseDisplayName(this, core::mem::transmute_copy(&hwnd), windows_core::from_raw_borrowed(&pbc), core::mem::transmute(&pszdisplayname), core::mem::transmute_copy(&pcheaten), core::mem::transmute_copy(&ppidl), core::mem::transmute_copy(&pdwattributes)).into()
}
unsafe extern "system" fn EnumObjects<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, grfflags: u32, ppenumidlist: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::EnumObjects(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&grfflags), core::mem::transmute_copy(&ppenumidlist))
}
unsafe extern "system" fn BindToObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pbc: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::BindToObject(this, core::mem::transmute_copy(&pidl), windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn BindToStorage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pbc: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::BindToStorage(this, core::mem::transmute_copy(&pidl), windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn CompareIDs<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lparam: super::super::Foundation::LPARAM, pidl1: *const Common::ITEMIDLIST, pidl2: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::CompareIDs(this, core::mem::transmute_copy(&lparam), core::mem::transmute_copy(&pidl1), core::mem::transmute_copy(&pidl2))
}
unsafe extern "system" fn CreateViewObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::CreateViewObject(this, core::mem::transmute_copy(&hwndowner), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetAttributesOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cidl: u32, apidl: *const *const Common::ITEMIDLIST, rgfinout: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::GetAttributesOf(this, core::mem::transmute_copy(&cidl), core::mem::transmute_copy(&apidl), core::mem::transmute_copy(&rgfinout)).into()
}
unsafe extern "system" fn GetUIObjectOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND, cidl: u32, apidl: *const *const Common::ITEMIDLIST, riid: *const windows_core::GUID, rgfreserved: *const u32, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::GetUIObjectOf(this, core::mem::transmute_copy(&hwndowner), core::mem::transmute_copy(&cidl), core::mem::transmute_copy(&apidl), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&rgfreserved), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetDisplayNameOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, uflags: SHGDNF, pname: *mut Common::STRRET) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::GetDisplayNameOf(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&uflags), core::mem::transmute_copy(&pname)).into()
}
unsafe extern "system" fn SetNameOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, pidl: *const Common::ITEMIDLIST, pszname: windows_core::PCWSTR, uflags: SHGDNF, ppidlout: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder_Impl::SetNameOf(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&pidl), core::mem::transmute(&pszname), core::mem::transmute_copy(&uflags), core::mem::transmute_copy(&ppidlout)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ParseDisplayName: ParseDisplayName::<Identity, OFFSET>,
EnumObjects: EnumObjects::<Identity, OFFSET>,
BindToObject: BindToObject::<Identity, OFFSET>,
BindToStorage: BindToStorage::<Identity, OFFSET>,
CompareIDs: CompareIDs::<Identity, OFFSET>,
CreateViewObject: CreateViewObject::<Identity, OFFSET>,
GetAttributesOf: GetAttributesOf::<Identity, OFFSET>,
GetUIObjectOf: GetUIObjectOf::<Identity, OFFSET>,
GetDisplayNameOf: GetDisplayNameOf::<Identity, OFFSET>,
SetNameOf: SetNameOf::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolder as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait IShellFolder2_Impl: Sized + IShellFolder_Impl {
fn GetDefaultSearchGUID(&self) -> windows_core::Result<windows_core::GUID>;
fn EnumSearches(&self) -> windows_core::Result<IEnumExtraSearch>;
fn GetDefaultColumn(&self, dwres: u32, psort: *mut u32, pdisplay: *mut u32) -> windows_core::Result<()>;
fn GetDefaultColumnState(&self, icolumn: u32) -> windows_core::Result<Common::SHCOLSTATE>;
fn GetDetailsEx(&self, pidl: *const Common::ITEMIDLIST, pscid: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::VARIANT>;
fn GetDetailsOf(&self, pidl: *const Common::ITEMIDLIST, icolumn: u32, psd: *mut Common::SHELLDETAILS) -> windows_core::Result<()>;
fn MapColumnToSCID(&self, icolumn: u32, pscid: *mut PropertiesSystem::PROPERTYKEY) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for IShellFolder2 {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl IShellFolder2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolder2_Vtbl
where
Identity: IShellFolder2_Impl,
{
unsafe extern "system" fn GetDefaultSearchGUID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolder2_Impl::GetDefaultSearchGUID(this) {
Ok(ok__) => {
pguid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumSearches<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolder2_Impl::EnumSearches(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultColumn<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwres: u32, psort: *mut u32, pdisplay: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder2_Impl::GetDefaultColumn(this, core::mem::transmute_copy(&dwres), core::mem::transmute_copy(&psort), core::mem::transmute_copy(&pdisplay)).into()
}
unsafe extern "system" fn GetDefaultColumnState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, icolumn: u32, pcsflags: *mut Common::SHCOLSTATE) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolder2_Impl::GetDefaultColumnState(this, core::mem::transmute_copy(&icolumn)) {
Ok(ok__) => {
pcsflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDetailsEx<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pscid: *const PropertiesSystem::PROPERTYKEY, pv: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolder2_Impl::GetDetailsEx(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&pscid)) {
Ok(ok__) => {
pv.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDetailsOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, icolumn: u32, psd: *mut Common::SHELLDETAILS) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder2_Impl::GetDetailsOf(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&icolumn), core::mem::transmute_copy(&psd)).into()
}
unsafe extern "system" fn MapColumnToSCID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, icolumn: u32, pscid: *mut PropertiesSystem::PROPERTYKEY) -> windows_core::HRESULT
where
Identity: IShellFolder2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolder2_Impl::MapColumnToSCID(this, core::mem::transmute_copy(&icolumn), core::mem::transmute_copy(&pscid)).into()
}
Self {
base__: IShellFolder_Vtbl::new::<Identity, OFFSET>(),
GetDefaultSearchGUID: GetDefaultSearchGUID::<Identity, OFFSET>,
EnumSearches: EnumSearches::<Identity, OFFSET>,
GetDefaultColumn: GetDefaultColumn::<Identity, OFFSET>,
GetDefaultColumnState: GetDefaultColumnState::<Identity, OFFSET>,
GetDetailsEx: GetDetailsEx::<Identity, OFFSET>,
GetDetailsOf: GetDetailsOf::<Identity, OFFSET>,
MapColumnToSCID: MapColumnToSCID::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolder2 as windows_core::Interface>::IID || iid == &<IShellFolder as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IShellFolderBand_Impl: Sized {
fn InitializeSFB(&self, psf: Option<&IShellFolder>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn SetBandInfoSFB(&self, pbi: *const BANDINFOSFB) -> windows_core::Result<()>;
fn GetBandInfoSFB(&self, pbi: *mut BANDINFOSFB) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IShellFolderBand {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IShellFolderBand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolderBand_Vtbl
where
Identity: IShellFolderBand_Impl,
{
unsafe extern "system" fn InitializeSFB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellFolderBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderBand_Impl::InitializeSFB(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn SetBandInfoSFB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbi: *const BANDINFOSFB) -> windows_core::HRESULT
where
Identity: IShellFolderBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderBand_Impl::SetBandInfoSFB(this, core::mem::transmute_copy(&pbi)).into()
}
unsafe extern "system" fn GetBandInfoSFB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbi: *mut BANDINFOSFB) -> windows_core::HRESULT
where
Identity: IShellFolderBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderBand_Impl::GetBandInfoSFB(this, core::mem::transmute_copy(&pbi)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
InitializeSFB: InitializeSFB::<Identity, OFFSET>,
SetBandInfoSFB: SetBandInfoSFB::<Identity, OFFSET>,
GetBandInfoSFB: GetBandInfoSFB::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolderBand as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
pub trait IShellFolderView_Impl: Sized {
fn Rearrange(&self, lparamsort: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
fn GetArrangeParam(&self) -> windows_core::Result<super::super::Foundation::LPARAM>;
fn ArrangeGrid(&self) -> windows_core::Result<()>;
fn AutoArrange(&self) -> windows_core::Result<()>;
fn GetAutoArrange(&self) -> windows_core::Result<()>;
fn AddObject(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<u32>;
fn GetObject(&self, ppidl: *mut *mut Common::ITEMIDLIST, uitem: u32) -> windows_core::Result<()>;
fn RemoveObject(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<u32>;
fn GetObjectCount(&self) -> windows_core::Result<u32>;
fn SetObjectCount(&self, ucount: u32, dwflags: u32) -> windows_core::Result<()>;
fn UpdateObject(&self, pidlold: *const Common::ITEMIDLIST, pidlnew: *const Common::ITEMIDLIST) -> windows_core::Result<u32>;
fn RefreshObject(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<u32>;
fn SetRedraw(&self, bredraw: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetSelectedCount(&self) -> windows_core::Result<u32>;
fn GetSelectedObjects(&self, pppidl: *mut *mut *mut Common::ITEMIDLIST, puitems: *mut u32) -> windows_core::Result<()>;
fn IsDropOnSource(&self, pdroptarget: Option<&super::super::System::Ole::IDropTarget>) -> windows_core::Result<()>;
fn GetDragPoint(&self) -> windows_core::Result<super::super::Foundation::POINT>;
fn GetDropPoint(&self) -> windows_core::Result<super::super::Foundation::POINT>;
fn MoveIcons(&self, pdataobject: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
fn SetItemPos(&self, pidl: *const Common::ITEMIDLIST, ppt: *const super::super::Foundation::POINT) -> windows_core::Result<()>;
fn IsBkDropTarget(&self, pdroptarget: Option<&super::super::System::Ole::IDropTarget>) -> windows_core::Result<()>;
fn SetClipboard(&self, bmove: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetPoints(&self, pdataobject: Option<&super::super::System::Com::IDataObject>) -> windows_core::Result<()>;
fn GetItemSpacing(&self) -> windows_core::Result<ITEMSPACING>;
fn SetCallback(&self, pnewcb: Option<&IShellFolderViewCB>) -> windows_core::Result<IShellFolderViewCB>;
fn Select(&self, dwflags: &SFVS_SELECT) -> windows_core::Result<()>;
fn QuerySupport(&self, pdwsupport: *mut u32) -> windows_core::Result<()>;
fn SetAutomationObject(&self, pdisp: Option<&super::super::System::Com::IDispatch>) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IShellFolderView {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole", feature = "Win32_UI_Shell_Common"))]
impl IShellFolderView_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolderView_Vtbl
where
Identity: IShellFolderView_Impl,
{
unsafe extern "system" fn Rearrange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lparamsort: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::Rearrange(this, core::mem::transmute_copy(&lparamsort)).into()
}
unsafe extern "system" fn GetArrangeParam<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plparamsort: *mut super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::GetArrangeParam(this) {
Ok(ok__) => {
plparamsort.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ArrangeGrid<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::ArrangeGrid(this).into()
}
unsafe extern "system" fn AutoArrange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::AutoArrange(this).into()
}
unsafe extern "system" fn GetAutoArrange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::GetAutoArrange(this).into()
}
unsafe extern "system" fn AddObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, puitem: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::AddObject(this, core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
puitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST, uitem: u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::GetObject(this, core::mem::transmute_copy(&ppidl), core::mem::transmute_copy(&uitem)).into()
}
unsafe extern "system" fn RemoveObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, puitem: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::RemoveObject(this, core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
puitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetObjectCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pucount: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::GetObjectCount(this) {
Ok(ok__) => {
pucount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetObjectCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ucount: u32, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::SetObjectCount(this, core::mem::transmute_copy(&ucount), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn UpdateObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlold: *const Common::ITEMIDLIST, pidlnew: *const Common::ITEMIDLIST, puitem: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::UpdateObject(this, core::mem::transmute_copy(&pidlold), core::mem::transmute_copy(&pidlnew)) {
Ok(ok__) => {
puitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RefreshObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, puitem: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::RefreshObject(this, core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
puitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRedraw<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bredraw: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::SetRedraw(this, core::mem::transmute_copy(&bredraw)).into()
}
unsafe extern "system" fn GetSelectedCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, puselected: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::GetSelectedCount(this) {
Ok(ok__) => {
puselected.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSelectedObjects<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pppidl: *mut *mut *mut Common::ITEMIDLIST, puitems: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::GetSelectedObjects(this, core::mem::transmute_copy(&pppidl), core::mem::transmute_copy(&puitems)).into()
}
unsafe extern "system" fn IsDropOnSource<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdroptarget: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::IsDropOnSource(this, windows_core::from_raw_borrowed(&pdroptarget)).into()
}
unsafe extern "system" fn GetDragPoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *mut super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::GetDragPoint(this) {
Ok(ok__) => {
ppt.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDropPoint<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppt: *mut super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::GetDropPoint(this) {
Ok(ok__) => {
ppt.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn MoveIcons<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdataobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::MoveIcons(this, windows_core::from_raw_borrowed(&pdataobject)).into()
}
unsafe extern "system" fn SetItemPos<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, ppt: *const super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::SetItemPos(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&ppt)).into()
}
unsafe extern "system" fn IsBkDropTarget<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdroptarget: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::IsBkDropTarget(this, windows_core::from_raw_borrowed(&pdroptarget)).into()
}
unsafe extern "system" fn SetClipboard<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bmove: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::SetClipboard(this, core::mem::transmute_copy(&bmove)).into()
}
unsafe extern "system" fn SetPoints<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdataobject: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::SetPoints(this, windows_core::from_raw_borrowed(&pdataobject)).into()
}
unsafe extern "system" fn GetItemSpacing<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pspacing: *mut ITEMSPACING) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::GetItemSpacing(this) {
Ok(ok__) => {
pspacing.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCallback<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnewcb: *mut core::ffi::c_void, ppoldcb: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderView_Impl::SetCallback(this, windows_core::from_raw_borrowed(&pnewcb)) {
Ok(ok__) => {
ppoldcb.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Select<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::Select(this, core::mem::transmute(&dwflags)).into()
}
unsafe extern "system" fn QuerySupport<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwsupport: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::QuerySupport(this, core::mem::transmute_copy(&pdwsupport)).into()
}
unsafe extern "system" fn SetAutomationObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdisp: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderView_Impl::SetAutomationObject(this, windows_core::from_raw_borrowed(&pdisp)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Rearrange: Rearrange::<Identity, OFFSET>,
GetArrangeParam: GetArrangeParam::<Identity, OFFSET>,
ArrangeGrid: ArrangeGrid::<Identity, OFFSET>,
AutoArrange: AutoArrange::<Identity, OFFSET>,
GetAutoArrange: GetAutoArrange::<Identity, OFFSET>,
AddObject: AddObject::<Identity, OFFSET>,
GetObject: GetObject::<Identity, OFFSET>,
RemoveObject: RemoveObject::<Identity, OFFSET>,
GetObjectCount: GetObjectCount::<Identity, OFFSET>,
SetObjectCount: SetObjectCount::<Identity, OFFSET>,
UpdateObject: UpdateObject::<Identity, OFFSET>,
RefreshObject: RefreshObject::<Identity, OFFSET>,
SetRedraw: SetRedraw::<Identity, OFFSET>,
GetSelectedCount: GetSelectedCount::<Identity, OFFSET>,
GetSelectedObjects: GetSelectedObjects::<Identity, OFFSET>,
IsDropOnSource: IsDropOnSource::<Identity, OFFSET>,
GetDragPoint: GetDragPoint::<Identity, OFFSET>,
GetDropPoint: GetDropPoint::<Identity, OFFSET>,
MoveIcons: MoveIcons::<Identity, OFFSET>,
SetItemPos: SetItemPos::<Identity, OFFSET>,
IsBkDropTarget: IsBkDropTarget::<Identity, OFFSET>,
SetClipboard: SetClipboard::<Identity, OFFSET>,
SetPoints: SetPoints::<Identity, OFFSET>,
GetItemSpacing: GetItemSpacing::<Identity, OFFSET>,
SetCallback: SetCallback::<Identity, OFFSET>,
Select: Select::<Identity, OFFSET>,
QuerySupport: QuerySupport::<Identity, OFFSET>,
SetAutomationObject: SetAutomationObject::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolderView as windows_core::Interface>::IID
}
}
pub trait IShellFolderViewCB_Impl: Sized {
fn MessageSFVCB(&self, umsg: &SFVM_MESSAGE_ID, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellFolderViewCB {}
impl IShellFolderViewCB_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolderViewCB_Vtbl
where
Identity: IShellFolderViewCB_Impl,
{
unsafe extern "system" fn MessageSFVCB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellFolderViewCB_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewCB_Impl::MessageSFVCB(this, core::mem::transmute(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), MessageSFVCB: MessageSFVCB::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolderViewCB as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellFolderViewDual_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Folder(&self) -> windows_core::Result<Folder>;
fn SelectedItems(&self) -> windows_core::Result<FolderItems>;
fn FocusedItem(&self) -> windows_core::Result<FolderItem>;
fn SelectItem(&self, pvfi: *const windows_core::VARIANT, dwflags: i32) -> windows_core::Result<()>;
fn PopupItemMenu(&self, pfi: Option<&FolderItem>, vx: &windows_core::VARIANT, vy: &windows_core::VARIANT) -> windows_core::Result<windows_core::BSTR>;
fn Script(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn ViewOptions(&self) -> windows_core::Result<i32>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellFolderViewDual {}
#[cfg(feature = "Win32_System_Com")]
impl IShellFolderViewDual_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolderViewDual_Vtbl
where
Identity: IShellFolderViewDual_Impl,
{
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::Application(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::Parent(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Folder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::Folder(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SelectedItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::SelectedItems(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FocusedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::FocusedItem(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SelectItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvfi: *const core::mem::MaybeUninit<windows_core::VARIANT>, dwflags: i32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual_Impl::SelectItem(this, core::mem::transmute_copy(&pvfi), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn PopupItemMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfi: *mut core::ffi::c_void, vx: core::mem::MaybeUninit<windows_core::VARIANT>, vy: core::mem::MaybeUninit<windows_core::VARIANT>, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::PopupItemMenu(this, windows_core::from_raw_borrowed(&pfi), core::mem::transmute(&vx), core::mem::transmute(&vy)) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Script<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppdisp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::Script(this) {
Ok(ok__) => {
ppdisp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ViewOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plviewoptions: *mut i32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual_Impl::ViewOptions(this) {
Ok(ok__) => {
plviewoptions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
Folder: Folder::<Identity, OFFSET>,
SelectedItems: SelectedItems::<Identity, OFFSET>,
FocusedItem: FocusedItem::<Identity, OFFSET>,
SelectItem: SelectItem::<Identity, OFFSET>,
PopupItemMenu: PopupItemMenu::<Identity, OFFSET>,
Script: Script::<Identity, OFFSET>,
ViewOptions: ViewOptions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolderViewDual as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellFolderViewDual2_Impl: Sized + IShellFolderViewDual_Impl {
fn CurrentViewMode(&self) -> windows_core::Result<u32>;
fn SetCurrentViewMode(&self, viewmode: u32) -> windows_core::Result<()>;
fn SelectItemRelative(&self, irelative: i32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellFolderViewDual2 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellFolderViewDual2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolderViewDual2_Vtbl
where
Identity: IShellFolderViewDual2_Impl,
{
unsafe extern "system" fn CurrentViewMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pviewmode: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual2_Impl::CurrentViewMode(this) {
Ok(ok__) => {
pviewmode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetCurrentViewMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, viewmode: u32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual2_Impl::SetCurrentViewMode(this, core::mem::transmute_copy(&viewmode)).into()
}
unsafe extern "system" fn SelectItemRelative<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, irelative: i32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual2_Impl::SelectItemRelative(this, core::mem::transmute_copy(&irelative)).into()
}
Self {
base__: IShellFolderViewDual_Vtbl::new::<Identity, OFFSET>(),
CurrentViewMode: CurrentViewMode::<Identity, OFFSET>,
SetCurrentViewMode: SetCurrentViewMode::<Identity, OFFSET>,
SelectItemRelative: SelectItemRelative::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolderViewDual2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellFolderViewDual as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellFolderViewDual3_Impl: Sized + IShellFolderViewDual2_Impl {
fn GroupBy(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetGroupBy(&self, bstrgroupby: &windows_core::BSTR) -> windows_core::Result<()>;
fn FolderFlags(&self) -> windows_core::Result<u32>;
fn SetFolderFlags(&self, dwflags: u32) -> windows_core::Result<()>;
fn SortColumns(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetSortColumns(&self, bstrsortcolumns: &windows_core::BSTR) -> windows_core::Result<()>;
fn SetIconSize(&self, iiconsize: i32) -> windows_core::Result<()>;
fn IconSize(&self) -> windows_core::Result<i32>;
fn FilterView(&self, bstrfiltertext: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellFolderViewDual3 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellFolderViewDual3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellFolderViewDual3_Vtbl
where
Identity: IShellFolderViewDual3_Impl,
{
unsafe extern "system" fn GroupBy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrgroupby: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual3_Impl::GroupBy(this) {
Ok(ok__) => {
pbstrgroupby.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetGroupBy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrgroupby: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual3_Impl::SetGroupBy(this, core::mem::transmute(&bstrgroupby)).into()
}
unsafe extern "system" fn FolderFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual3_Impl::FolderFlags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFolderFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual3_Impl::SetFolderFlags(this, core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn SortColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrsortcolumns: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual3_Impl::SortColumns(this) {
Ok(ok__) => {
pbstrsortcolumns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSortColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrsortcolumns: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual3_Impl::SetSortColumns(this, core::mem::transmute(&bstrsortcolumns)).into()
}
unsafe extern "system" fn SetIconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iiconsize: i32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual3_Impl::SetIconSize(this, core::mem::transmute_copy(&iiconsize)).into()
}
unsafe extern "system" fn IconSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, piiconsize: *mut i32) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellFolderViewDual3_Impl::IconSize(this) {
Ok(ok__) => {
piiconsize.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FilterView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrfiltertext: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellFolderViewDual3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellFolderViewDual3_Impl::FilterView(this, core::mem::transmute(&bstrfiltertext)).into()
}
Self {
base__: IShellFolderViewDual2_Vtbl::new::<Identity, OFFSET>(),
GroupBy: GroupBy::<Identity, OFFSET>,
SetGroupBy: SetGroupBy::<Identity, OFFSET>,
FolderFlags: FolderFlags::<Identity, OFFSET>,
SetFolderFlags: SetFolderFlags::<Identity, OFFSET>,
SortColumns: SortColumns::<Identity, OFFSET>,
SetSortColumns: SetSortColumns::<Identity, OFFSET>,
SetIconSize: SetIconSize::<Identity, OFFSET>,
IconSize: IconSize::<Identity, OFFSET>,
FilterView: FilterView::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellFolderViewDual3 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellFolderViewDual as windows_core::Interface>::IID || iid == &<IShellFolderViewDual2 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IShellIcon_Impl: Sized {
fn GetIconOf(&self, pidl: *const Common::ITEMIDLIST, flags: u32) -> windows_core::Result<i32>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IShellIcon {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IShellIcon_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellIcon_Vtbl
where
Identity: IShellIcon_Impl,
{
unsafe extern "system" fn GetIconOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, flags: u32, piconindex: *mut i32) -> windows_core::HRESULT
where
Identity: IShellIcon_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellIcon_Impl::GetIconOf(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
piconindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetIconOf: GetIconOf::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellIcon as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IShellIconOverlay_Impl: Sized {
fn GetOverlayIndex(&self, pidl: *const Common::ITEMIDLIST, pindex: *mut i32) -> windows_core::Result<()>;
fn GetOverlayIconIndex(&self, pidl: *const Common::ITEMIDLIST, piconindex: *mut i32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IShellIconOverlay {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IShellIconOverlay_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellIconOverlay_Vtbl
where
Identity: IShellIconOverlay_Impl,
{
unsafe extern "system" fn GetOverlayIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, pindex: *mut i32) -> windows_core::HRESULT
where
Identity: IShellIconOverlay_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlay_Impl::GetOverlayIndex(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&pindex)).into()
}
unsafe extern "system" fn GetOverlayIconIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, piconindex: *mut i32) -> windows_core::HRESULT
where
Identity: IShellIconOverlay_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlay_Impl::GetOverlayIconIndex(this, core::mem::transmute_copy(&pidl), core::mem::transmute_copy(&piconindex)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetOverlayIndex: GetOverlayIndex::<Identity, OFFSET>,
GetOverlayIconIndex: GetOverlayIconIndex::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellIconOverlay as windows_core::Interface>::IID
}
}
pub trait IShellIconOverlayIdentifier_Impl: Sized {
fn IsMemberOf(&self, pwszpath: &windows_core::PCWSTR, dwattrib: u32) -> windows_core::Result<()>;
fn GetOverlayInfo(&self, pwsziconfile: windows_core::PWSTR, cchmax: i32, pindex: *mut i32, pdwflags: *mut u32) -> windows_core::Result<()>;
fn GetPriority(&self) -> windows_core::Result<i32>;
}
impl windows_core::RuntimeName for IShellIconOverlayIdentifier {}
impl IShellIconOverlayIdentifier_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellIconOverlayIdentifier_Vtbl
where
Identity: IShellIconOverlayIdentifier_Impl,
{
unsafe extern "system" fn IsMemberOf<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszpath: windows_core::PCWSTR, dwattrib: u32) -> windows_core::HRESULT
where
Identity: IShellIconOverlayIdentifier_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayIdentifier_Impl::IsMemberOf(this, core::mem::transmute(&pwszpath), core::mem::transmute_copy(&dwattrib)).into()
}
unsafe extern "system" fn GetOverlayInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwsziconfile: windows_core::PWSTR, cchmax: i32, pindex: *mut i32, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellIconOverlayIdentifier_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayIdentifier_Impl::GetOverlayInfo(this, core::mem::transmute_copy(&pwsziconfile), core::mem::transmute_copy(&cchmax), core::mem::transmute_copy(&pindex), core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn GetPriority<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppriority: *mut i32) -> windows_core::HRESULT
where
Identity: IShellIconOverlayIdentifier_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellIconOverlayIdentifier_Impl::GetPriority(this) {
Ok(ok__) => {
ppriority.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IsMemberOf: IsMemberOf::<Identity, OFFSET>,
GetOverlayInfo: GetOverlayInfo::<Identity, OFFSET>,
GetPriority: GetPriority::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellIconOverlayIdentifier as windows_core::Interface>::IID
}
}
pub trait IShellIconOverlayManager_Impl: Sized {
fn GetFileOverlayInfo(&self, pwszpath: &windows_core::PCWSTR, dwattrib: u32, pindex: *mut i32, dwflags: u32) -> windows_core::Result<()>;
fn GetReservedOverlayInfo(&self, pwszpath: &windows_core::PCWSTR, dwattrib: u32, pindex: *mut i32, dwflags: u32, ireservedid: i32) -> windows_core::Result<()>;
fn RefreshOverlayImages(&self, dwflags: u32) -> windows_core::Result<()>;
fn LoadNonloadedOverlayIdentifiers(&self) -> windows_core::Result<()>;
fn OverlayIndexFromImageIndex(&self, iimage: i32, piindex: *mut i32, fadd: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellIconOverlayManager {}
impl IShellIconOverlayManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellIconOverlayManager_Vtbl
where
Identity: IShellIconOverlayManager_Impl,
{
unsafe extern "system" fn GetFileOverlayInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszpath: windows_core::PCWSTR, dwattrib: u32, pindex: *mut i32, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellIconOverlayManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayManager_Impl::GetFileOverlayInfo(this, core::mem::transmute(&pwszpath), core::mem::transmute_copy(&dwattrib), core::mem::transmute_copy(&pindex), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetReservedOverlayInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszpath: windows_core::PCWSTR, dwattrib: u32, pindex: *mut i32, dwflags: u32, ireservedid: i32) -> windows_core::HRESULT
where
Identity: IShellIconOverlayManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayManager_Impl::GetReservedOverlayInfo(this, core::mem::transmute(&pwszpath), core::mem::transmute_copy(&dwattrib), core::mem::transmute_copy(&pindex), core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&ireservedid)).into()
}
unsafe extern "system" fn RefreshOverlayImages<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellIconOverlayManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayManager_Impl::RefreshOverlayImages(this, core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn LoadNonloadedOverlayIdentifiers<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellIconOverlayManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayManager_Impl::LoadNonloadedOverlayIdentifiers(this).into()
}
unsafe extern "system" fn OverlayIndexFromImageIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iimage: i32, piindex: *mut i32, fadd: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellIconOverlayManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellIconOverlayManager_Impl::OverlayIndexFromImageIndex(this, core::mem::transmute_copy(&iimage), core::mem::transmute_copy(&piindex), core::mem::transmute_copy(&fadd)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetFileOverlayInfo: GetFileOverlayInfo::<Identity, OFFSET>,
GetReservedOverlayInfo: GetReservedOverlayInfo::<Identity, OFFSET>,
RefreshOverlayImages: RefreshOverlayImages::<Identity, OFFSET>,
LoadNonloadedOverlayIdentifiers: LoadNonloadedOverlayIdentifiers::<Identity, OFFSET>,
OverlayIndexFromImageIndex: OverlayIndexFromImageIndex::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellIconOverlayManager as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Graphics_GdiPlus", feature = "Win32_System_Com_StructuredStorage"))]
pub trait IShellImageData_Impl: Sized {
fn Decode(&self, dwflags: u32, cxdesired: u32, cydesired: u32) -> windows_core::Result<()>;
fn Draw(&self, hdc: super::super::Graphics::Gdi::HDC, prcdest: *mut super::super::Foundation::RECT, prcsrc: *mut super::super::Foundation::RECT) -> windows_core::Result<()>;
fn NextFrame(&self) -> windows_core::Result<()>;
fn NextPage(&self) -> windows_core::Result<()>;
fn PrevPage(&self) -> windows_core::Result<()>;
fn IsTransparent(&self) -> windows_core::Result<()>;
fn IsAnimated(&self) -> windows_core::Result<()>;
fn IsVector(&self) -> windows_core::Result<()>;
fn IsMultipage(&self) -> windows_core::Result<()>;
fn IsEditable(&self) -> windows_core::Result<()>;
fn IsPrintable(&self) -> windows_core::Result<()>;
fn IsDecoded(&self) -> windows_core::Result<()>;
fn GetCurrentPage(&self, pnpage: *mut u32) -> windows_core::Result<()>;
fn GetPageCount(&self, pcpages: *mut u32) -> windows_core::Result<()>;
fn SelectPage(&self, ipage: u32) -> windows_core::Result<()>;
fn GetSize(&self, psize: *mut super::super::Foundation::SIZE) -> windows_core::Result<()>;
fn GetRawDataFormat(&self, pdataformat: *mut windows_core::GUID) -> windows_core::Result<()>;
fn GetPixelFormat(&self, pformat: *mut u32) -> windows_core::Result<()>;
fn GetDelay(&self, pdwdelay: *mut u32) -> windows_core::Result<()>;
fn GetProperties(&self, dwmode: u32) -> windows_core::Result<super::super::System::Com::StructuredStorage::IPropertySetStorage>;
fn Rotate(&self, dwangle: u32) -> windows_core::Result<()>;
fn Scale(&self, cx: u32, cy: u32, hints: super::super::Graphics::GdiPlus::InterpolationMode) -> windows_core::Result<()>;
fn DiscardEdit(&self) -> windows_core::Result<()>;
fn SetEncoderParams(&self, pbagenc: Option<&super::super::System::Com::StructuredStorage::IPropertyBag>) -> windows_core::Result<()>;
fn DisplayName(&self, wszname: &windows_core::PCWSTR, cch: u32) -> windows_core::Result<()>;
fn GetResolution(&self, puresolutionx: *mut u32, puresolutiony: *mut u32) -> windows_core::Result<()>;
fn GetEncoderParams(&self, pguidfmt: *mut windows_core::GUID, ppencparams: *mut *mut u8) -> windows_core::Result<()>;
fn RegisterAbort(&self, pabort: Option<&IShellImageDataAbort>) -> windows_core::Result<IShellImageDataAbort>;
fn CloneFrame(&self, ppimg: *mut *mut u8) -> windows_core::Result<()>;
fn ReplaceFrame(&self, pimg: *mut u8) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Graphics_GdiPlus", feature = "Win32_System_Com_StructuredStorage"))]
impl windows_core::RuntimeName for IShellImageData {}
#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_Graphics_GdiPlus", feature = "Win32_System_Com_StructuredStorage"))]
impl IShellImageData_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellImageData_Vtbl
where
Identity: IShellImageData_Impl,
{
unsafe extern "system" fn Decode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32, cxdesired: u32, cydesired: u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::Decode(this, core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&cxdesired), core::mem::transmute_copy(&cydesired)).into()
}
unsafe extern "system" fn Draw<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hdc: super::super::Graphics::Gdi::HDC, prcdest: *mut super::super::Foundation::RECT, prcsrc: *mut super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::Draw(this, core::mem::transmute_copy(&hdc), core::mem::transmute_copy(&prcdest), core::mem::transmute_copy(&prcsrc)).into()
}
unsafe extern "system" fn NextFrame<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::NextFrame(this).into()
}
unsafe extern "system" fn NextPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::NextPage(this).into()
}
unsafe extern "system" fn PrevPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::PrevPage(this).into()
}
unsafe extern "system" fn IsTransparent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsTransparent(this).into()
}
unsafe extern "system" fn IsAnimated<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsAnimated(this).into()
}
unsafe extern "system" fn IsVector<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsVector(this).into()
}
unsafe extern "system" fn IsMultipage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsMultipage(this).into()
}
unsafe extern "system" fn IsEditable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsEditable(this).into()
}
unsafe extern "system" fn IsPrintable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsPrintable(this).into()
}
unsafe extern "system" fn IsDecoded<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::IsDecoded(this).into()
}
unsafe extern "system" fn GetCurrentPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnpage: *mut u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetCurrentPage(this, core::mem::transmute_copy(&pnpage)).into()
}
unsafe extern "system" fn GetPageCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcpages: *mut u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetPageCount(this, core::mem::transmute_copy(&pcpages)).into()
}
unsafe extern "system" fn SelectPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ipage: u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::SelectPage(this, core::mem::transmute_copy(&ipage)).into()
}
unsafe extern "system" fn GetSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psize: *mut super::super::Foundation::SIZE) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetSize(this, core::mem::transmute_copy(&psize)).into()
}
unsafe extern "system" fn GetRawDataFormat<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdataformat: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetRawDataFormat(this, core::mem::transmute_copy(&pdataformat)).into()
}
unsafe extern "system" fn GetPixelFormat<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pformat: *mut u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetPixelFormat(this, core::mem::transmute_copy(&pformat)).into()
}
unsafe extern "system" fn GetDelay<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwdelay: *mut u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetDelay(this, core::mem::transmute_copy(&pdwdelay)).into()
}
unsafe extern "system" fn GetProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwmode: u32, pppropset: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellImageData_Impl::GetProperties(this, core::mem::transmute_copy(&dwmode)) {
Ok(ok__) => {
pppropset.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Rotate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwangle: u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::Rotate(this, core::mem::transmute_copy(&dwangle)).into()
}
unsafe extern "system" fn Scale<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cx: u32, cy: u32, hints: super::super::Graphics::GdiPlus::InterpolationMode) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::Scale(this, core::mem::transmute_copy(&cx), core::mem::transmute_copy(&cy), core::mem::transmute_copy(&hints)).into()
}
unsafe extern "system" fn DiscardEdit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::DiscardEdit(this).into()
}
unsafe extern "system" fn SetEncoderParams<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbagenc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::SetEncoderParams(this, windows_core::from_raw_borrowed(&pbagenc)).into()
}
unsafe extern "system" fn DisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, wszname: windows_core::PCWSTR, cch: u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::DisplayName(this, core::mem::transmute(&wszname), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn GetResolution<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, puresolutionx: *mut u32, puresolutiony: *mut u32) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetResolution(this, core::mem::transmute_copy(&puresolutionx), core::mem::transmute_copy(&puresolutiony)).into()
}
unsafe extern "system" fn GetEncoderParams<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguidfmt: *mut windows_core::GUID, ppencparams: *mut *mut u8) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::GetEncoderParams(this, core::mem::transmute_copy(&pguidfmt), core::mem::transmute_copy(&ppencparams)).into()
}
unsafe extern "system" fn RegisterAbort<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pabort: *mut core::ffi::c_void, ppabortprev: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellImageData_Impl::RegisterAbort(this, windows_core::from_raw_borrowed(&pabort)) {
Ok(ok__) => {
ppabortprev.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CloneFrame<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppimg: *mut *mut u8) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::CloneFrame(this, core::mem::transmute_copy(&ppimg)).into()
}
unsafe extern "system" fn ReplaceFrame<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pimg: *mut u8) -> windows_core::HRESULT
where
Identity: IShellImageData_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageData_Impl::ReplaceFrame(this, core::mem::transmute_copy(&pimg)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Decode: Decode::<Identity, OFFSET>,
Draw: Draw::<Identity, OFFSET>,
NextFrame: NextFrame::<Identity, OFFSET>,
NextPage: NextPage::<Identity, OFFSET>,
PrevPage: PrevPage::<Identity, OFFSET>,
IsTransparent: IsTransparent::<Identity, OFFSET>,
IsAnimated: IsAnimated::<Identity, OFFSET>,
IsVector: IsVector::<Identity, OFFSET>,
IsMultipage: IsMultipage::<Identity, OFFSET>,
IsEditable: IsEditable::<Identity, OFFSET>,
IsPrintable: IsPrintable::<Identity, OFFSET>,
IsDecoded: IsDecoded::<Identity, OFFSET>,
GetCurrentPage: GetCurrentPage::<Identity, OFFSET>,
GetPageCount: GetPageCount::<Identity, OFFSET>,
SelectPage: SelectPage::<Identity, OFFSET>,
GetSize: GetSize::<Identity, OFFSET>,
GetRawDataFormat: GetRawDataFormat::<Identity, OFFSET>,
GetPixelFormat: GetPixelFormat::<Identity, OFFSET>,
GetDelay: GetDelay::<Identity, OFFSET>,
GetProperties: GetProperties::<Identity, OFFSET>,
Rotate: Rotate::<Identity, OFFSET>,
Scale: Scale::<Identity, OFFSET>,
DiscardEdit: DiscardEdit::<Identity, OFFSET>,
SetEncoderParams: SetEncoderParams::<Identity, OFFSET>,
DisplayName: DisplayName::<Identity, OFFSET>,
GetResolution: GetResolution::<Identity, OFFSET>,
GetEncoderParams: GetEncoderParams::<Identity, OFFSET>,
RegisterAbort: RegisterAbort::<Identity, OFFSET>,
CloneFrame: CloneFrame::<Identity, OFFSET>,
ReplaceFrame: ReplaceFrame::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellImageData as windows_core::Interface>::IID
}
}
pub trait IShellImageDataAbort_Impl: Sized {
fn QueryAbort(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellImageDataAbort {}
impl IShellImageDataAbort_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellImageDataAbort_Vtbl
where
Identity: IShellImageDataAbort_Impl,
{
unsafe extern "system" fn QueryAbort<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageDataAbort_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellImageDataAbort_Impl::QueryAbort(this).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), QueryAbort: QueryAbort::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellImageDataAbort as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellImageDataFactory_Impl: Sized {
fn CreateIShellImageData(&self) -> windows_core::Result<IShellImageData>;
fn CreateImageFromFile(&self, pszpath: &windows_core::PCWSTR) -> windows_core::Result<IShellImageData>;
fn CreateImageFromStream(&self, pstream: Option<&super::super::System::Com::IStream>) -> windows_core::Result<IShellImageData>;
fn GetDataFormatFromPath(&self, pszpath: &windows_core::PCWSTR) -> windows_core::Result<windows_core::GUID>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellImageDataFactory {}
#[cfg(feature = "Win32_System_Com")]
impl IShellImageDataFactory_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellImageDataFactory_Vtbl
where
Identity: IShellImageDataFactory_Impl,
{
unsafe extern "system" fn CreateIShellImageData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppshimg: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageDataFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellImageDataFactory_Impl::CreateIShellImageData(this) {
Ok(ok__) => {
ppshimg.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateImageFromFile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpath: windows_core::PCWSTR, ppshimg: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageDataFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellImageDataFactory_Impl::CreateImageFromFile(this, core::mem::transmute(&pszpath)) {
Ok(ok__) => {
ppshimg.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CreateImageFromStream<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstream: *mut core::ffi::c_void, ppshimg: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellImageDataFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellImageDataFactory_Impl::CreateImageFromStream(this, windows_core::from_raw_borrowed(&pstream)) {
Ok(ok__) => {
ppshimg.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDataFormatFromPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpath: windows_core::PCWSTR, pdataformat: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IShellImageDataFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellImageDataFactory_Impl::GetDataFormatFromPath(this, core::mem::transmute(&pszpath)) {
Ok(ok__) => {
pdataformat.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateIShellImageData: CreateIShellImageData::<Identity, OFFSET>,
CreateImageFromFile: CreateImageFromFile::<Identity, OFFSET>,
CreateImageFromStream: CreateImageFromStream::<Identity, OFFSET>,
GetDataFormatFromPath: GetDataFormatFromPath::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellImageDataFactory as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices"))]
pub trait IShellItem_Impl: Sized {
fn BindToHandler(&self, pbc: Option<&super::super::System::Com::IBindCtx>, bhid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetParent(&self) -> windows_core::Result<IShellItem>;
fn GetDisplayName(&self, sigdnname: SIGDN) -> windows_core::Result<windows_core::PWSTR>;
fn GetAttributes(&self, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS) -> windows_core::Result<super::super::System::SystemServices::SFGAO_FLAGS>;
fn Compare(&self, psi: Option<&IShellItem>, hint: u32) -> windows_core::Result<i32>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices"))]
impl windows_core::RuntimeName for IShellItem {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices"))]
impl IShellItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellItem_Vtbl
where
Identity: IShellItem_Impl,
{
unsafe extern "system" fn BindToHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void, bhid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItem_Impl::BindToHandler(this, windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&bhid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetParent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem_Impl::GetParent(this) {
Ok(ok__) => {
ppsi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDisplayName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sigdnname: SIGDN, ppszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IShellItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem_Impl::GetDisplayName(this, core::mem::transmute_copy(&sigdnname)) {
Ok(ok__) => {
ppszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAttributes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS, psfgaoattribs: *mut super::super::System::SystemServices::SFGAO_FLAGS) -> windows_core::HRESULT
where
Identity: IShellItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem_Impl::GetAttributes(this, core::mem::transmute_copy(&sfgaomask)) {
Ok(ok__) => {
psfgaoattribs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Compare<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, hint: u32, piorder: *mut i32) -> windows_core::HRESULT
where
Identity: IShellItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem_Impl::Compare(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&hint)) {
Ok(ok__) => {
piorder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
BindToHandler: BindToHandler::<Identity, OFFSET>,
GetParent: GetParent::<Identity, OFFSET>,
GetDisplayName: GetDisplayName::<Identity, OFFSET>,
GetAttributes: GetAttributes::<Identity, OFFSET>,
Compare: Compare::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellItem as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait IShellItem2_Impl: Sized + IShellItem_Impl {
fn GetPropertyStore(&self, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetPropertyStoreWithCreateObject(&self, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, punkcreateobject: Option<&windows_core::IUnknown>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetPropertyStoreForKeys(&self, rgkeys: *const PropertiesSystem::PROPERTYKEY, ckeys: u32, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetPropertyDescriptionList(&self, keytype: *const PropertiesSystem::PROPERTYKEY, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn Update(&self, pbc: Option<&super::super::System::Com::IBindCtx>) -> windows_core::Result<()>;
fn GetProperty(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::PROPVARIANT>;
fn GetCLSID(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::GUID>;
fn GetFileTime(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<super::super::Foundation::FILETIME>;
fn GetInt32(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<i32>;
fn GetString(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::PWSTR>;
fn GetUInt32(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<u32>;
fn GetUInt64(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<u64>;
fn GetBool(&self, key: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<super::super::Foundation::BOOL>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for IShellItem2 {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl IShellItem2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellItem2_Vtbl
where
Identity: IShellItem2_Impl,
{
unsafe extern "system" fn GetPropertyStore<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItem2_Impl::GetPropertyStore(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetPropertyStoreWithCreateObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, punkcreateobject: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItem2_Impl::GetPropertyStoreWithCreateObject(this, core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&punkcreateobject), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetPropertyStoreForKeys<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rgkeys: *const PropertiesSystem::PROPERTYKEY, ckeys: u32, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItem2_Impl::GetPropertyStoreForKeys(this, core::mem::transmute_copy(&rgkeys), core::mem::transmute_copy(&ckeys), core::mem::transmute_copy(&flags), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetPropertyDescriptionList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, keytype: *const PropertiesSystem::PROPERTYKEY, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItem2_Impl::GetPropertyDescriptionList(this, core::mem::transmute_copy(&keytype), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn Update<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItem2_Impl::Update(this, windows_core::from_raw_borrowed(&pbc)).into()
}
unsafe extern "system" fn GetProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, ppropvar: *mut core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetProperty(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
ppropvar.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCLSID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, pclsid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetCLSID(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
pclsid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFileTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, pft: *mut super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetFileTime(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
pft.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetInt32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, pi: *mut i32) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetInt32(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
pi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, ppsz: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetString(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
ppsz.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUInt32<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, pui: *mut u32) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetUInt32(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
pui.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetUInt64<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, pull: *mut u64) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetUInt64(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
pull.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetBool<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, key: *const PropertiesSystem::PROPERTYKEY, pf: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellItem2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItem2_Impl::GetBool(this, core::mem::transmute_copy(&key)) {
Ok(ok__) => {
pf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IShellItem_Vtbl::new::<Identity, OFFSET>(),
GetPropertyStore: GetPropertyStore::<Identity, OFFSET>,
GetPropertyStoreWithCreateObject: GetPropertyStoreWithCreateObject::<Identity, OFFSET>,
GetPropertyStoreForKeys: GetPropertyStoreForKeys::<Identity, OFFSET>,
GetPropertyDescriptionList: GetPropertyDescriptionList::<Identity, OFFSET>,
Update: Update::<Identity, OFFSET>,
GetProperty: GetProperty::<Identity, OFFSET>,
GetCLSID: GetCLSID::<Identity, OFFSET>,
GetFileTime: GetFileTime::<Identity, OFFSET>,
GetInt32: GetInt32::<Identity, OFFSET>,
GetString: GetString::<Identity, OFFSET>,
GetUInt32: GetUInt32::<Identity, OFFSET>,
GetUInt64: GetUInt64::<Identity, OFFSET>,
GetBool: GetBool::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellItem2 as windows_core::Interface>::IID || iid == &<IShellItem as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait IShellItemArray_Impl: Sized {
fn BindToHandler(&self, pbc: Option<&super::super::System::Com::IBindCtx>, bhid: *const windows_core::GUID, riid: *const windows_core::GUID, ppvout: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetPropertyStore(&self, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetPropertyDescriptionList(&self, keytype: *const PropertiesSystem::PROPERTYKEY, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetAttributes(&self, attribflags: SIATTRIBFLAGS, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS) -> windows_core::Result<super::super::System::SystemServices::SFGAO_FLAGS>;
fn GetCount(&self) -> windows_core::Result<u32>;
fn GetItemAt(&self, dwindex: u32) -> windows_core::Result<IShellItem>;
fn EnumItems(&self) -> windows_core::Result<IEnumShellItems>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for IShellItemArray {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_SystemServices", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl IShellItemArray_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellItemArray_Vtbl
where
Identity: IShellItemArray_Impl,
{
unsafe extern "system" fn BindToHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void, bhid: *const windows_core::GUID, riid: *const windows_core::GUID, ppvout: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemArray_Impl::BindToHandler(this, windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&bhid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppvout)).into()
}
unsafe extern "system" fn GetPropertyStore<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: PropertiesSystem::GETPROPERTYSTOREFLAGS, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemArray_Impl::GetPropertyStore(this, core::mem::transmute_copy(&flags), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetPropertyDescriptionList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, keytype: *const PropertiesSystem::PROPERTYKEY, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemArray_Impl::GetPropertyDescriptionList(this, core::mem::transmute_copy(&keytype), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetAttributes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, attribflags: SIATTRIBFLAGS, sfgaomask: super::super::System::SystemServices::SFGAO_FLAGS, psfgaoattribs: *mut super::super::System::SystemServices::SFGAO_FLAGS) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemArray_Impl::GetAttributes(this, core::mem::transmute_copy(&attribflags), core::mem::transmute_copy(&sfgaomask)) {
Ok(ok__) => {
psfgaoattribs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwnumitems: *mut u32) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemArray_Impl::GetCount(this) {
Ok(ok__) => {
pdwnumitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwindex: u32, ppsi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemArray_Impl::GetItemAt(this, core::mem::transmute_copy(&dwindex)) {
Ok(ok__) => {
ppsi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenumshellitems: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemArray_Impl::EnumItems(this) {
Ok(ok__) => {
ppenumshellitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
BindToHandler: BindToHandler::<Identity, OFFSET>,
GetPropertyStore: GetPropertyStore::<Identity, OFFSET>,
GetPropertyDescriptionList: GetPropertyDescriptionList::<Identity, OFFSET>,
GetAttributes: GetAttributes::<Identity, OFFSET>,
GetCount: GetCount::<Identity, OFFSET>,
GetItemAt: GetItemAt::<Identity, OFFSET>,
EnumItems: EnumItems::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellItemArray as windows_core::Interface>::IID
}
}
pub trait IShellItemFilter_Impl: Sized {
fn IncludeItem(&self, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn GetEnumFlagsForItem(&self, psi: Option<&IShellItem>) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IShellItemFilter {}
impl IShellItemFilter_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellItemFilter_Vtbl
where
Identity: IShellItemFilter_Impl,
{
unsafe extern "system" fn IncludeItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemFilter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemFilter_Impl::IncludeItem(this, windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn GetEnumFlagsForItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pgrfflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellItemFilter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemFilter_Impl::GetEnumFlagsForItem(this, windows_core::from_raw_borrowed(&psi)) {
Ok(ok__) => {
pgrfflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IncludeItem: IncludeItem::<Identity, OFFSET>,
GetEnumFlagsForItem: GetEnumFlagsForItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellItemFilter as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IShellItemImageFactory_Impl: Sized {
fn GetImage(&self, size: &super::super::Foundation::SIZE, flags: SIIGBF) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IShellItemImageFactory {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IShellItemImageFactory_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellItemImageFactory_Vtbl
where
Identity: IShellItemImageFactory_Impl,
{
unsafe extern "system" fn GetImage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, size: super::super::Foundation::SIZE, flags: SIIGBF, phbm: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: IShellItemImageFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemImageFactory_Impl::GetImage(this, core::mem::transmute(&size), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
phbm.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetImage: GetImage::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellItemImageFactory as windows_core::Interface>::IID
}
}
pub trait IShellItemResources_Impl: Sized {
fn GetAttributes(&self) -> windows_core::Result<u32>;
fn GetSize(&self) -> windows_core::Result<u64>;
fn GetTimes(&self, pftcreation: *mut super::super::Foundation::FILETIME, pftwrite: *mut super::super::Foundation::FILETIME, pftaccess: *mut super::super::Foundation::FILETIME) -> windows_core::Result<()>;
fn SetTimes(&self, pftcreation: *const super::super::Foundation::FILETIME, pftwrite: *const super::super::Foundation::FILETIME, pftaccess: *const super::super::Foundation::FILETIME) -> windows_core::Result<()>;
fn GetResourceDescription(&self, pcsir: *const SHELL_ITEM_RESOURCE) -> windows_core::Result<windows_core::PWSTR>;
fn EnumResources(&self) -> windows_core::Result<IEnumResources>;
fn SupportsResource(&self, pcsir: *const SHELL_ITEM_RESOURCE) -> windows_core::Result<()>;
fn OpenResource(&self, pcsir: *const SHELL_ITEM_RESOURCE, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn CreateResource(&self, pcsir: *const SHELL_ITEM_RESOURCE, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn MarkForDelete(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellItemResources {}
impl IShellItemResources_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellItemResources_Vtbl
where
Identity: IShellItemResources_Impl,
{
unsafe extern "system" fn GetAttributes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwattributes: *mut u32) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemResources_Impl::GetAttributes(this) {
Ok(ok__) => {
pdwattributes.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pullsize: *mut u64) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemResources_Impl::GetSize(this) {
Ok(ok__) => {
pullsize.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTimes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pftcreation: *mut super::super::Foundation::FILETIME, pftwrite: *mut super::super::Foundation::FILETIME, pftaccess: *mut super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemResources_Impl::GetTimes(this, core::mem::transmute_copy(&pftcreation), core::mem::transmute_copy(&pftwrite), core::mem::transmute_copy(&pftaccess)).into()
}
unsafe extern "system" fn SetTimes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pftcreation: *const super::super::Foundation::FILETIME, pftwrite: *const super::super::Foundation::FILETIME, pftaccess: *const super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemResources_Impl::SetTimes(this, core::mem::transmute_copy(&pftcreation), core::mem::transmute_copy(&pftwrite), core::mem::transmute_copy(&pftaccess)).into()
}
unsafe extern "system" fn GetResourceDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcsir: *const SHELL_ITEM_RESOURCE, ppszdescription: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemResources_Impl::GetResourceDescription(this, core::mem::transmute_copy(&pcsir)) {
Ok(ok__) => {
ppszdescription.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumResources<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenumr: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellItemResources_Impl::EnumResources(this) {
Ok(ok__) => {
ppenumr.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SupportsResource<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcsir: *const SHELL_ITEM_RESOURCE) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemResources_Impl::SupportsResource(this, core::mem::transmute_copy(&pcsir)).into()
}
unsafe extern "system" fn OpenResource<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcsir: *const SHELL_ITEM_RESOURCE, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemResources_Impl::OpenResource(this, core::mem::transmute_copy(&pcsir), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn CreateResource<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcsir: *const SHELL_ITEM_RESOURCE, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemResources_Impl::CreateResource(this, core::mem::transmute_copy(&pcsir), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn MarkForDelete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellItemResources_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellItemResources_Impl::MarkForDelete(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetAttributes: GetAttributes::<Identity, OFFSET>,
GetSize: GetSize::<Identity, OFFSET>,
GetTimes: GetTimes::<Identity, OFFSET>,
SetTimes: SetTimes::<Identity, OFFSET>,
GetResourceDescription: GetResourceDescription::<Identity, OFFSET>,
EnumResources: EnumResources::<Identity, OFFSET>,
SupportsResource: SupportsResource::<Identity, OFFSET>,
OpenResource: OpenResource::<Identity, OFFSET>,
CreateResource: CreateResource::<Identity, OFFSET>,
MarkForDelete: MarkForDelete::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellItemResources as windows_core::Interface>::IID
}
}
pub trait IShellLibrary_Impl: Sized {
fn LoadLibraryFromItem(&self, psilibrary: Option<&IShellItem>, grfmode: u32) -> windows_core::Result<()>;
fn LoadLibraryFromKnownFolder(&self, kfidlibrary: *const windows_core::GUID, grfmode: u32) -> windows_core::Result<()>;
fn AddFolder(&self, psilocation: Option<&IShellItem>) -> windows_core::Result<()>;
fn RemoveFolder(&self, psilocation: Option<&IShellItem>) -> windows_core::Result<()>;
fn GetFolders(&self, lff: LIBRARYFOLDERFILTER, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn ResolveFolder(&self, psifoldertoresolve: Option<&IShellItem>, dwtimeout: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetDefaultSaveFolder(&self, dsft: DEFAULTSAVEFOLDERTYPE, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn SetDefaultSaveFolder(&self, dsft: DEFAULTSAVEFOLDERTYPE, psi: Option<&IShellItem>) -> windows_core::Result<()>;
fn GetOptions(&self) -> windows_core::Result<LIBRARYOPTIONFLAGS>;
fn SetOptions(&self, lofmask: LIBRARYOPTIONFLAGS, lofoptions: LIBRARYOPTIONFLAGS) -> windows_core::Result<()>;
fn GetFolderType(&self) -> windows_core::Result<windows_core::GUID>;
fn SetFolderType(&self, ftid: *const windows_core::GUID) -> windows_core::Result<()>;
fn GetIcon(&self) -> windows_core::Result<windows_core::PWSTR>;
fn SetIcon(&self, pszicon: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Commit(&self) -> windows_core::Result<()>;
fn Save(&self, psifoldertosavein: Option<&IShellItem>, pszlibraryname: &windows_core::PCWSTR, lsf: LIBRARYSAVEFLAGS) -> windows_core::Result<IShellItem>;
fn SaveInKnownFolder(&self, kfidtosavein: *const windows_core::GUID, pszlibraryname: &windows_core::PCWSTR, lsf: LIBRARYSAVEFLAGS) -> windows_core::Result<IShellItem>;
}
impl windows_core::RuntimeName for IShellLibrary {}
impl IShellLibrary_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellLibrary_Vtbl
where
Identity: IShellLibrary_Impl,
{
unsafe extern "system" fn LoadLibraryFromItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psilibrary: *mut core::ffi::c_void, grfmode: u32) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::LoadLibraryFromItem(this, windows_core::from_raw_borrowed(&psilibrary), core::mem::transmute_copy(&grfmode)).into()
}
unsafe extern "system" fn LoadLibraryFromKnownFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kfidlibrary: *const windows_core::GUID, grfmode: u32) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::LoadLibraryFromKnownFolder(this, core::mem::transmute_copy(&kfidlibrary), core::mem::transmute_copy(&grfmode)).into()
}
unsafe extern "system" fn AddFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psilocation: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::AddFolder(this, windows_core::from_raw_borrowed(&psilocation)).into()
}
unsafe extern "system" fn RemoveFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psilocation: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::RemoveFolder(this, windows_core::from_raw_borrowed(&psilocation)).into()
}
unsafe extern "system" fn GetFolders<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lff: LIBRARYFOLDERFILTER, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::GetFolders(this, core::mem::transmute_copy(&lff), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn ResolveFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psifoldertoresolve: *mut core::ffi::c_void, dwtimeout: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::ResolveFolder(this, windows_core::from_raw_borrowed(&psifoldertoresolve), core::mem::transmute_copy(&dwtimeout), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetDefaultSaveFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dsft: DEFAULTSAVEFOLDERTYPE, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::GetDefaultSaveFolder(this, core::mem::transmute_copy(&dsft), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn SetDefaultSaveFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dsft: DEFAULTSAVEFOLDERTYPE, psi: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::SetDefaultSaveFolder(this, core::mem::transmute_copy(&dsft), windows_core::from_raw_borrowed(&psi)).into()
}
unsafe extern "system" fn GetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plofoptions: *mut LIBRARYOPTIONFLAGS) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLibrary_Impl::GetOptions(this) {
Ok(ok__) => {
plofoptions.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lofmask: LIBRARYOPTIONFLAGS, lofoptions: LIBRARYOPTIONFLAGS) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::SetOptions(this, core::mem::transmute_copy(&lofmask), core::mem::transmute_copy(&lofoptions)).into()
}
unsafe extern "system" fn GetFolderType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pftid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLibrary_Impl::GetFolderType(this) {
Ok(ok__) => {
pftid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFolderType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ftid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::SetFolderType(this, core::mem::transmute_copy(&ftid)).into()
}
unsafe extern "system" fn GetIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszicon: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLibrary_Impl::GetIcon(this) {
Ok(ok__) => {
ppszicon.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszicon: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::SetIcon(this, core::mem::transmute(&pszicon)).into()
}
unsafe extern "system" fn Commit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLibrary_Impl::Commit(this).into()
}
unsafe extern "system" fn Save<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psifoldertosavein: *mut core::ffi::c_void, pszlibraryname: windows_core::PCWSTR, lsf: LIBRARYSAVEFLAGS, ppsisavedto: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLibrary_Impl::Save(this, windows_core::from_raw_borrowed(&psifoldertosavein), core::mem::transmute(&pszlibraryname), core::mem::transmute_copy(&lsf)) {
Ok(ok__) => {
ppsisavedto.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SaveInKnownFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, kfidtosavein: *const windows_core::GUID, pszlibraryname: windows_core::PCWSTR, lsf: LIBRARYSAVEFLAGS, ppsisavedto: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLibrary_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLibrary_Impl::SaveInKnownFolder(this, core::mem::transmute_copy(&kfidtosavein), core::mem::transmute(&pszlibraryname), core::mem::transmute_copy(&lsf)) {
Ok(ok__) => {
ppsisavedto.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
LoadLibraryFromItem: LoadLibraryFromItem::<Identity, OFFSET>,
LoadLibraryFromKnownFolder: LoadLibraryFromKnownFolder::<Identity, OFFSET>,
AddFolder: AddFolder::<Identity, OFFSET>,
RemoveFolder: RemoveFolder::<Identity, OFFSET>,
GetFolders: GetFolders::<Identity, OFFSET>,
ResolveFolder: ResolveFolder::<Identity, OFFSET>,
GetDefaultSaveFolder: GetDefaultSaveFolder::<Identity, OFFSET>,
SetDefaultSaveFolder: SetDefaultSaveFolder::<Identity, OFFSET>,
GetOptions: GetOptions::<Identity, OFFSET>,
SetOptions: SetOptions::<Identity, OFFSET>,
GetFolderType: GetFolderType::<Identity, OFFSET>,
SetFolderType: SetFolderType::<Identity, OFFSET>,
GetIcon: GetIcon::<Identity, OFFSET>,
SetIcon: SetIcon::<Identity, OFFSET>,
Commit: Commit::<Identity, OFFSET>,
Save: Save::<Identity, OFFSET>,
SaveInKnownFolder: SaveInKnownFolder::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellLibrary as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellLinkA_Impl: Sized {
fn GetPath(&self, pszfile: windows_core::PSTR, cch: i32, pfd: *mut super::super::Storage::FileSystem::WIN32_FIND_DATAA, fflags: u32) -> windows_core::Result<()>;
fn GetIDList(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn SetIDList(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn GetDescription(&self, pszname: windows_core::PSTR, cch: i32) -> windows_core::Result<()>;
fn SetDescription(&self, pszname: &windows_core::PCSTR) -> windows_core::Result<()>;
fn GetWorkingDirectory(&self, pszdir: windows_core::PSTR, cch: i32) -> windows_core::Result<()>;
fn SetWorkingDirectory(&self, pszdir: &windows_core::PCSTR) -> windows_core::Result<()>;
fn GetArguments(&self, pszargs: windows_core::PSTR, cch: i32) -> windows_core::Result<()>;
fn SetArguments(&self, pszargs: &windows_core::PCSTR) -> windows_core::Result<()>;
fn GetHotkey(&self) -> windows_core::Result<u16>;
fn SetHotkey(&self, whotkey: u16) -> windows_core::Result<()>;
fn GetShowCmd(&self) -> windows_core::Result<super::WindowsAndMessaging::SHOW_WINDOW_CMD>;
fn SetShowCmd(&self, ishowcmd: super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> windows_core::Result<()>;
fn GetIconLocation(&self, psziconpath: windows_core::PSTR, cch: i32, piicon: *mut i32) -> windows_core::Result<()>;
fn SetIconLocation(&self, psziconpath: &windows_core::PCSTR, iicon: i32) -> windows_core::Result<()>;
fn SetRelativePath(&self, pszpathrel: &windows_core::PCSTR, dwreserved: u32) -> windows_core::Result<()>;
fn Resolve(&self, hwnd: super::super::Foundation::HWND, fflags: u32) -> windows_core::Result<()>;
fn SetPath(&self, pszfile: &windows_core::PCSTR) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellLinkA {}
#[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellLinkA_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellLinkA_Vtbl
where
Identity: IShellLinkA_Impl,
{
unsafe extern "system" fn GetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PSTR, cch: i32, pfd: *mut super::super::Storage::FileSystem::WIN32_FIND_DATAA, fflags: u32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::GetPath(this, core::mem::transmute_copy(&pszfile), core::mem::transmute_copy(&cch), core::mem::transmute_copy(&pfd), core::mem::transmute_copy(&fflags)).into()
}
unsafe extern "system" fn GetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkA_Impl::GetIDList(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetIDList(this, core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PSTR, cch: i32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::GetDescription(this, core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn SetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetDescription(this, core::mem::transmute(&pszname)).into()
}
unsafe extern "system" fn GetWorkingDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdir: windows_core::PSTR, cch: i32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::GetWorkingDirectory(this, core::mem::transmute_copy(&pszdir), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn SetWorkingDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdir: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetWorkingDirectory(this, core::mem::transmute(&pszdir)).into()
}
unsafe extern "system" fn GetArguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszargs: windows_core::PSTR, cch: i32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::GetArguments(this, core::mem::transmute_copy(&pszargs), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn SetArguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszargs: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetArguments(this, core::mem::transmute(&pszargs)).into()
}
unsafe extern "system" fn GetHotkey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwhotkey: *mut u16) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkA_Impl::GetHotkey(this) {
Ok(ok__) => {
pwhotkey.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHotkey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, whotkey: u16) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetHotkey(this, core::mem::transmute_copy(&whotkey)).into()
}
unsafe extern "system" fn GetShowCmd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pishowcmd: *mut super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkA_Impl::GetShowCmd(this) {
Ok(ok__) => {
pishowcmd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetShowCmd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ishowcmd: super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetShowCmd(this, core::mem::transmute_copy(&ishowcmd)).into()
}
unsafe extern "system" fn GetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psziconpath: windows_core::PSTR, cch: i32, piicon: *mut i32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::GetIconLocation(this, core::mem::transmute_copy(&psziconpath), core::mem::transmute_copy(&cch), core::mem::transmute_copy(&piicon)).into()
}
unsafe extern "system" fn SetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psziconpath: windows_core::PCSTR, iicon: i32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetIconLocation(this, core::mem::transmute(&psziconpath), core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn SetRelativePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpathrel: windows_core::PCSTR, dwreserved: u32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetRelativePath(this, core::mem::transmute(&pszpathrel), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn Resolve<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, fflags: u32) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::Resolve(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&fflags)).into()
}
unsafe extern "system" fn SetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCSTR) -> windows_core::HRESULT
where
Identity: IShellLinkA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkA_Impl::SetPath(this, core::mem::transmute(&pszfile)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPath: GetPath::<Identity, OFFSET>,
GetIDList: GetIDList::<Identity, OFFSET>,
SetIDList: SetIDList::<Identity, OFFSET>,
GetDescription: GetDescription::<Identity, OFFSET>,
SetDescription: SetDescription::<Identity, OFFSET>,
GetWorkingDirectory: GetWorkingDirectory::<Identity, OFFSET>,
SetWorkingDirectory: SetWorkingDirectory::<Identity, OFFSET>,
GetArguments: GetArguments::<Identity, OFFSET>,
SetArguments: SetArguments::<Identity, OFFSET>,
GetHotkey: GetHotkey::<Identity, OFFSET>,
SetHotkey: SetHotkey::<Identity, OFFSET>,
GetShowCmd: GetShowCmd::<Identity, OFFSET>,
SetShowCmd: SetShowCmd::<Identity, OFFSET>,
GetIconLocation: GetIconLocation::<Identity, OFFSET>,
SetIconLocation: SetIconLocation::<Identity, OFFSET>,
SetRelativePath: SetRelativePath::<Identity, OFFSET>,
Resolve: Resolve::<Identity, OFFSET>,
SetPath: SetPath::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellLinkA as windows_core::Interface>::IID
}
}
pub trait IShellLinkDataList_Impl: Sized {
fn AddDataBlock(&self, pdatablock: *const core::ffi::c_void) -> windows_core::Result<()>;
fn CopyDataBlock(&self, dwsig: u32, ppdatablock: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn RemoveDataBlock(&self, dwsig: u32) -> windows_core::Result<()>;
fn GetFlags(&self) -> windows_core::Result<u32>;
fn SetFlags(&self, dwflags: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellLinkDataList {}
impl IShellLinkDataList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellLinkDataList_Vtbl
where
Identity: IShellLinkDataList_Impl,
{
unsafe extern "system" fn AddDataBlock<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdatablock: *const core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLinkDataList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDataList_Impl::AddDataBlock(this, core::mem::transmute_copy(&pdatablock)).into()
}
unsafe extern "system" fn CopyDataBlock<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwsig: u32, ppdatablock: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLinkDataList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDataList_Impl::CopyDataBlock(this, core::mem::transmute_copy(&dwsig), core::mem::transmute_copy(&ppdatablock)).into()
}
unsafe extern "system" fn RemoveDataBlock<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwsig: u32) -> windows_core::HRESULT
where
Identity: IShellLinkDataList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDataList_Impl::RemoveDataBlock(this, core::mem::transmute_copy(&dwsig)).into()
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellLinkDataList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDataList_Impl::GetFlags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellLinkDataList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDataList_Impl::SetFlags(this, core::mem::transmute_copy(&dwflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddDataBlock: AddDataBlock::<Identity, OFFSET>,
CopyDataBlock: CopyDataBlock::<Identity, OFFSET>,
RemoveDataBlock: RemoveDataBlock::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
SetFlags: SetFlags::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellLinkDataList as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellLinkDual_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Path(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetPath(&self, bs: &windows_core::BSTR) -> windows_core::Result<()>;
fn Description(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetDescription(&self, bs: &windows_core::BSTR) -> windows_core::Result<()>;
fn WorkingDirectory(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetWorkingDirectory(&self, bs: &windows_core::BSTR) -> windows_core::Result<()>;
fn Arguments(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetArguments(&self, bs: &windows_core::BSTR) -> windows_core::Result<()>;
fn Hotkey(&self) -> windows_core::Result<i32>;
fn SetHotkey(&self, ihk: i32) -> windows_core::Result<()>;
fn ShowCommand(&self) -> windows_core::Result<i32>;
fn SetShowCommand(&self, ishowcommand: i32) -> windows_core::Result<()>;
fn Resolve(&self, fflags: i32) -> windows_core::Result<()>;
fn GetIconLocation(&self, pbs: *mut windows_core::BSTR) -> windows_core::Result<i32>;
fn SetIconLocation(&self, bs: &windows_core::BSTR, iicon: i32) -> windows_core::Result<()>;
fn Save(&self, vwhere: &windows_core::VARIANT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellLinkDual {}
#[cfg(feature = "Win32_System_Com")]
impl IShellLinkDual_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellLinkDual_Vtbl
where
Identity: IShellLinkDual_Impl,
{
unsafe extern "system" fn Path<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::Path(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bs: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetPath(this, core::mem::transmute(&bs)).into()
}
unsafe extern "system" fn Description<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::Description(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bs: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetDescription(this, core::mem::transmute(&bs)).into()
}
unsafe extern "system" fn WorkingDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::WorkingDirectory(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWorkingDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bs: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetWorkingDirectory(this, core::mem::transmute(&bs)).into()
}
unsafe extern "system" fn Arguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::Arguments(this) {
Ok(ok__) => {
pbs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetArguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bs: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetArguments(this, core::mem::transmute(&bs)).into()
}
unsafe extern "system" fn Hotkey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pihk: *mut i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::Hotkey(this) {
Ok(ok__) => {
pihk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHotkey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ihk: i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetHotkey(this, core::mem::transmute_copy(&ihk)).into()
}
unsafe extern "system" fn ShowCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pishowcommand: *mut i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::ShowCommand(this) {
Ok(ok__) => {
pishowcommand.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetShowCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ishowcommand: i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetShowCommand(this, core::mem::transmute_copy(&ishowcommand)).into()
}
unsafe extern "system" fn Resolve<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fflags: i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::Resolve(this, core::mem::transmute_copy(&fflags)).into()
}
unsafe extern "system" fn GetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbs: *mut core::mem::MaybeUninit<windows_core::BSTR>, piicon: *mut i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual_Impl::GetIconLocation(this, core::mem::transmute_copy(&pbs)) {
Ok(ok__) => {
piicon.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bs: core::mem::MaybeUninit<windows_core::BSTR>, iicon: i32) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::SetIconLocation(this, core::mem::transmute(&bs), core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn Save<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vwhere: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellLinkDual_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkDual_Impl::Save(this, core::mem::transmute(&vwhere)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Path: Path::<Identity, OFFSET>,
SetPath: SetPath::<Identity, OFFSET>,
Description: Description::<Identity, OFFSET>,
SetDescription: SetDescription::<Identity, OFFSET>,
WorkingDirectory: WorkingDirectory::<Identity, OFFSET>,
SetWorkingDirectory: SetWorkingDirectory::<Identity, OFFSET>,
Arguments: Arguments::<Identity, OFFSET>,
SetArguments: SetArguments::<Identity, OFFSET>,
Hotkey: Hotkey::<Identity, OFFSET>,
SetHotkey: SetHotkey::<Identity, OFFSET>,
ShowCommand: ShowCommand::<Identity, OFFSET>,
SetShowCommand: SetShowCommand::<Identity, OFFSET>,
Resolve: Resolve::<Identity, OFFSET>,
GetIconLocation: GetIconLocation::<Identity, OFFSET>,
SetIconLocation: SetIconLocation::<Identity, OFFSET>,
Save: Save::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellLinkDual as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellLinkDual2_Impl: Sized + IShellLinkDual_Impl {
fn Target(&self) -> windows_core::Result<FolderItem>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellLinkDual2 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellLinkDual2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellLinkDual2_Vtbl
where
Identity: IShellLinkDual2_Impl,
{
unsafe extern "system" fn Target<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppfi: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellLinkDual2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkDual2_Impl::Target(this) {
Ok(ok__) => {
ppfi.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IShellLinkDual_Vtbl::new::<Identity, OFFSET>(), Target: Target::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellLinkDual2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellLinkDual as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellLinkW_Impl: Sized {
fn GetPath(&self, pszfile: windows_core::PWSTR, cch: i32, pfd: *mut super::super::Storage::FileSystem::WIN32_FIND_DATAW, fflags: u32) -> windows_core::Result<()>;
fn GetIDList(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
fn SetIDList(&self, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn GetDescription(&self, pszname: windows_core::PWSTR, cch: i32) -> windows_core::Result<()>;
fn SetDescription(&self, pszname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetWorkingDirectory(&self, pszdir: windows_core::PWSTR, cch: i32) -> windows_core::Result<()>;
fn SetWorkingDirectory(&self, pszdir: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetArguments(&self, pszargs: windows_core::PWSTR, cch: i32) -> windows_core::Result<()>;
fn SetArguments(&self, pszargs: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetHotkey(&self) -> windows_core::Result<u16>;
fn SetHotkey(&self, whotkey: u16) -> windows_core::Result<()>;
fn GetShowCmd(&self) -> windows_core::Result<super::WindowsAndMessaging::SHOW_WINDOW_CMD>;
fn SetShowCmd(&self, ishowcmd: super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> windows_core::Result<()>;
fn GetIconLocation(&self, psziconpath: windows_core::PWSTR, cch: i32, piicon: *mut i32) -> windows_core::Result<()>;
fn SetIconLocation(&self, psziconpath: &windows_core::PCWSTR, iicon: i32) -> windows_core::Result<()>;
fn SetRelativePath(&self, pszpathrel: &windows_core::PCWSTR, dwreserved: u32) -> windows_core::Result<()>;
fn Resolve(&self, hwnd: super::super::Foundation::HWND, fflags: u32) -> windows_core::Result<()>;
fn SetPath(&self, pszfile: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellLinkW {}
#[cfg(all(feature = "Win32_Storage_FileSystem", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellLinkW_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellLinkW_Vtbl
where
Identity: IShellLinkW_Impl,
{
unsafe extern "system" fn GetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PWSTR, cch: i32, pfd: *mut super::super::Storage::FileSystem::WIN32_FIND_DATAW, fflags: u32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::GetPath(this, core::mem::transmute_copy(&pszfile), core::mem::transmute_copy(&cch), core::mem::transmute_copy(&pfd), core::mem::transmute_copy(&fflags)).into()
}
unsafe extern "system" fn GetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkW_Impl::GetIDList(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetIDList(this, core::mem::transmute_copy(&pidl)).into()
}
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PWSTR, cch: i32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::GetDescription(this, core::mem::transmute_copy(&pszname), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn SetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetDescription(this, core::mem::transmute(&pszname)).into()
}
unsafe extern "system" fn GetWorkingDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdir: windows_core::PWSTR, cch: i32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::GetWorkingDirectory(this, core::mem::transmute_copy(&pszdir), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn SetWorkingDirectory<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszdir: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetWorkingDirectory(this, core::mem::transmute(&pszdir)).into()
}
unsafe extern "system" fn GetArguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszargs: windows_core::PWSTR, cch: i32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::GetArguments(this, core::mem::transmute_copy(&pszargs), core::mem::transmute_copy(&cch)).into()
}
unsafe extern "system" fn SetArguments<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszargs: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetArguments(this, core::mem::transmute(&pszargs)).into()
}
unsafe extern "system" fn GetHotkey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwhotkey: *mut u16) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkW_Impl::GetHotkey(this) {
Ok(ok__) => {
pwhotkey.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHotkey<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, whotkey: u16) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetHotkey(this, core::mem::transmute_copy(&whotkey)).into()
}
unsafe extern "system" fn GetShowCmd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pishowcmd: *mut super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellLinkW_Impl::GetShowCmd(this) {
Ok(ok__) => {
pishowcmd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetShowCmd<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ishowcmd: super::WindowsAndMessaging::SHOW_WINDOW_CMD) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetShowCmd(this, core::mem::transmute_copy(&ishowcmd)).into()
}
unsafe extern "system" fn GetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psziconpath: windows_core::PWSTR, cch: i32, piicon: *mut i32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::GetIconLocation(this, core::mem::transmute_copy(&psziconpath), core::mem::transmute_copy(&cch), core::mem::transmute_copy(&piicon)).into()
}
unsafe extern "system" fn SetIconLocation<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psziconpath: windows_core::PCWSTR, iicon: i32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetIconLocation(this, core::mem::transmute(&psziconpath), core::mem::transmute_copy(&iicon)).into()
}
unsafe extern "system" fn SetRelativePath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszpathrel: windows_core::PCWSTR, dwreserved: u32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetRelativePath(this, core::mem::transmute(&pszpathrel), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn Resolve<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, fflags: u32) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::Resolve(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&fflags)).into()
}
unsafe extern "system" fn SetPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszfile: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellLinkW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellLinkW_Impl::SetPath(this, core::mem::transmute(&pszfile)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPath: GetPath::<Identity, OFFSET>,
GetIDList: GetIDList::<Identity, OFFSET>,
SetIDList: SetIDList::<Identity, OFFSET>,
GetDescription: GetDescription::<Identity, OFFSET>,
SetDescription: SetDescription::<Identity, OFFSET>,
GetWorkingDirectory: GetWorkingDirectory::<Identity, OFFSET>,
SetWorkingDirectory: SetWorkingDirectory::<Identity, OFFSET>,
GetArguments: GetArguments::<Identity, OFFSET>,
SetArguments: SetArguments::<Identity, OFFSET>,
GetHotkey: GetHotkey::<Identity, OFFSET>,
SetHotkey: SetHotkey::<Identity, OFFSET>,
GetShowCmd: GetShowCmd::<Identity, OFFSET>,
SetShowCmd: SetShowCmd::<Identity, OFFSET>,
GetIconLocation: GetIconLocation::<Identity, OFFSET>,
SetIconLocation: SetIconLocation::<Identity, OFFSET>,
SetRelativePath: SetRelativePath::<Identity, OFFSET>,
Resolve: Resolve::<Identity, OFFSET>,
SetPath: SetPath::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellLinkW as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellMenu_Impl: Sized {
fn Initialize(&self, psmc: Option<&IShellMenuCallback>, uid: u32, uidancestor: u32, dwflags: u32) -> windows_core::Result<()>;
fn GetMenuInfo(&self, ppsmc: *mut Option<IShellMenuCallback>, puid: *mut u32, puidancestor: *mut u32, pdwflags: *mut u32) -> windows_core::Result<()>;
fn SetShellFolder(&self, psf: Option<&IShellFolder>, pidlfolder: *const Common::ITEMIDLIST, hkey: super::super::System::Registry::HKEY, dwflags: u32) -> windows_core::Result<()>;
fn GetShellFolder(&self, pdwflags: *mut u32, ppidl: *mut *mut Common::ITEMIDLIST, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn SetMenu(&self, hmenu: super::WindowsAndMessaging::HMENU, hwnd: super::super::Foundation::HWND, dwflags: u32) -> windows_core::Result<()>;
fn GetMenu(&self, phmenu: *mut super::WindowsAndMessaging::HMENU, phwnd: *mut super::super::Foundation::HWND, pdwflags: *mut u32) -> windows_core::Result<()>;
fn InvalidateItem(&self, psmd: *const SMDATA, dwflags: u32) -> windows_core::Result<()>;
fn GetState(&self, psmd: *mut SMDATA) -> windows_core::Result<()>;
fn SetMenuToolbar(&self, punk: Option<&windows_core::IUnknown>, dwflags: u32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellMenu {}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellMenu_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellMenu_Vtbl
where
Identity: IShellMenu_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psmc: *mut core::ffi::c_void, uid: u32, uidancestor: u32, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::Initialize(this, windows_core::from_raw_borrowed(&psmc), core::mem::transmute_copy(&uid), core::mem::transmute_copy(&uidancestor), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetMenuInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsmc: *mut *mut core::ffi::c_void, puid: *mut u32, puidancestor: *mut u32, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::GetMenuInfo(this, core::mem::transmute_copy(&ppsmc), core::mem::transmute_copy(&puid), core::mem::transmute_copy(&puidancestor), core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn SetShellFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psf: *mut core::ffi::c_void, pidlfolder: *const Common::ITEMIDLIST, hkey: super::super::System::Registry::HKEY, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::SetShellFolder(this, windows_core::from_raw_borrowed(&psf), core::mem::transmute_copy(&pidlfolder), core::mem::transmute_copy(&hkey), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetShellFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32, ppidl: *mut *mut Common::ITEMIDLIST, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::GetShellFolder(this, core::mem::transmute_copy(&pdwflags), core::mem::transmute_copy(&ppidl), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn SetMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hmenu: super::WindowsAndMessaging::HMENU, hwnd: super::super::Foundation::HWND, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::SetMenu(this, core::mem::transmute_copy(&hmenu), core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phmenu: *mut super::WindowsAndMessaging::HMENU, phwnd: *mut super::super::Foundation::HWND, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::GetMenu(this, core::mem::transmute_copy(&phmenu), core::mem::transmute_copy(&phwnd), core::mem::transmute_copy(&pdwflags)).into()
}
unsafe extern "system" fn InvalidateItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psmd: *const SMDATA, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::InvalidateItem(this, core::mem::transmute_copy(&psmd), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn GetState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psmd: *mut SMDATA) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::GetState(this, core::mem::transmute_copy(&psmd)).into()
}
unsafe extern "system" fn SetMenuToolbar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenu_Impl::SetMenuToolbar(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&dwflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
GetMenuInfo: GetMenuInfo::<Identity, OFFSET>,
SetShellFolder: SetShellFolder::<Identity, OFFSET>,
GetShellFolder: GetShellFolder::<Identity, OFFSET>,
SetMenu: SetMenu::<Identity, OFFSET>,
GetMenu: GetMenu::<Identity, OFFSET>,
InvalidateItem: InvalidateItem::<Identity, OFFSET>,
GetState: GetState::<Identity, OFFSET>,
SetMenuToolbar: SetMenuToolbar::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellMenu as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellMenuCallback_Impl: Sized {
fn CallbackSM(&self, psmd: *mut SMDATA, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellMenuCallback {}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellMenuCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellMenuCallback_Vtbl
where
Identity: IShellMenuCallback_Impl,
{
unsafe extern "system" fn CallbackSM<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psmd: *mut SMDATA, umsg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellMenuCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellMenuCallback_Impl::CallbackSM(this, core::mem::transmute_copy(&psmd), core::mem::transmute_copy(&umsg), core::mem::transmute_copy(&wparam), core::mem::transmute_copy(&lparam)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CallbackSM: CallbackSM::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellMenuCallback as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellNameSpace_Impl: Sized + IShellFavoritesNameSpace_Impl {
fn EnumOptions(&self) -> windows_core::Result<i32>;
fn SetEnumOptions(&self, lval: i32) -> windows_core::Result<()>;
fn SelectedItem(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn SetSelectedItem(&self, pitem: Option<&super::super::System::Com::IDispatch>) -> windows_core::Result<()>;
fn Root(&self) -> windows_core::Result<windows_core::VARIANT>;
fn SetRoot(&self, var: &windows_core::VARIANT) -> windows_core::Result<()>;
fn Depth(&self) -> windows_core::Result<i32>;
fn SetDepth(&self, idepth: i32) -> windows_core::Result<()>;
fn Mode(&self) -> windows_core::Result<u32>;
fn SetMode(&self, umode: u32) -> windows_core::Result<()>;
fn Flags(&self) -> windows_core::Result<u32>;
fn SetFlags(&self, dwflags: u32) -> windows_core::Result<()>;
fn SetTVFlags(&self, dwflags: u32) -> windows_core::Result<()>;
fn TVFlags(&self) -> windows_core::Result<u32>;
fn Columns(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetColumns(&self, bstrcolumns: &windows_core::BSTR) -> windows_core::Result<()>;
fn CountViewTypes(&self) -> windows_core::Result<i32>;
fn SetViewType(&self, itype: i32) -> windows_core::Result<()>;
fn SelectedItems(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Expand(&self, var: &windows_core::VARIANT, idepth: i32) -> windows_core::Result<()>;
fn UnselectAll(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellNameSpace {}
#[cfg(feature = "Win32_System_Com")]
impl IShellNameSpace_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellNameSpace_Vtbl
where
Identity: IShellNameSpace_Impl,
{
unsafe extern "system" fn EnumOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pgrfenumflags: *mut i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::EnumOptions(this) {
Ok(ok__) => {
pgrfenumflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetEnumOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lval: i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetEnumOptions(this, core::mem::transmute_copy(&lval)).into()
}
unsafe extern "system" fn SelectedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pitem: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::SelectedItem(this) {
Ok(ok__) => {
pitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSelectedItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetSelectedItem(this, windows_core::from_raw_borrowed(&pitem)).into()
}
unsafe extern "system" fn Root<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvar: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::Root(this) {
Ok(ok__) => {
pvar.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRoot<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, var: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetRoot(this, core::mem::transmute(&var)).into()
}
unsafe extern "system" fn Depth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidepth: *mut i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::Depth(this) {
Ok(ok__) => {
pidepth.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetDepth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, idepth: i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetDepth(this, core::mem::transmute_copy(&idepth)).into()
}
unsafe extern "system" fn Mode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pumode: *mut u32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::Mode(this) {
Ok(ok__) => {
pumode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, umode: u32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetMode(this, core::mem::transmute_copy(&umode)).into()
}
unsafe extern "system" fn Flags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::Flags(this) {
Ok(ok__) => {
pdwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetFlags(this, core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn SetTVFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: u32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetTVFlags(this, core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn TVFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwflags: *mut u32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::TVFlags(this) {
Ok(ok__) => {
dwflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Columns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrcolumns: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::Columns(this) {
Ok(ok__) => {
bstrcolumns.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetColumns<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrcolumns: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetColumns(this, core::mem::transmute(&bstrcolumns)).into()
}
unsafe extern "system" fn CountViewTypes<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pitypes: *mut i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::CountViewTypes(this) {
Ok(ok__) => {
pitypes.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetViewType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itype: i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::SetViewType(this, core::mem::transmute_copy(&itype)).into()
}
unsafe extern "system" fn SelectedItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppid: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellNameSpace_Impl::SelectedItems(this) {
Ok(ok__) => {
ppid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Expand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, var: core::mem::MaybeUninit<windows_core::VARIANT>, idepth: i32) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::Expand(this, core::mem::transmute(&var), core::mem::transmute_copy(&idepth)).into()
}
unsafe extern "system" fn UnselectAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellNameSpace_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellNameSpace_Impl::UnselectAll(this).into()
}
Self {
base__: IShellFavoritesNameSpace_Vtbl::new::<Identity, OFFSET>(),
EnumOptions: EnumOptions::<Identity, OFFSET>,
SetEnumOptions: SetEnumOptions::<Identity, OFFSET>,
SelectedItem: SelectedItem::<Identity, OFFSET>,
SetSelectedItem: SetSelectedItem::<Identity, OFFSET>,
Root: Root::<Identity, OFFSET>,
SetRoot: SetRoot::<Identity, OFFSET>,
Depth: Depth::<Identity, OFFSET>,
SetDepth: SetDepth::<Identity, OFFSET>,
Mode: Mode::<Identity, OFFSET>,
SetMode: SetMode::<Identity, OFFSET>,
Flags: Flags::<Identity, OFFSET>,
SetFlags: SetFlags::<Identity, OFFSET>,
SetTVFlags: SetTVFlags::<Identity, OFFSET>,
TVFlags: TVFlags::<Identity, OFFSET>,
Columns: Columns::<Identity, OFFSET>,
SetColumns: SetColumns::<Identity, OFFSET>,
CountViewTypes: CountViewTypes::<Identity, OFFSET>,
SetViewType: SetViewType::<Identity, OFFSET>,
SelectedItems: SelectedItems::<Identity, OFFSET>,
Expand: Expand::<Identity, OFFSET>,
UnselectAll: UnselectAll::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellNameSpace as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellFavoritesNameSpace as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Controls")]
pub trait IShellPropSheetExt_Impl: Sized {
fn AddPages(&self, pfnaddpage: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
fn ReplacePage(&self, upageid: u32, pfnreplacewith: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Controls")]
impl windows_core::RuntimeName for IShellPropSheetExt {}
#[cfg(feature = "Win32_UI_Controls")]
impl IShellPropSheetExt_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellPropSheetExt_Vtbl
where
Identity: IShellPropSheetExt_Impl,
{
unsafe extern "system" fn AddPages<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfnaddpage: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellPropSheetExt_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellPropSheetExt_Impl::AddPages(this, core::mem::transmute_copy(&pfnaddpage), core::mem::transmute_copy(&lparam)).into()
}
unsafe extern "system" fn ReplacePage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, upageid: u32, pfnreplacewith: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellPropSheetExt_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellPropSheetExt_Impl::ReplacePage(this, core::mem::transmute_copy(&upageid), core::mem::transmute_copy(&pfnreplacewith), core::mem::transmute_copy(&lparam)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddPages: AddPages::<Identity, OFFSET>,
ReplacePage: ReplacePage::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellPropSheetExt as windows_core::Interface>::IID
}
}
pub trait IShellRunDll_Impl: Sized {
fn Run(&self, pszargs: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellRunDll {}
impl IShellRunDll_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellRunDll_Vtbl
where
Identity: IShellRunDll_Impl,
{
unsafe extern "system" fn Run<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszargs: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IShellRunDll_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellRunDll_Impl::Run(this, core::mem::transmute(&pszargs)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Run: Run::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellRunDll as windows_core::Interface>::IID
}
}
pub trait IShellService_Impl: Sized {
fn SetOwner(&self, punkowner: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellService {}
impl IShellService_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellService_Vtbl
where
Identity: IShellService_Impl,
{
unsafe extern "system" fn SetOwner<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punkowner: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellService_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellService_Impl::SetOwner(this, windows_core::from_raw_borrowed(&punkowner)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetOwner: SetOwner::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellService as windows_core::Interface>::IID
}
}
pub trait IShellTaskScheduler_Impl: Sized {
fn AddTask(&self, prt: Option<&IRunnableTask>, rtoid: *const windows_core::GUID, lparam: usize, dwpriority: u32) -> windows_core::Result<()>;
fn RemoveTasks(&self, rtoid: *const windows_core::GUID, lparam: usize, bwaitifrunning: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn CountTasks(&self, rtoid: *const windows_core::GUID) -> u32;
fn Status(&self, dwreleasestatus: u32, dwthreadtimeout: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IShellTaskScheduler {}
impl IShellTaskScheduler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellTaskScheduler_Vtbl
where
Identity: IShellTaskScheduler_Impl,
{
unsafe extern "system" fn AddTask<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prt: *mut core::ffi::c_void, rtoid: *const windows_core::GUID, lparam: usize, dwpriority: u32) -> windows_core::HRESULT
where
Identity: IShellTaskScheduler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellTaskScheduler_Impl::AddTask(this, windows_core::from_raw_borrowed(&prt), core::mem::transmute_copy(&rtoid), core::mem::transmute_copy(&lparam), core::mem::transmute_copy(&dwpriority)).into()
}
unsafe extern "system" fn RemoveTasks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rtoid: *const windows_core::GUID, lparam: usize, bwaitifrunning: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellTaskScheduler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellTaskScheduler_Impl::RemoveTasks(this, core::mem::transmute_copy(&rtoid), core::mem::transmute_copy(&lparam), core::mem::transmute_copy(&bwaitifrunning)).into()
}
unsafe extern "system" fn CountTasks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rtoid: *const windows_core::GUID) -> u32
where
Identity: IShellTaskScheduler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellTaskScheduler_Impl::CountTasks(this, core::mem::transmute_copy(&rtoid))
}
unsafe extern "system" fn Status<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwreleasestatus: u32, dwthreadtimeout: u32) -> windows_core::HRESULT
where
Identity: IShellTaskScheduler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellTaskScheduler_Impl::Status(this, core::mem::transmute_copy(&dwreleasestatus), core::mem::transmute_copy(&dwthreadtimeout)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddTask: AddTask::<Identity, OFFSET>,
RemoveTasks: RemoveTasks::<Identity, OFFSET>,
CountTasks: CountTasks::<Identity, OFFSET>,
Status: Status::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellTaskScheduler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn ResetFirstBootMode(&self) -> windows_core::Result<()>;
fn ResetSafeMode(&self) -> windows_core::Result<()>;
fn RefreshOfflineDesktop(&self) -> windows_core::Result<()>;
fn AddFavorite(&self, url: &windows_core::BSTR, title: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn AddChannel(&self, url: &windows_core::BSTR) -> windows_core::Result<()>;
fn AddDesktopComponent(&self, url: &windows_core::BSTR, r#type: &windows_core::BSTR, left: *const windows_core::VARIANT, top: *const windows_core::VARIANT, width: *const windows_core::VARIANT, height: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn IsSubscribed(&self, url: &windows_core::BSTR) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn NavigateAndFind(&self, url: &windows_core::BSTR, strquery: &windows_core::BSTR, vartargetframe: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn ImportExportFavorites(&self, fimport: super::super::Foundation::VARIANT_BOOL, strimpexppath: &windows_core::BSTR) -> windows_core::Result<()>;
fn AutoCompleteSaveForm(&self, form: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn AutoScan(&self, strsearch: &windows_core::BSTR, strfailureurl: &windows_core::BSTR, pvartargetframe: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn AutoCompleteAttach(&self, reserved: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn ShowBrowserUI(&self, bstrname: &windows_core::BSTR, pvarin: *const windows_core::VARIANT) -> windows_core::Result<windows_core::VARIANT>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper_Vtbl
where
Identity: IShellUIHelper_Impl,
{
unsafe extern "system" fn ResetFirstBootMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::ResetFirstBootMode(this).into()
}
unsafe extern "system" fn ResetSafeMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::ResetSafeMode(this).into()
}
unsafe extern "system" fn RefreshOfflineDesktop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::RefreshOfflineDesktop(this).into()
}
unsafe extern "system" fn AddFavorite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, title: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::AddFavorite(this, core::mem::transmute(&url), core::mem::transmute_copy(&title)).into()
}
unsafe extern "system" fn AddChannel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::AddChannel(this, core::mem::transmute(&url)).into()
}
unsafe extern "system" fn AddDesktopComponent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, r#type: core::mem::MaybeUninit<windows_core::BSTR>, left: *const core::mem::MaybeUninit<windows_core::VARIANT>, top: *const core::mem::MaybeUninit<windows_core::VARIANT>, width: *const core::mem::MaybeUninit<windows_core::VARIANT>, height: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::AddDesktopComponent(this, core::mem::transmute(&url), core::mem::transmute(&r#type), core::mem::transmute_copy(&left), core::mem::transmute_copy(&top), core::mem::transmute_copy(&width), core::mem::transmute_copy(&height)).into()
}
unsafe extern "system" fn IsSubscribed<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper_Impl::IsSubscribed(this, core::mem::transmute(&url)) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn NavigateAndFind<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, strquery: core::mem::MaybeUninit<windows_core::BSTR>, vartargetframe: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::NavigateAndFind(this, core::mem::transmute(&url), core::mem::transmute(&strquery), core::mem::transmute_copy(&vartargetframe)).into()
}
unsafe extern "system" fn ImportExportFavorites<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fimport: super::super::Foundation::VARIANT_BOOL, strimpexppath: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::ImportExportFavorites(this, core::mem::transmute_copy(&fimport), core::mem::transmute(&strimpexppath)).into()
}
unsafe extern "system" fn AutoCompleteSaveForm<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, form: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::AutoCompleteSaveForm(this, core::mem::transmute_copy(&form)).into()
}
unsafe extern "system" fn AutoScan<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, strsearch: core::mem::MaybeUninit<windows_core::BSTR>, strfailureurl: core::mem::MaybeUninit<windows_core::BSTR>, pvartargetframe: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::AutoScan(this, core::mem::transmute(&strsearch), core::mem::transmute(&strfailureurl), core::mem::transmute_copy(&pvartargetframe)).into()
}
unsafe extern "system" fn AutoCompleteAttach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, reserved: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper_Impl::AutoCompleteAttach(this, core::mem::transmute_copy(&reserved)).into()
}
unsafe extern "system" fn ShowBrowserUI<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrname: core::mem::MaybeUninit<windows_core::BSTR>, pvarin: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarout: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper_Impl::ShowBrowserUI(this, core::mem::transmute(&bstrname), core::mem::transmute_copy(&pvarin)) {
Ok(ok__) => {
pvarout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
ResetFirstBootMode: ResetFirstBootMode::<Identity, OFFSET>,
ResetSafeMode: ResetSafeMode::<Identity, OFFSET>,
RefreshOfflineDesktop: RefreshOfflineDesktop::<Identity, OFFSET>,
AddFavorite: AddFavorite::<Identity, OFFSET>,
AddChannel: AddChannel::<Identity, OFFSET>,
AddDesktopComponent: AddDesktopComponent::<Identity, OFFSET>,
IsSubscribed: IsSubscribed::<Identity, OFFSET>,
NavigateAndFind: NavigateAndFind::<Identity, OFFSET>,
ImportExportFavorites: ImportExportFavorites::<Identity, OFFSET>,
AutoCompleteSaveForm: AutoCompleteSaveForm::<Identity, OFFSET>,
AutoScan: AutoScan::<Identity, OFFSET>,
AutoCompleteAttach: AutoCompleteAttach::<Identity, OFFSET>,
ShowBrowserUI: ShowBrowserUI::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper2_Impl: Sized + IShellUIHelper_Impl {
fn AddSearchProvider(&self, url: &windows_core::BSTR) -> windows_core::Result<()>;
fn RunOnceShown(&self) -> windows_core::Result<()>;
fn SkipRunOnce(&self) -> windows_core::Result<()>;
fn CustomizeSettings(&self, fsqm: super::super::Foundation::VARIANT_BOOL, fphishing: super::super::Foundation::VARIANT_BOOL, bstrlocale: &windows_core::BSTR) -> windows_core::Result<()>;
fn SqmEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn PhishingEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn BrandImageUri(&self) -> windows_core::Result<windows_core::BSTR>;
fn SkipTabsWelcome(&self) -> windows_core::Result<()>;
fn DiagnoseConnection(&self) -> windows_core::Result<()>;
fn CustomizeClearType(&self, fset: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn IsSearchProviderInstalled(&self, url: &windows_core::BSTR) -> windows_core::Result<u32>;
fn IsSearchMigrated(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn DefaultSearchProvider(&self) -> windows_core::Result<windows_core::BSTR>;
fn RunOnceRequiredSettingsComplete(&self, fcomplete: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn RunOnceHasShown(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SearchGuideUrl(&self) -> windows_core::Result<windows_core::BSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper2 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper2_Vtbl
where
Identity: IShellUIHelper2_Impl,
{
unsafe extern "system" fn AddSearchProvider<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::AddSearchProvider(this, core::mem::transmute(&url)).into()
}
unsafe extern "system" fn RunOnceShown<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::RunOnceShown(this).into()
}
unsafe extern "system" fn SkipRunOnce<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::SkipRunOnce(this).into()
}
unsafe extern "system" fn CustomizeSettings<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fsqm: super::super::Foundation::VARIANT_BOOL, fphishing: super::super::Foundation::VARIANT_BOOL, bstrlocale: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::CustomizeSettings(this, core::mem::transmute_copy(&fsqm), core::mem::transmute_copy(&fphishing), core::mem::transmute(&bstrlocale)).into()
}
unsafe extern "system" fn SqmEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfenabled: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::SqmEnabled(this) {
Ok(ok__) => {
pfenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn PhishingEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfenabled: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::PhishingEnabled(this) {
Ok(ok__) => {
pfenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn BrandImageUri<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstruri: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::BrandImageUri(this) {
Ok(ok__) => {
pbstruri.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SkipTabsWelcome<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::SkipTabsWelcome(this).into()
}
unsafe extern "system" fn DiagnoseConnection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::DiagnoseConnection(this).into()
}
unsafe extern "system" fn CustomizeClearType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fset: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::CustomizeClearType(this, core::mem::transmute_copy(&fset)).into()
}
unsafe extern "system" fn IsSearchProviderInstalled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, pdwresult: *mut u32) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::IsSearchProviderInstalled(this, core::mem::transmute(&url)) {
Ok(ok__) => {
pdwresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsSearchMigrated<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfmigrated: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::IsSearchMigrated(this) {
Ok(ok__) => {
pfmigrated.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DefaultSearchProvider<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::DefaultSearchProvider(this) {
Ok(ok__) => {
pbstrname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RunOnceRequiredSettingsComplete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fcomplete: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper2_Impl::RunOnceRequiredSettingsComplete(this, core::mem::transmute_copy(&fcomplete)).into()
}
unsafe extern "system" fn RunOnceHasShown<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfshown: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::RunOnceHasShown(this) {
Ok(ok__) => {
pfshown.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SearchGuideUrl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrurl: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper2_Impl::SearchGuideUrl(this) {
Ok(ok__) => {
pbstrurl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IShellUIHelper_Vtbl::new::<Identity, OFFSET>(),
AddSearchProvider: AddSearchProvider::<Identity, OFFSET>,
RunOnceShown: RunOnceShown::<Identity, OFFSET>,
SkipRunOnce: SkipRunOnce::<Identity, OFFSET>,
CustomizeSettings: CustomizeSettings::<Identity, OFFSET>,
SqmEnabled: SqmEnabled::<Identity, OFFSET>,
PhishingEnabled: PhishingEnabled::<Identity, OFFSET>,
BrandImageUri: BrandImageUri::<Identity, OFFSET>,
SkipTabsWelcome: SkipTabsWelcome::<Identity, OFFSET>,
DiagnoseConnection: DiagnoseConnection::<Identity, OFFSET>,
CustomizeClearType: CustomizeClearType::<Identity, OFFSET>,
IsSearchProviderInstalled: IsSearchProviderInstalled::<Identity, OFFSET>,
IsSearchMigrated: IsSearchMigrated::<Identity, OFFSET>,
DefaultSearchProvider: DefaultSearchProvider::<Identity, OFFSET>,
RunOnceRequiredSettingsComplete: RunOnceRequiredSettingsComplete::<Identity, OFFSET>,
RunOnceHasShown: RunOnceHasShown::<Identity, OFFSET>,
SearchGuideUrl: SearchGuideUrl::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper3_Impl: Sized + IShellUIHelper2_Impl {
fn AddService(&self, url: &windows_core::BSTR) -> windows_core::Result<()>;
fn IsServiceInstalled(&self, url: &windows_core::BSTR, verb: &windows_core::BSTR) -> windows_core::Result<u32>;
fn InPrivateFilteringEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn AddToFavoritesBar(&self, url: &windows_core::BSTR, title: &windows_core::BSTR, r#type: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn BuildNewTabPage(&self) -> windows_core::Result<()>;
fn SetRecentlyClosedVisible(&self, fvisible: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn SetActivitiesVisible(&self, fvisible: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn ContentDiscoveryReset(&self) -> windows_core::Result<()>;
fn IsSuggestedSitesEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn EnableSuggestedSites(&self, fenable: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn NavigateToSuggestedSites(&self, bstrrelativeurl: &windows_core::BSTR) -> windows_core::Result<()>;
fn ShowTabsHelp(&self) -> windows_core::Result<()>;
fn ShowInPrivateHelp(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper3 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper3_Vtbl
where
Identity: IShellUIHelper3_Impl,
{
unsafe extern "system" fn AddService<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::AddService(this, core::mem::transmute(&url)).into()
}
unsafe extern "system" fn IsServiceInstalled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, verb: core::mem::MaybeUninit<windows_core::BSTR>, pdwresult: *mut u32) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper3_Impl::IsServiceInstalled(this, core::mem::transmute(&url), core::mem::transmute(&verb)) {
Ok(ok__) => {
pdwresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InPrivateFilteringEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfenabled: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper3_Impl::InPrivateFilteringEnabled(this) {
Ok(ok__) => {
pfenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddToFavoritesBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, title: core::mem::MaybeUninit<windows_core::BSTR>, r#type: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::AddToFavoritesBar(this, core::mem::transmute(&url), core::mem::transmute(&title), core::mem::transmute_copy(&r#type)).into()
}
unsafe extern "system" fn BuildNewTabPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::BuildNewTabPage(this).into()
}
unsafe extern "system" fn SetRecentlyClosedVisible<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fvisible: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::SetRecentlyClosedVisible(this, core::mem::transmute_copy(&fvisible)).into()
}
unsafe extern "system" fn SetActivitiesVisible<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fvisible: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::SetActivitiesVisible(this, core::mem::transmute_copy(&fvisible)).into()
}
unsafe extern "system" fn ContentDiscoveryReset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::ContentDiscoveryReset(this).into()
}
unsafe extern "system" fn IsSuggestedSitesEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfenabled: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper3_Impl::IsSuggestedSitesEnabled(this) {
Ok(ok__) => {
pfenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnableSuggestedSites<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::EnableSuggestedSites(this, core::mem::transmute_copy(&fenable)).into()
}
unsafe extern "system" fn NavigateToSuggestedSites<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrrelativeurl: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::NavigateToSuggestedSites(this, core::mem::transmute(&bstrrelativeurl)).into()
}
unsafe extern "system" fn ShowTabsHelp<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::ShowTabsHelp(this).into()
}
unsafe extern "system" fn ShowInPrivateHelp<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper3_Impl::ShowInPrivateHelp(this).into()
}
Self {
base__: IShellUIHelper2_Vtbl::new::<Identity, OFFSET>(),
AddService: AddService::<Identity, OFFSET>,
IsServiceInstalled: IsServiceInstalled::<Identity, OFFSET>,
InPrivateFilteringEnabled: InPrivateFilteringEnabled::<Identity, OFFSET>,
AddToFavoritesBar: AddToFavoritesBar::<Identity, OFFSET>,
BuildNewTabPage: BuildNewTabPage::<Identity, OFFSET>,
SetRecentlyClosedVisible: SetRecentlyClosedVisible::<Identity, OFFSET>,
SetActivitiesVisible: SetActivitiesVisible::<Identity, OFFSET>,
ContentDiscoveryReset: ContentDiscoveryReset::<Identity, OFFSET>,
IsSuggestedSitesEnabled: IsSuggestedSitesEnabled::<Identity, OFFSET>,
EnableSuggestedSites: EnableSuggestedSites::<Identity, OFFSET>,
NavigateToSuggestedSites: NavigateToSuggestedSites::<Identity, OFFSET>,
ShowTabsHelp: ShowTabsHelp::<Identity, OFFSET>,
ShowInPrivateHelp: ShowInPrivateHelp::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper3 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper4_Impl: Sized + IShellUIHelper3_Impl {
fn msIsSiteMode(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn msSiteModeShowThumbBar(&self) -> windows_core::Result<()>;
fn msSiteModeAddThumbBarButton(&self, bstriconurl: &windows_core::BSTR, bstrtooltip: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn msSiteModeUpdateThumbBarButton(&self, buttonid: &windows_core::VARIANT, fenabled: super::super::Foundation::VARIANT_BOOL, fvisible: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn msSiteModeSetIconOverlay(&self, iconurl: &windows_core::BSTR, pvardescription: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn msSiteModeClearIconOverlay(&self) -> windows_core::Result<()>;
fn msAddSiteMode(&self) -> windows_core::Result<()>;
fn msSiteModeCreateJumpList(&self, bstrheader: &windows_core::BSTR) -> windows_core::Result<()>;
fn msSiteModeAddJumpListItem(&self, bstrname: &windows_core::BSTR, bstractionuri: &windows_core::BSTR, bstriconuri: &windows_core::BSTR, pvarwindowtype: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn msSiteModeClearJumpList(&self) -> windows_core::Result<()>;
fn msSiteModeShowJumpList(&self) -> windows_core::Result<()>;
fn msSiteModeAddButtonStyle(&self, uibuttonid: &windows_core::VARIANT, bstriconurl: &windows_core::BSTR, bstrtooltip: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn msSiteModeShowButtonStyle(&self, uibuttonid: &windows_core::VARIANT, uistyleid: &windows_core::VARIANT) -> windows_core::Result<()>;
fn msSiteModeActivate(&self) -> windows_core::Result<()>;
fn msIsSiteModeFirstRun(&self, fpreservestate: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<windows_core::VARIANT>;
fn msAddTrackingProtectionList(&self, url: &windows_core::BSTR, bstrfiltername: &windows_core::BSTR) -> windows_core::Result<()>;
fn msTrackingProtectionEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn msActiveXFilteringEnabled(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper4 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper4_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper4_Vtbl
where
Identity: IShellUIHelper4_Impl,
{
unsafe extern "system" fn msIsSiteMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfsitemode: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper4_Impl::msIsSiteMode(this) {
Ok(ok__) => {
pfsitemode.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msSiteModeShowThumbBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeShowThumbBar(this).into()
}
unsafe extern "system" fn msSiteModeAddThumbBarButton<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstriconurl: core::mem::MaybeUninit<windows_core::BSTR>, bstrtooltip: core::mem::MaybeUninit<windows_core::BSTR>, pvarbuttonid: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper4_Impl::msSiteModeAddThumbBarButton(this, core::mem::transmute(&bstriconurl), core::mem::transmute(&bstrtooltip)) {
Ok(ok__) => {
pvarbuttonid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msSiteModeUpdateThumbBarButton<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, buttonid: core::mem::MaybeUninit<windows_core::VARIANT>, fenabled: super::super::Foundation::VARIANT_BOOL, fvisible: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeUpdateThumbBarButton(this, core::mem::transmute(&buttonid), core::mem::transmute_copy(&fenabled), core::mem::transmute_copy(&fvisible)).into()
}
unsafe extern "system" fn msSiteModeSetIconOverlay<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iconurl: core::mem::MaybeUninit<windows_core::BSTR>, pvardescription: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeSetIconOverlay(this, core::mem::transmute(&iconurl), core::mem::transmute_copy(&pvardescription)).into()
}
unsafe extern "system" fn msSiteModeClearIconOverlay<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeClearIconOverlay(this).into()
}
unsafe extern "system" fn msAddSiteMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msAddSiteMode(this).into()
}
unsafe extern "system" fn msSiteModeCreateJumpList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrheader: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeCreateJumpList(this, core::mem::transmute(&bstrheader)).into()
}
unsafe extern "system" fn msSiteModeAddJumpListItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrname: core::mem::MaybeUninit<windows_core::BSTR>, bstractionuri: core::mem::MaybeUninit<windows_core::BSTR>, bstriconuri: core::mem::MaybeUninit<windows_core::BSTR>, pvarwindowtype: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeAddJumpListItem(this, core::mem::transmute(&bstrname), core::mem::transmute(&bstractionuri), core::mem::transmute(&bstriconuri), core::mem::transmute_copy(&pvarwindowtype)).into()
}
unsafe extern "system" fn msSiteModeClearJumpList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeClearJumpList(this).into()
}
unsafe extern "system" fn msSiteModeShowJumpList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeShowJumpList(this).into()
}
unsafe extern "system" fn msSiteModeAddButtonStyle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uibuttonid: core::mem::MaybeUninit<windows_core::VARIANT>, bstriconurl: core::mem::MaybeUninit<windows_core::BSTR>, bstrtooltip: core::mem::MaybeUninit<windows_core::BSTR>, pvarstyleid: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper4_Impl::msSiteModeAddButtonStyle(this, core::mem::transmute(&uibuttonid), core::mem::transmute(&bstriconurl), core::mem::transmute(&bstrtooltip)) {
Ok(ok__) => {
pvarstyleid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msSiteModeShowButtonStyle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uibuttonid: core::mem::MaybeUninit<windows_core::VARIANT>, uistyleid: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeShowButtonStyle(this, core::mem::transmute(&uibuttonid), core::mem::transmute(&uistyleid)).into()
}
unsafe extern "system" fn msSiteModeActivate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msSiteModeActivate(this).into()
}
unsafe extern "system" fn msIsSiteModeFirstRun<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fpreservestate: super::super::Foundation::VARIANT_BOOL, puifirstrun: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper4_Impl::msIsSiteModeFirstRun(this, core::mem::transmute_copy(&fpreservestate)) {
Ok(ok__) => {
puifirstrun.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msAddTrackingProtectionList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, bstrfiltername: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper4_Impl::msAddTrackingProtectionList(this, core::mem::transmute(&url), core::mem::transmute(&bstrfiltername)).into()
}
unsafe extern "system" fn msTrackingProtectionEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfenabled: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper4_Impl::msTrackingProtectionEnabled(this) {
Ok(ok__) => {
pfenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msActiveXFilteringEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfenabled: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper4_Impl::msActiveXFilteringEnabled(this) {
Ok(ok__) => {
pfenabled.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: IShellUIHelper3_Vtbl::new::<Identity, OFFSET>(),
msIsSiteMode: msIsSiteMode::<Identity, OFFSET>,
msSiteModeShowThumbBar: msSiteModeShowThumbBar::<Identity, OFFSET>,
msSiteModeAddThumbBarButton: msSiteModeAddThumbBarButton::<Identity, OFFSET>,
msSiteModeUpdateThumbBarButton: msSiteModeUpdateThumbBarButton::<Identity, OFFSET>,
msSiteModeSetIconOverlay: msSiteModeSetIconOverlay::<Identity, OFFSET>,
msSiteModeClearIconOverlay: msSiteModeClearIconOverlay::<Identity, OFFSET>,
msAddSiteMode: msAddSiteMode::<Identity, OFFSET>,
msSiteModeCreateJumpList: msSiteModeCreateJumpList::<Identity, OFFSET>,
msSiteModeAddJumpListItem: msSiteModeAddJumpListItem::<Identity, OFFSET>,
msSiteModeClearJumpList: msSiteModeClearJumpList::<Identity, OFFSET>,
msSiteModeShowJumpList: msSiteModeShowJumpList::<Identity, OFFSET>,
msSiteModeAddButtonStyle: msSiteModeAddButtonStyle::<Identity, OFFSET>,
msSiteModeShowButtonStyle: msSiteModeShowButtonStyle::<Identity, OFFSET>,
msSiteModeActivate: msSiteModeActivate::<Identity, OFFSET>,
msIsSiteModeFirstRun: msIsSiteModeFirstRun::<Identity, OFFSET>,
msAddTrackingProtectionList: msAddTrackingProtectionList::<Identity, OFFSET>,
msTrackingProtectionEnabled: msTrackingProtectionEnabled::<Identity, OFFSET>,
msActiveXFilteringEnabled: msActiveXFilteringEnabled::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper4 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<IShellUIHelper3 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper5_Impl: Sized + IShellUIHelper4_Impl {
fn msProvisionNetworks(&self, bstrprovisioningxml: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn msReportSafeUrl(&self) -> windows_core::Result<()>;
fn msSiteModeRefreshBadge(&self) -> windows_core::Result<()>;
fn msSiteModeClearBadge(&self) -> windows_core::Result<()>;
fn msDiagnoseConnectionUILess(&self) -> windows_core::Result<()>;
fn msLaunchNetworkClientHelp(&self) -> windows_core::Result<()>;
fn msChangeDefaultBrowser(&self, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper5 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper5_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper5_Vtbl
where
Identity: IShellUIHelper5_Impl,
{
unsafe extern "system" fn msProvisionNetworks<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrprovisioningxml: core::mem::MaybeUninit<windows_core::BSTR>, puiresult: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper5_Impl::msProvisionNetworks(this, core::mem::transmute(&bstrprovisioningxml)) {
Ok(ok__) => {
puiresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msReportSafeUrl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper5_Impl::msReportSafeUrl(this).into()
}
unsafe extern "system" fn msSiteModeRefreshBadge<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper5_Impl::msSiteModeRefreshBadge(this).into()
}
unsafe extern "system" fn msSiteModeClearBadge<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper5_Impl::msSiteModeClearBadge(this).into()
}
unsafe extern "system" fn msDiagnoseConnectionUILess<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper5_Impl::msDiagnoseConnectionUILess(this).into()
}
unsafe extern "system" fn msLaunchNetworkClientHelp<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper5_Impl::msLaunchNetworkClientHelp(this).into()
}
unsafe extern "system" fn msChangeDefaultBrowser<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper5_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper5_Impl::msChangeDefaultBrowser(this, core::mem::transmute_copy(&fchange)).into()
}
Self {
base__: IShellUIHelper4_Vtbl::new::<Identity, OFFSET>(),
msProvisionNetworks: msProvisionNetworks::<Identity, OFFSET>,
msReportSafeUrl: msReportSafeUrl::<Identity, OFFSET>,
msSiteModeRefreshBadge: msSiteModeRefreshBadge::<Identity, OFFSET>,
msSiteModeClearBadge: msSiteModeClearBadge::<Identity, OFFSET>,
msDiagnoseConnectionUILess: msDiagnoseConnectionUILess::<Identity, OFFSET>,
msLaunchNetworkClientHelp: msLaunchNetworkClientHelp::<Identity, OFFSET>,
msChangeDefaultBrowser: msChangeDefaultBrowser::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper5 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<IShellUIHelper3 as windows_core::Interface>::IID || iid == &<IShellUIHelper4 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper6_Impl: Sized + IShellUIHelper5_Impl {
fn msStopPeriodicTileUpdate(&self) -> windows_core::Result<()>;
fn msStartPeriodicTileUpdate(&self, pollinguris: &windows_core::VARIANT, starttime: &windows_core::VARIANT, uiupdaterecurrence: &windows_core::VARIANT) -> windows_core::Result<()>;
fn msStartPeriodicTileUpdateBatch(&self, pollinguris: &windows_core::VARIANT, starttime: &windows_core::VARIANT, uiupdaterecurrence: &windows_core::VARIANT) -> windows_core::Result<()>;
fn msClearTile(&self) -> windows_core::Result<()>;
fn msEnableTileNotificationQueue(&self, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn msPinnedSiteState(&self) -> windows_core::Result<windows_core::VARIANT>;
fn msEnableTileNotificationQueueForSquare150x150(&self, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn msEnableTileNotificationQueueForWide310x150(&self, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn msEnableTileNotificationQueueForSquare310x310(&self, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn msScheduledTileNotification(&self, bstrnotificationxml: &windows_core::BSTR, bstrnotificationid: &windows_core::BSTR, bstrnotificationtag: &windows_core::BSTR, starttime: &windows_core::VARIANT, expirationtime: &windows_core::VARIANT) -> windows_core::Result<()>;
fn msRemoveScheduledTileNotification(&self, bstrnotificationid: &windows_core::BSTR) -> windows_core::Result<()>;
fn msStartPeriodicBadgeUpdate(&self, pollinguri: &windows_core::BSTR, starttime: &windows_core::VARIANT, uiupdaterecurrence: &windows_core::VARIANT) -> windows_core::Result<()>;
fn msStopPeriodicBadgeUpdate(&self) -> windows_core::Result<()>;
fn msLaunchInternetOptions(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper6 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper6_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper6_Vtbl
where
Identity: IShellUIHelper6_Impl,
{
unsafe extern "system" fn msStopPeriodicTileUpdate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msStopPeriodicTileUpdate(this).into()
}
unsafe extern "system" fn msStartPeriodicTileUpdate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pollinguris: core::mem::MaybeUninit<windows_core::VARIANT>, starttime: core::mem::MaybeUninit<windows_core::VARIANT>, uiupdaterecurrence: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msStartPeriodicTileUpdate(this, core::mem::transmute(&pollinguris), core::mem::transmute(&starttime), core::mem::transmute(&uiupdaterecurrence)).into()
}
unsafe extern "system" fn msStartPeriodicTileUpdateBatch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pollinguris: core::mem::MaybeUninit<windows_core::VARIANT>, starttime: core::mem::MaybeUninit<windows_core::VARIANT>, uiupdaterecurrence: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msStartPeriodicTileUpdateBatch(this, core::mem::transmute(&pollinguris), core::mem::transmute(&starttime), core::mem::transmute(&uiupdaterecurrence)).into()
}
unsafe extern "system" fn msClearTile<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msClearTile(this).into()
}
unsafe extern "system" fn msEnableTileNotificationQueue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msEnableTileNotificationQueue(this, core::mem::transmute_copy(&fchange)).into()
}
unsafe extern "system" fn msPinnedSiteState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvarsitestate: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper6_Impl::msPinnedSiteState(this) {
Ok(ok__) => {
pvarsitestate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn msEnableTileNotificationQueueForSquare150x150<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msEnableTileNotificationQueueForSquare150x150(this, core::mem::transmute_copy(&fchange)).into()
}
unsafe extern "system" fn msEnableTileNotificationQueueForWide310x150<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msEnableTileNotificationQueueForWide310x150(this, core::mem::transmute_copy(&fchange)).into()
}
unsafe extern "system" fn msEnableTileNotificationQueueForSquare310x310<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fchange: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msEnableTileNotificationQueueForSquare310x310(this, core::mem::transmute_copy(&fchange)).into()
}
unsafe extern "system" fn msScheduledTileNotification<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrnotificationxml: core::mem::MaybeUninit<windows_core::BSTR>, bstrnotificationid: core::mem::MaybeUninit<windows_core::BSTR>, bstrnotificationtag: core::mem::MaybeUninit<windows_core::BSTR>, starttime: core::mem::MaybeUninit<windows_core::VARIANT>, expirationtime: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msScheduledTileNotification(this, core::mem::transmute(&bstrnotificationxml), core::mem::transmute(&bstrnotificationid), core::mem::transmute(&bstrnotificationtag), core::mem::transmute(&starttime), core::mem::transmute(&expirationtime)).into()
}
unsafe extern "system" fn msRemoveScheduledTileNotification<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrnotificationid: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msRemoveScheduledTileNotification(this, core::mem::transmute(&bstrnotificationid)).into()
}
unsafe extern "system" fn msStartPeriodicBadgeUpdate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pollinguri: core::mem::MaybeUninit<windows_core::BSTR>, starttime: core::mem::MaybeUninit<windows_core::VARIANT>, uiupdaterecurrence: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msStartPeriodicBadgeUpdate(this, core::mem::transmute(&pollinguri), core::mem::transmute(&starttime), core::mem::transmute(&uiupdaterecurrence)).into()
}
unsafe extern "system" fn msStopPeriodicBadgeUpdate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msStopPeriodicBadgeUpdate(this).into()
}
unsafe extern "system" fn msLaunchInternetOptions<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper6_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper6_Impl::msLaunchInternetOptions(this).into()
}
Self {
base__: IShellUIHelper5_Vtbl::new::<Identity, OFFSET>(),
msStopPeriodicTileUpdate: msStopPeriodicTileUpdate::<Identity, OFFSET>,
msStartPeriodicTileUpdate: msStartPeriodicTileUpdate::<Identity, OFFSET>,
msStartPeriodicTileUpdateBatch: msStartPeriodicTileUpdateBatch::<Identity, OFFSET>,
msClearTile: msClearTile::<Identity, OFFSET>,
msEnableTileNotificationQueue: msEnableTileNotificationQueue::<Identity, OFFSET>,
msPinnedSiteState: msPinnedSiteState::<Identity, OFFSET>,
msEnableTileNotificationQueueForSquare150x150: msEnableTileNotificationQueueForSquare150x150::<Identity, OFFSET>,
msEnableTileNotificationQueueForWide310x150: msEnableTileNotificationQueueForWide310x150::<Identity, OFFSET>,
msEnableTileNotificationQueueForSquare310x310: msEnableTileNotificationQueueForSquare310x310::<Identity, OFFSET>,
msScheduledTileNotification: msScheduledTileNotification::<Identity, OFFSET>,
msRemoveScheduledTileNotification: msRemoveScheduledTileNotification::<Identity, OFFSET>,
msStartPeriodicBadgeUpdate: msStartPeriodicBadgeUpdate::<Identity, OFFSET>,
msStopPeriodicBadgeUpdate: msStopPeriodicBadgeUpdate::<Identity, OFFSET>,
msLaunchInternetOptions: msLaunchInternetOptions::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper6 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<IShellUIHelper3 as windows_core::Interface>::IID || iid == &<IShellUIHelper4 as windows_core::Interface>::IID || iid == &<IShellUIHelper5 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper7_Impl: Sized + IShellUIHelper6_Impl {
fn SetExperimentalFlag(&self, bstrflagstring: &windows_core::BSTR, vfflag: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn GetExperimentalFlag(&self, bstrflagstring: &windows_core::BSTR) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetExperimentalValue(&self, bstrvaluestring: &windows_core::BSTR, dwvalue: u32) -> windows_core::Result<()>;
fn GetExperimentalValue(&self, bstrvaluestring: &windows_core::BSTR) -> windows_core::Result<u32>;
fn ResetAllExperimentalFlagsAndValues(&self) -> windows_core::Result<()>;
fn GetNeedIEAutoLaunchFlag(&self, bstrurl: &windows_core::BSTR) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetNeedIEAutoLaunchFlag(&self, bstrurl: &windows_core::BSTR, flag: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn HasNeedIEAutoLaunchFlag(&self, bstrurl: &windows_core::BSTR) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn LaunchIE(&self, bstrurl: &windows_core::BSTR, automated: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper7 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper7_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper7_Vtbl
where
Identity: IShellUIHelper7_Impl,
{
unsafe extern "system" fn SetExperimentalFlag<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrflagstring: core::mem::MaybeUninit<windows_core::BSTR>, vfflag: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper7_Impl::SetExperimentalFlag(this, core::mem::transmute(&bstrflagstring), core::mem::transmute_copy(&vfflag)).into()
}
unsafe extern "system" fn GetExperimentalFlag<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrflagstring: core::mem::MaybeUninit<windows_core::BSTR>, vfflag: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper7_Impl::GetExperimentalFlag(this, core::mem::transmute(&bstrflagstring)) {
Ok(ok__) => {
vfflag.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetExperimentalValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrvaluestring: core::mem::MaybeUninit<windows_core::BSTR>, dwvalue: u32) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper7_Impl::SetExperimentalValue(this, core::mem::transmute(&bstrvaluestring), core::mem::transmute_copy(&dwvalue)).into()
}
unsafe extern "system" fn GetExperimentalValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrvaluestring: core::mem::MaybeUninit<windows_core::BSTR>, pdwvalue: *mut u32) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper7_Impl::GetExperimentalValue(this, core::mem::transmute(&bstrvaluestring)) {
Ok(ok__) => {
pdwvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ResetAllExperimentalFlagsAndValues<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper7_Impl::ResetAllExperimentalFlagsAndValues(this).into()
}
unsafe extern "system" fn GetNeedIEAutoLaunchFlag<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrurl: core::mem::MaybeUninit<windows_core::BSTR>, flag: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper7_Impl::GetNeedIEAutoLaunchFlag(this, core::mem::transmute(&bstrurl)) {
Ok(ok__) => {
flag.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetNeedIEAutoLaunchFlag<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrurl: core::mem::MaybeUninit<windows_core::BSTR>, flag: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper7_Impl::SetNeedIEAutoLaunchFlag(this, core::mem::transmute(&bstrurl), core::mem::transmute_copy(&flag)).into()
}
unsafe extern "system" fn HasNeedIEAutoLaunchFlag<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrurl: core::mem::MaybeUninit<windows_core::BSTR>, exists: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper7_Impl::HasNeedIEAutoLaunchFlag(this, core::mem::transmute(&bstrurl)) {
Ok(ok__) => {
exists.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn LaunchIE<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrurl: core::mem::MaybeUninit<windows_core::BSTR>, automated: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellUIHelper7_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper7_Impl::LaunchIE(this, core::mem::transmute(&bstrurl), core::mem::transmute_copy(&automated)).into()
}
Self {
base__: IShellUIHelper6_Vtbl::new::<Identity, OFFSET>(),
SetExperimentalFlag: SetExperimentalFlag::<Identity, OFFSET>,
GetExperimentalFlag: GetExperimentalFlag::<Identity, OFFSET>,
SetExperimentalValue: SetExperimentalValue::<Identity, OFFSET>,
GetExperimentalValue: GetExperimentalValue::<Identity, OFFSET>,
ResetAllExperimentalFlagsAndValues: ResetAllExperimentalFlagsAndValues::<Identity, OFFSET>,
GetNeedIEAutoLaunchFlag: GetNeedIEAutoLaunchFlag::<Identity, OFFSET>,
SetNeedIEAutoLaunchFlag: SetNeedIEAutoLaunchFlag::<Identity, OFFSET>,
HasNeedIEAutoLaunchFlag: HasNeedIEAutoLaunchFlag::<Identity, OFFSET>,
LaunchIE: LaunchIE::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper7 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<IShellUIHelper3 as windows_core::Interface>::IID || iid == &<IShellUIHelper4 as windows_core::Interface>::IID || iid == &<IShellUIHelper5 as windows_core::Interface>::IID || iid == &<IShellUIHelper6 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper8_Impl: Sized + IShellUIHelper7_Impl {
fn GetCVListData(&self) -> windows_core::Result<windows_core::BSTR>;
fn GetCVListLocalData(&self) -> windows_core::Result<windows_core::BSTR>;
fn GetEMIEListData(&self) -> windows_core::Result<windows_core::BSTR>;
fn GetEMIEListLocalData(&self) -> windows_core::Result<windows_core::BSTR>;
fn OpenFavoritesPane(&self) -> windows_core::Result<()>;
fn OpenFavoritesSettings(&self) -> windows_core::Result<()>;
fn LaunchInHVSI(&self, bstrurl: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper8 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper8_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper8_Vtbl
where
Identity: IShellUIHelper8_Impl,
{
unsafe extern "system" fn GetCVListData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrresult: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper8_Impl::GetCVListData(this) {
Ok(ok__) => {
pbstrresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCVListLocalData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrresult: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper8_Impl::GetCVListLocalData(this) {
Ok(ok__) => {
pbstrresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEMIEListData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrresult: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper8_Impl::GetEMIEListData(this) {
Ok(ok__) => {
pbstrresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEMIEListLocalData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrresult: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper8_Impl::GetEMIEListLocalData(this) {
Ok(ok__) => {
pbstrresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OpenFavoritesPane<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper8_Impl::OpenFavoritesPane(this).into()
}
unsafe extern "system" fn OpenFavoritesSettings<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper8_Impl::OpenFavoritesSettings(this).into()
}
unsafe extern "system" fn LaunchInHVSI<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrurl: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IShellUIHelper8_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellUIHelper8_Impl::LaunchInHVSI(this, core::mem::transmute(&bstrurl)).into()
}
Self {
base__: IShellUIHelper7_Vtbl::new::<Identity, OFFSET>(),
GetCVListData: GetCVListData::<Identity, OFFSET>,
GetCVListLocalData: GetCVListLocalData::<Identity, OFFSET>,
GetEMIEListData: GetEMIEListData::<Identity, OFFSET>,
GetEMIEListLocalData: GetEMIEListLocalData::<Identity, OFFSET>,
OpenFavoritesPane: OpenFavoritesPane::<Identity, OFFSET>,
OpenFavoritesSettings: OpenFavoritesSettings::<Identity, OFFSET>,
LaunchInHVSI: LaunchInHVSI::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper8 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<IShellUIHelper3 as windows_core::Interface>::IID || iid == &<IShellUIHelper4 as windows_core::Interface>::IID || iid == &<IShellUIHelper5 as windows_core::Interface>::IID || iid == &<IShellUIHelper6 as windows_core::Interface>::IID || iid == &<IShellUIHelper7 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellUIHelper9_Impl: Sized + IShellUIHelper8_Impl {
fn GetOSSku(&self) -> windows_core::Result<u32>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellUIHelper9 {}
#[cfg(feature = "Win32_System_Com")]
impl IShellUIHelper9_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellUIHelper9_Vtbl
where
Identity: IShellUIHelper9_Impl,
{
unsafe extern "system" fn GetOSSku<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwresult: *mut u32) -> windows_core::HRESULT
where
Identity: IShellUIHelper9_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellUIHelper9_Impl::GetOSSku(this) {
Ok(ok__) => {
pdwresult.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IShellUIHelper8_Vtbl::new::<Identity, OFFSET>(), GetOSSku: GetOSSku::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellUIHelper9 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IShellUIHelper as windows_core::Interface>::IID || iid == &<IShellUIHelper2 as windows_core::Interface>::IID || iid == &<IShellUIHelper3 as windows_core::Interface>::IID || iid == &<IShellUIHelper4 as windows_core::Interface>::IID || iid == &<IShellUIHelper5 as windows_core::Interface>::IID || iid == &<IShellUIHelper6 as windows_core::Interface>::IID || iid == &<IShellUIHelper7 as windows_core::Interface>::IID || iid == &<IShellUIHelper8 as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellView_Impl: Sized + super::super::System::Ole::IOleWindow_Impl {
fn TranslateAccelerator(&self, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT;
fn EnableModeless(&self, fenable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn UIActivate(&self, ustate: u32) -> windows_core::Result<()>;
fn Refresh(&self) -> windows_core::Result<()>;
fn CreateViewWindow(&self, psvprevious: Option<&IShellView>, pfs: *const FOLDERSETTINGS, psb: Option<&IShellBrowser>, prcview: *const super::super::Foundation::RECT) -> windows_core::Result<super::super::Foundation::HWND>;
fn DestroyViewWindow(&self) -> windows_core::Result<()>;
fn GetCurrentInfo(&self) -> windows_core::Result<FOLDERSETTINGS>;
fn AddPropertySheetPages(&self, dwreserved: u32, pfn: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: super::super::Foundation::LPARAM) -> windows_core::Result<()>;
fn SaveViewState(&self) -> windows_core::Result<()>;
fn SelectItem(&self, pidlitem: *const Common::ITEMIDLIST, uflags: u32) -> windows_core::Result<()>;
fn GetItemObject(&self, uitem: &_SVGIO, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellView {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellView_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellView_Vtbl
where
Identity: IShellView_Impl,
{
unsafe extern "system" fn TranslateAccelerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmsg: *const super::WindowsAndMessaging::MSG) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::TranslateAccelerator(this, core::mem::transmute_copy(&pmsg))
}
unsafe extern "system" fn EnableModeless<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::EnableModeless(this, core::mem::transmute_copy(&fenable)).into()
}
unsafe extern "system" fn UIActivate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ustate: u32) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::UIActivate(this, core::mem::transmute_copy(&ustate)).into()
}
unsafe extern "system" fn Refresh<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::Refresh(this).into()
}
unsafe extern "system" fn CreateViewWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psvprevious: *mut core::ffi::c_void, pfs: *const FOLDERSETTINGS, psb: *mut core::ffi::c_void, prcview: *const super::super::Foundation::RECT, phwnd: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellView_Impl::CreateViewWindow(this, windows_core::from_raw_borrowed(&psvprevious), core::mem::transmute_copy(&pfs), windows_core::from_raw_borrowed(&psb), core::mem::transmute_copy(&prcview)) {
Ok(ok__) => {
phwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn DestroyViewWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::DestroyViewWindow(this).into()
}
unsafe extern "system" fn GetCurrentInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfs: *mut FOLDERSETTINGS) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellView_Impl::GetCurrentInfo(this) {
Ok(ok__) => {
pfs.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn AddPropertySheetPages<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwreserved: u32, pfn: super::Controls::LPFNSVADDPROPSHEETPAGE, lparam: super::super::Foundation::LPARAM) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::AddPropertySheetPages(this, core::mem::transmute_copy(&dwreserved), core::mem::transmute_copy(&pfn), core::mem::transmute_copy(&lparam)).into()
}
unsafe extern "system" fn SaveViewState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::SaveViewState(this).into()
}
unsafe extern "system" fn SelectItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlitem: *const Common::ITEMIDLIST, uflags: u32) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::SelectItem(this, core::mem::transmute_copy(&pidlitem), core::mem::transmute_copy(&uflags)).into()
}
unsafe extern "system" fn GetItemObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uitem: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellView_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView_Impl::GetItemObject(this, core::mem::transmute(&uitem), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: super::super::System::Ole::IOleWindow_Vtbl::new::<Identity, OFFSET>(),
TranslateAccelerator: TranslateAccelerator::<Identity, OFFSET>,
EnableModeless: EnableModeless::<Identity, OFFSET>,
UIActivate: UIActivate::<Identity, OFFSET>,
Refresh: Refresh::<Identity, OFFSET>,
CreateViewWindow: CreateViewWindow::<Identity, OFFSET>,
DestroyViewWindow: DestroyViewWindow::<Identity, OFFSET>,
GetCurrentInfo: GetCurrentInfo::<Identity, OFFSET>,
AddPropertySheetPages: AddPropertySheetPages::<Identity, OFFSET>,
SaveViewState: SaveViewState::<Identity, OFFSET>,
SelectItem: SelectItem::<Identity, OFFSET>,
GetItemObject: GetItemObject::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellView as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellView2_Impl: Sized + IShellView_Impl {
fn GetView(&self, pvid: *mut windows_core::GUID, uview: u32) -> windows_core::Result<()>;
fn CreateViewWindow2(&self, lpparams: *const SV2CVW2_PARAMS) -> windows_core::Result<()>;
fn HandleRename(&self, pidlnew: *const Common::ITEMIDLIST) -> windows_core::Result<()>;
fn SelectAndPositionItem(&self, pidlitem: *const Common::ITEMIDLIST, uflags: u32, ppt: *const super::super::Foundation::POINT) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellView2 {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellView2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellView2_Vtbl
where
Identity: IShellView2_Impl,
{
unsafe extern "system" fn GetView<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvid: *mut windows_core::GUID, uview: u32) -> windows_core::HRESULT
where
Identity: IShellView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView2_Impl::GetView(this, core::mem::transmute_copy(&pvid), core::mem::transmute_copy(&uview)).into()
}
unsafe extern "system" fn CreateViewWindow2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lpparams: *const SV2CVW2_PARAMS) -> windows_core::HRESULT
where
Identity: IShellView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView2_Impl::CreateViewWindow2(this, core::mem::transmute_copy(&lpparams)).into()
}
unsafe extern "system" fn HandleRename<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlnew: *const Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IShellView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView2_Impl::HandleRename(this, core::mem::transmute_copy(&pidlnew)).into()
}
unsafe extern "system" fn SelectAndPositionItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlitem: *const Common::ITEMIDLIST, uflags: u32, ppt: *const super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IShellView2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellView2_Impl::SelectAndPositionItem(this, core::mem::transmute_copy(&pidlitem), core::mem::transmute_copy(&uflags), core::mem::transmute_copy(&ppt)).into()
}
Self {
base__: IShellView_Vtbl::new::<Identity, OFFSET>(),
GetView: GetView::<Identity, OFFSET>,
CreateViewWindow2: CreateViewWindow2::<Identity, OFFSET>,
HandleRename: HandleRename::<Identity, OFFSET>,
SelectAndPositionItem: SelectAndPositionItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellView2 as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID || iid == &<IShellView as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait IShellView3_Impl: Sized + IShellView2_Impl {
fn CreateViewWindow3(&self, psbowner: Option<&IShellBrowser>, psvprev: Option<&IShellView>, dwviewflags: u32, dwmask: FOLDERFLAGS, dwflags: FOLDERFLAGS, fvmode: FOLDERVIEWMODE, pvid: *const windows_core::GUID, prcview: *const super::super::Foundation::RECT) -> windows_core::Result<super::super::Foundation::HWND>;
}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for IShellView3 {}
#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_UI_Controls", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl IShellView3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellView3_Vtbl
where
Identity: IShellView3_Impl,
{
unsafe extern "system" fn CreateViewWindow3<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psbowner: *mut core::ffi::c_void, psvprev: *mut core::ffi::c_void, dwviewflags: u32, dwmask: FOLDERFLAGS, dwflags: FOLDERFLAGS, fvmode: FOLDERVIEWMODE, pvid: *const windows_core::GUID, prcview: *const super::super::Foundation::RECT, phwndview: *mut super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: IShellView3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellView3_Impl::CreateViewWindow3(this, windows_core::from_raw_borrowed(&psbowner), windows_core::from_raw_borrowed(&psvprev), core::mem::transmute_copy(&dwviewflags), core::mem::transmute_copy(&dwmask), core::mem::transmute_copy(&dwflags), core::mem::transmute_copy(&fvmode), core::mem::transmute_copy(&pvid), core::mem::transmute_copy(&prcview)) {
Ok(ok__) => {
phwndview.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IShellView2_Vtbl::new::<Identity, OFFSET>(), CreateViewWindow3: CreateViewWindow3::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellView3 as windows_core::Interface>::IID || iid == &<super::super::System::Ole::IOleWindow as windows_core::Interface>::IID || iid == &<IShellView as windows_core::Interface>::IID || iid == &<IShellView2 as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IShellWindows_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn Count(&self) -> windows_core::Result<i32>;
fn Item(&self, index: &windows_core::VARIANT) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn _NewEnum(&self) -> windows_core::Result<windows_core::IUnknown>;
fn Register(&self, pid: Option<&super::super::System::Com::IDispatch>, hwnd: i32, swclass: ShellWindowTypeConstants) -> windows_core::Result<i32>;
fn RegisterPending(&self, lthreadid: i32, pvarloc: *const windows_core::VARIANT, pvarlocroot: *const windows_core::VARIANT, swclass: ShellWindowTypeConstants) -> windows_core::Result<i32>;
fn Revoke(&self, lcookie: i32) -> windows_core::Result<()>;
fn OnNavigate(&self, lcookie: i32, pvarloc: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn OnActivated(&self, lcookie: i32, factive: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn FindWindowSW(&self, pvarloc: *const windows_core::VARIANT, pvarlocroot: *const windows_core::VARIANT, swclass: ShellWindowTypeConstants, phwnd: *mut i32, swfwoptions: ShellWindowFindWindowOptions) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn OnCreated(&self, lcookie: i32, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn ProcessAttachDetach(&self, fattach: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IShellWindows {}
#[cfg(feature = "Win32_System_Com")]
impl IShellWindows_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IShellWindows_Vtbl
where
Identity: IShellWindows_Impl,
{
unsafe extern "system" fn Count<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, count: *mut i32) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellWindows_Impl::Count(this) {
Ok(ok__) => {
count.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Item<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: core::mem::MaybeUninit<windows_core::VARIANT>, folder: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellWindows_Impl::Item(this, core::mem::transmute(&index)) {
Ok(ok__) => {
folder.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn _NewEnum<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellWindows_Impl::_NewEnum(this) {
Ok(ok__) => {
ppunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Register<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pid: *mut core::ffi::c_void, hwnd: i32, swclass: ShellWindowTypeConstants, plcookie: *mut i32) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellWindows_Impl::Register(this, windows_core::from_raw_borrowed(&pid), core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&swclass)) {
Ok(ok__) => {
plcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RegisterPending<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lthreadid: i32, pvarloc: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarlocroot: *const core::mem::MaybeUninit<windows_core::VARIANT>, swclass: ShellWindowTypeConstants, plcookie: *mut i32) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellWindows_Impl::RegisterPending(this, core::mem::transmute_copy(<hreadid), core::mem::transmute_copy(&pvarloc), core::mem::transmute_copy(&pvarlocroot), core::mem::transmute_copy(&swclass)) {
Ok(ok__) => {
plcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Revoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lcookie: i32) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellWindows_Impl::Revoke(this, core::mem::transmute_copy(&lcookie)).into()
}
unsafe extern "system" fn OnNavigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lcookie: i32, pvarloc: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellWindows_Impl::OnNavigate(this, core::mem::transmute_copy(&lcookie), core::mem::transmute_copy(&pvarloc)).into()
}
unsafe extern "system" fn OnActivated<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lcookie: i32, factive: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellWindows_Impl::OnActivated(this, core::mem::transmute_copy(&lcookie), core::mem::transmute_copy(&factive)).into()
}
unsafe extern "system" fn FindWindowSW<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvarloc: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarlocroot: *const core::mem::MaybeUninit<windows_core::VARIANT>, swclass: ShellWindowTypeConstants, phwnd: *mut i32, swfwoptions: ShellWindowFindWindowOptions, ppdispout: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IShellWindows_Impl::FindWindowSW(this, core::mem::transmute_copy(&pvarloc), core::mem::transmute_copy(&pvarlocroot), core::mem::transmute_copy(&swclass), core::mem::transmute_copy(&phwnd), core::mem::transmute_copy(&swfwoptions)) {
Ok(ok__) => {
ppdispout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn OnCreated<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lcookie: i32, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellWindows_Impl::OnCreated(this, core::mem::transmute_copy(&lcookie), windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn ProcessAttachDetach<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fattach: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IShellWindows_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IShellWindows_Impl::ProcessAttachDetach(this, core::mem::transmute_copy(&fattach)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
Count: Count::<Identity, OFFSET>,
Item: Item::<Identity, OFFSET>,
_NewEnum: _NewEnum::<Identity, OFFSET>,
Register: Register::<Identity, OFFSET>,
RegisterPending: RegisterPending::<Identity, OFFSET>,
Revoke: Revoke::<Identity, OFFSET>,
OnNavigate: OnNavigate::<Identity, OFFSET>,
OnActivated: OnActivated::<Identity, OFFSET>,
FindWindowSW: FindWindowSW::<Identity, OFFSET>,
OnCreated: OnCreated::<Identity, OFFSET>,
ProcessAttachDetach: ProcessAttachDetach::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IShellWindows as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait ISortColumnArray_Impl: Sized {
fn GetCount(&self) -> windows_core::Result<u32>;
fn GetAt(&self, index: u32, sortcolumn: *mut SORTCOLUMN) -> windows_core::Result<()>;
fn GetSortType(&self) -> windows_core::Result<SORT_ORDER_TYPE>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for ISortColumnArray {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl ISortColumnArray_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISortColumnArray_Vtbl
where
Identity: ISortColumnArray_Impl,
{
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, columncount: *mut u32) -> windows_core::HRESULT
where
Identity: ISortColumnArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISortColumnArray_Impl::GetCount(this) {
Ok(ok__) => {
columncount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetAt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, index: u32, sortcolumn: *mut SORTCOLUMN) -> windows_core::HRESULT
where
Identity: ISortColumnArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISortColumnArray_Impl::GetAt(this, core::mem::transmute_copy(&index), core::mem::transmute_copy(&sortcolumn)).into()
}
unsafe extern "system" fn GetSortType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut SORT_ORDER_TYPE) -> windows_core::HRESULT
where
Identity: ISortColumnArray_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISortColumnArray_Impl::GetSortType(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetCount: GetCount::<Identity, OFFSET>,
GetAt: GetAt::<Identity, OFFSET>,
GetSortType: GetSortType::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISortColumnArray as windows_core::Interface>::IID
}
}
pub trait IStartMenuPinnedList_Impl: Sized {
fn RemoveFromList(&self, pitem: Option<&IShellItem>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IStartMenuPinnedList {}
impl IStartMenuPinnedList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStartMenuPinnedList_Vtbl
where
Identity: IStartMenuPinnedList_Impl,
{
unsafe extern "system" fn RemoveFromList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStartMenuPinnedList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStartMenuPinnedList_Impl::RemoveFromList(this, windows_core::from_raw_borrowed(&pitem)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), RemoveFromList: RemoveFromList::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStartMenuPinnedList as windows_core::Interface>::IID
}
}
pub trait IStorageProviderBanners_Impl: Sized {
fn SetBanner(&self, provideridentity: &windows_core::PCWSTR, subscriptionid: &windows_core::PCWSTR, contentid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn ClearBanner(&self, provideridentity: &windows_core::PCWSTR, subscriptionid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn ClearAllBanners(&self, provideridentity: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn GetBanner(&self, provideridentity: &windows_core::PCWSTR, subscriptionid: &windows_core::PCWSTR) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for IStorageProviderBanners {}
impl IStorageProviderBanners_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStorageProviderBanners_Vtbl
where
Identity: IStorageProviderBanners_Impl,
{
unsafe extern "system" fn SetBanner<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provideridentity: windows_core::PCWSTR, subscriptionid: windows_core::PCWSTR, contentid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IStorageProviderBanners_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStorageProviderBanners_Impl::SetBanner(this, core::mem::transmute(&provideridentity), core::mem::transmute(&subscriptionid), core::mem::transmute(&contentid)).into()
}
unsafe extern "system" fn ClearBanner<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provideridentity: windows_core::PCWSTR, subscriptionid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IStorageProviderBanners_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStorageProviderBanners_Impl::ClearBanner(this, core::mem::transmute(&provideridentity), core::mem::transmute(&subscriptionid)).into()
}
unsafe extern "system" fn ClearAllBanners<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provideridentity: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IStorageProviderBanners_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStorageProviderBanners_Impl::ClearAllBanners(this, core::mem::transmute(&provideridentity)).into()
}
unsafe extern "system" fn GetBanner<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, provideridentity: windows_core::PCWSTR, subscriptionid: windows_core::PCWSTR, contentid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IStorageProviderBanners_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStorageProviderBanners_Impl::GetBanner(this, core::mem::transmute(&provideridentity), core::mem::transmute(&subscriptionid)) {
Ok(ok__) => {
contentid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetBanner: SetBanner::<Identity, OFFSET>,
ClearBanner: ClearBanner::<Identity, OFFSET>,
ClearAllBanners: ClearAllBanners::<Identity, OFFSET>,
GetBanner: GetBanner::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStorageProviderBanners as windows_core::Interface>::IID
}
}
pub trait IStorageProviderCopyHook_Impl: Sized {
fn CopyCallback(&self, hwnd: super::super::Foundation::HWND, operation: u32, flags: u32, srcfile: &windows_core::PCWSTR, srcattribs: u32, destfile: &windows_core::PCWSTR, destattribs: u32) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IStorageProviderCopyHook {}
impl IStorageProviderCopyHook_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStorageProviderCopyHook_Vtbl
where
Identity: IStorageProviderCopyHook_Impl,
{
unsafe extern "system" fn CopyCallback<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, operation: u32, flags: u32, srcfile: windows_core::PCWSTR, srcattribs: u32, destfile: windows_core::PCWSTR, destattribs: u32, result: *mut u32) -> windows_core::HRESULT
where
Identity: IStorageProviderCopyHook_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStorageProviderCopyHook_Impl::CopyCallback(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&operation), core::mem::transmute_copy(&flags), core::mem::transmute(&srcfile), core::mem::transmute_copy(&srcattribs), core::mem::transmute(&destfile), core::mem::transmute_copy(&destattribs)) {
Ok(ok__) => {
result.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CopyCallback: CopyCallback::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStorageProviderCopyHook as windows_core::Interface>::IID
}
}
pub trait IStorageProviderHandler_Impl: Sized {
fn GetPropertyHandlerFromPath(&self, path: &windows_core::PCWSTR) -> windows_core::Result<IStorageProviderPropertyHandler>;
fn GetPropertyHandlerFromUri(&self, uri: &windows_core::PCWSTR) -> windows_core::Result<IStorageProviderPropertyHandler>;
fn GetPropertyHandlerFromFileId(&self, fileid: &windows_core::PCWSTR) -> windows_core::Result<IStorageProviderPropertyHandler>;
}
impl windows_core::RuntimeName for IStorageProviderHandler {}
impl IStorageProviderHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStorageProviderHandler_Vtbl
where
Identity: IStorageProviderHandler_Impl,
{
unsafe extern "system" fn GetPropertyHandlerFromPath<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, propertyhandler: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStorageProviderHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStorageProviderHandler_Impl::GetPropertyHandlerFromPath(this, core::mem::transmute(&path)) {
Ok(ok__) => {
propertyhandler.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPropertyHandlerFromUri<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, uri: windows_core::PCWSTR, propertyhandler: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStorageProviderHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStorageProviderHandler_Impl::GetPropertyHandlerFromUri(this, core::mem::transmute(&uri)) {
Ok(ok__) => {
propertyhandler.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPropertyHandlerFromFileId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fileid: windows_core::PCWSTR, propertyhandler: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStorageProviderHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStorageProviderHandler_Impl::GetPropertyHandlerFromFileId(this, core::mem::transmute(&fileid)) {
Ok(ok__) => {
propertyhandler.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPropertyHandlerFromPath: GetPropertyHandlerFromPath::<Identity, OFFSET>,
GetPropertyHandlerFromUri: GetPropertyHandlerFromUri::<Identity, OFFSET>,
GetPropertyHandlerFromFileId: GetPropertyHandlerFromFileId::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStorageProviderHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait IStorageProviderPropertyHandler_Impl: Sized {
fn RetrieveProperties(&self, propertiestoretrieve: *const PropertiesSystem::PROPERTYKEY, propertiestoretrievecount: u32) -> windows_core::Result<PropertiesSystem::IPropertyStore>;
fn SaveProperties(&self, propertiestosave: Option<&PropertiesSystem::IPropertyStore>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for IStorageProviderPropertyHandler {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl IStorageProviderPropertyHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStorageProviderPropertyHandler_Vtbl
where
Identity: IStorageProviderPropertyHandler_Impl,
{
unsafe extern "system" fn RetrieveProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, propertiestoretrieve: *const PropertiesSystem::PROPERTYKEY, propertiestoretrievecount: u32, retrievedproperties: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStorageProviderPropertyHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStorageProviderPropertyHandler_Impl::RetrieveProperties(this, core::mem::transmute_copy(&propertiestoretrieve), core::mem::transmute_copy(&propertiestoretrievecount)) {
Ok(ok__) => {
retrievedproperties.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SaveProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, propertiestosave: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStorageProviderPropertyHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStorageProviderPropertyHandler_Impl::SaveProperties(this, windows_core::from_raw_borrowed(&propertiestosave)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
RetrieveProperties: RetrieveProperties::<Identity, OFFSET>,
SaveProperties: SaveProperties::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStorageProviderPropertyHandler as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_IO"))]
pub trait IStreamAsync_Impl: Sized + super::super::System::Com::IStream_Impl {
fn ReadAsync(&self, pv: *mut core::ffi::c_void, cb: u32, pcbread: *mut u32, lpoverlapped: *const super::super::System::IO::OVERLAPPED) -> windows_core::Result<()>;
fn WriteAsync(&self, lpbuffer: *const core::ffi::c_void, cb: u32, pcbwritten: *mut u32, lpoverlapped: *const super::super::System::IO::OVERLAPPED) -> windows_core::Result<()>;
fn OverlappedResult(&self, lpoverlapped: *const super::super::System::IO::OVERLAPPED, lpnumberofbytestransferred: *mut u32, bwait: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn CancelIo(&self) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_IO"))]
impl windows_core::RuntimeName for IStreamAsync {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_IO"))]
impl IStreamAsync_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStreamAsync_Vtbl
where
Identity: IStreamAsync_Impl,
{
unsafe extern "system" fn ReadAsync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pv: *mut core::ffi::c_void, cb: u32, pcbread: *mut u32, lpoverlapped: *const super::super::System::IO::OVERLAPPED) -> windows_core::HRESULT
where
Identity: IStreamAsync_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStreamAsync_Impl::ReadAsync(this, core::mem::transmute_copy(&pv), core::mem::transmute_copy(&cb), core::mem::transmute_copy(&pcbread), core::mem::transmute_copy(&lpoverlapped)).into()
}
unsafe extern "system" fn WriteAsync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lpbuffer: *const core::ffi::c_void, cb: u32, pcbwritten: *mut u32, lpoverlapped: *const super::super::System::IO::OVERLAPPED) -> windows_core::HRESULT
where
Identity: IStreamAsync_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStreamAsync_Impl::WriteAsync(this, core::mem::transmute_copy(&lpbuffer), core::mem::transmute_copy(&cb), core::mem::transmute_copy(&pcbwritten), core::mem::transmute_copy(&lpoverlapped)).into()
}
unsafe extern "system" fn OverlappedResult<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lpoverlapped: *const super::super::System::IO::OVERLAPPED, lpnumberofbytestransferred: *mut u32, bwait: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IStreamAsync_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStreamAsync_Impl::OverlappedResult(this, core::mem::transmute_copy(&lpoverlapped), core::mem::transmute_copy(&lpnumberofbytestransferred), core::mem::transmute_copy(&bwait)).into()
}
unsafe extern "system" fn CancelIo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IStreamAsync_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IStreamAsync_Impl::CancelIo(this).into()
}
Self {
base__: super::super::System::Com::IStream_Vtbl::new::<Identity, OFFSET>(),
ReadAsync: ReadAsync::<Identity, OFFSET>,
WriteAsync: WriteAsync::<Identity, OFFSET>,
OverlappedResult: OverlappedResult::<Identity, OFFSET>,
CancelIo: CancelIo::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStreamAsync as windows_core::Interface>::IID || iid == &<super::super::System::Com::ISequentialStream as windows_core::Interface>::IID || iid == &<super::super::System::Com::IStream as windows_core::Interface>::IID
}
}
pub trait IStreamUnbufferedInfo_Impl: Sized {
fn GetSectorSize(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for IStreamUnbufferedInfo {}
impl IStreamUnbufferedInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IStreamUnbufferedInfo_Vtbl
where
Identity: IStreamUnbufferedInfo_Impl,
{
unsafe extern "system" fn GetSectorSize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcbsectorsize: *mut u32) -> windows_core::HRESULT
where
Identity: IStreamUnbufferedInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IStreamUnbufferedInfo_Impl::GetSectorSize(this) {
Ok(ok__) => {
pcbsectorsize.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetSectorSize: GetSectorSize::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IStreamUnbufferedInfo as windows_core::Interface>::IID
}
}
pub trait ISuspensionDependencyManager_Impl: Sized {
fn RegisterAsChild(&self, processhandle: super::super::Foundation::HANDLE) -> windows_core::Result<()>;
fn GroupChildWithParent(&self, childprocesshandle: super::super::Foundation::HANDLE) -> windows_core::Result<()>;
fn UngroupChildFromParent(&self, childprocesshandle: super::super::Foundation::HANDLE) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISuspensionDependencyManager {}
impl ISuspensionDependencyManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISuspensionDependencyManager_Vtbl
where
Identity: ISuspensionDependencyManager_Impl,
{
unsafe extern "system" fn RegisterAsChild<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, processhandle: super::super::Foundation::HANDLE) -> windows_core::HRESULT
where
Identity: ISuspensionDependencyManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISuspensionDependencyManager_Impl::RegisterAsChild(this, core::mem::transmute_copy(&processhandle)).into()
}
unsafe extern "system" fn GroupChildWithParent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, childprocesshandle: super::super::Foundation::HANDLE) -> windows_core::HRESULT
where
Identity: ISuspensionDependencyManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISuspensionDependencyManager_Impl::GroupChildWithParent(this, core::mem::transmute_copy(&childprocesshandle)).into()
}
unsafe extern "system" fn UngroupChildFromParent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, childprocesshandle: super::super::Foundation::HANDLE) -> windows_core::HRESULT
where
Identity: ISuspensionDependencyManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISuspensionDependencyManager_Impl::UngroupChildFromParent(this, core::mem::transmute_copy(&childprocesshandle)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
RegisterAsChild: RegisterAsChild::<Identity, OFFSET>,
GroupChildWithParent: GroupChildWithParent::<Identity, OFFSET>,
UngroupChildFromParent: UngroupChildFromParent::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISuspensionDependencyManager as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
pub trait ISyncMgrConflict_Impl: Sized {
fn GetProperty(&self, propkey: *const PropertiesSystem::PROPERTYKEY) -> windows_core::Result<windows_core::PROPVARIANT>;
fn GetConflictIdInfo(&self) -> windows_core::Result<SYNCMGR_CONFLICT_ID_INFO>;
fn GetItemsArray(&self) -> windows_core::Result<ISyncMgrConflictItems>;
fn Resolve(&self, presolveinfo: Option<&ISyncMgrConflictResolveInfo>) -> windows_core::Result<()>;
fn GetResolutionHandler(&self, riid: *const windows_core::GUID, ppvresolutionhandler: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl windows_core::RuntimeName for ISyncMgrConflict {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_PropertiesSystem"))]
impl ISyncMgrConflict_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflict_Vtbl
where
Identity: ISyncMgrConflict_Impl,
{
unsafe extern "system" fn GetProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, propkey: *const PropertiesSystem::PROPERTYKEY, ppropvar: *mut core::mem::MaybeUninit<windows_core::PROPVARIANT>) -> windows_core::HRESULT
where
Identity: ISyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflict_Impl::GetProperty(this, core::mem::transmute_copy(&propkey)) {
Ok(ok__) => {
ppropvar.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetConflictIdInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pconflictidinfo: *mut SYNCMGR_CONFLICT_ID_INFO) -> windows_core::HRESULT
where
Identity: ISyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflict_Impl::GetConflictIdInfo(this) {
Ok(ok__) => {
pconflictidinfo.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemsArray<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pparray: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflict_Impl::GetItemsArray(this) {
Ok(ok__) => {
pparray.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Resolve<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, presolveinfo: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflict_Impl::Resolve(this, windows_core::from_raw_borrowed(&presolveinfo)).into()
}
unsafe extern "system" fn GetResolutionHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppvresolutionhandler: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrConflict_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflict_Impl::GetResolutionHandler(this, core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppvresolutionhandler)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetProperty: GetProperty::<Identity, OFFSET>,
GetConflictIdInfo: GetConflictIdInfo::<Identity, OFFSET>,
GetItemsArray: GetItemsArray::<Identity, OFFSET>,
Resolve: Resolve::<Identity, OFFSET>,
GetResolutionHandler: GetResolutionHandler::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflict as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait ISyncMgrConflictFolder_Impl: Sized {
fn GetConflictIDList(&self, pconflict: Option<&ISyncMgrConflict>) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for ISyncMgrConflictFolder {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl ISyncMgrConflictFolder_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflictFolder_Vtbl
where
Identity: ISyncMgrConflictFolder_Impl,
{
unsafe extern "system" fn GetConflictIDList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pconflict: *mut core::ffi::c_void, ppidlconflict: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictFolder_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictFolder_Impl::GetConflictIDList(this, windows_core::from_raw_borrowed(&pconflict)) {
Ok(ok__) => {
ppidlconflict.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetConflictIDList: GetConflictIDList::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflictFolder as windows_core::Interface>::IID
}
}
pub trait ISyncMgrConflictItems_Impl: Sized {
fn GetCount(&self) -> windows_core::Result<u32>;
fn GetItem(&self, iindex: u32, piteminfo: *mut CONFIRM_CONFLICT_ITEM) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrConflictItems {}
impl ISyncMgrConflictItems_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflictItems_Vtbl
where
Identity: ISyncMgrConflictItems_Impl,
{
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcount: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictItems_Impl::GetCount(this) {
Ok(ok__) => {
pcount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iindex: u32, piteminfo: *mut CONFIRM_CONFLICT_ITEM) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictItems_Impl::GetItem(this, core::mem::transmute_copy(&iindex), core::mem::transmute_copy(&piteminfo)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetCount: GetCount::<Identity, OFFSET>, GetItem: GetItem::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflictItems as windows_core::Interface>::IID
}
}
pub trait ISyncMgrConflictPresenter_Impl: Sized {
fn PresentConflict(&self, pconflict: Option<&ISyncMgrConflict>, presolveinfo: Option<&ISyncMgrConflictResolveInfo>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrConflictPresenter {}
impl ISyncMgrConflictPresenter_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflictPresenter_Vtbl
where
Identity: ISyncMgrConflictPresenter_Impl,
{
unsafe extern "system" fn PresentConflict<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pconflict: *mut core::ffi::c_void, presolveinfo: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictPresenter_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictPresenter_Impl::PresentConflict(this, windows_core::from_raw_borrowed(&pconflict), windows_core::from_raw_borrowed(&presolveinfo)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), PresentConflict: PresentConflict::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflictPresenter as windows_core::Interface>::IID
}
}
pub trait ISyncMgrConflictResolutionItems_Impl: Sized {
fn GetCount(&self) -> windows_core::Result<u32>;
fn GetItem(&self, iindex: u32) -> windows_core::Result<CONFIRM_CONFLICT_RESULT_INFO>;
}
impl windows_core::RuntimeName for ISyncMgrConflictResolutionItems {}
impl ISyncMgrConflictResolutionItems_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflictResolutionItems_Vtbl
where
Identity: ISyncMgrConflictResolutionItems_Impl,
{
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcount: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolutionItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictResolutionItems_Impl::GetCount(this) {
Ok(ok__) => {
pcount.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, iindex: u32, piteminfo: *mut CONFIRM_CONFLICT_RESULT_INFO) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolutionItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictResolutionItems_Impl::GetItem(this, core::mem::transmute_copy(&iindex)) {
Ok(ok__) => {
piteminfo.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetCount: GetCount::<Identity, OFFSET>, GetItem: GetItem::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflictResolutionItems as windows_core::Interface>::IID
}
}
pub trait ISyncMgrConflictResolveInfo_Impl: Sized {
fn GetIterationInfo(&self, pncurrentconflict: *mut u32, pcconflicts: *mut u32, pcremainingforapplytoall: *mut u32) -> windows_core::Result<()>;
fn GetPresenterNextStep(&self) -> windows_core::Result<SYNCMGR_PRESENTER_NEXT_STEP>;
fn GetPresenterChoice(&self, pnpresenterchoice: *mut SYNCMGR_PRESENTER_CHOICE, pfapplytoall: *mut super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetItemChoiceCount(&self) -> windows_core::Result<u32>;
fn GetItemChoice(&self, ichoice: u32) -> windows_core::Result<u32>;
fn SetPresenterNextStep(&self, npresenternextstep: SYNCMGR_PRESENTER_NEXT_STEP) -> windows_core::Result<()>;
fn SetPresenterChoice(&self, npresenterchoice: SYNCMGR_PRESENTER_CHOICE, fapplytoall: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn SetItemChoices(&self, prgiconflictitemindexes: *mut u32, cchoices: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrConflictResolveInfo {}
impl ISyncMgrConflictResolveInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflictResolveInfo_Vtbl
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
unsafe extern "system" fn GetIterationInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pncurrentconflict: *mut u32, pcconflicts: *mut u32, pcremainingforapplytoall: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictResolveInfo_Impl::GetIterationInfo(this, core::mem::transmute_copy(&pncurrentconflict), core::mem::transmute_copy(&pcconflicts), core::mem::transmute_copy(&pcremainingforapplytoall)).into()
}
unsafe extern "system" fn GetPresenterNextStep<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnpresenternextstep: *mut SYNCMGR_PRESENTER_NEXT_STEP) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictResolveInfo_Impl::GetPresenterNextStep(this) {
Ok(ok__) => {
pnpresenternextstep.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPresenterChoice<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnpresenterchoice: *mut SYNCMGR_PRESENTER_CHOICE, pfapplytoall: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictResolveInfo_Impl::GetPresenterChoice(this, core::mem::transmute_copy(&pnpresenterchoice), core::mem::transmute_copy(&pfapplytoall)).into()
}
unsafe extern "system" fn GetItemChoiceCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcchoices: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictResolveInfo_Impl::GetItemChoiceCount(this) {
Ok(ok__) => {
pcchoices.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemChoice<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ichoice: u32, pichoiceindex: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictResolveInfo_Impl::GetItemChoice(this, core::mem::transmute_copy(&ichoice)) {
Ok(ok__) => {
pichoiceindex.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetPresenterNextStep<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, npresenternextstep: SYNCMGR_PRESENTER_NEXT_STEP) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictResolveInfo_Impl::SetPresenterNextStep(this, core::mem::transmute_copy(&npresenternextstep)).into()
}
unsafe extern "system" fn SetPresenterChoice<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, npresenterchoice: SYNCMGR_PRESENTER_CHOICE, fapplytoall: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictResolveInfo_Impl::SetPresenterChoice(this, core::mem::transmute_copy(&npresenterchoice), core::mem::transmute_copy(&fapplytoall)).into()
}
unsafe extern "system" fn SetItemChoices<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, prgiconflictitemindexes: *mut u32, cchoices: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictResolveInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictResolveInfo_Impl::SetItemChoices(this, core::mem::transmute_copy(&prgiconflictitemindexes), core::mem::transmute_copy(&cchoices)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetIterationInfo: GetIterationInfo::<Identity, OFFSET>,
GetPresenterNextStep: GetPresenterNextStep::<Identity, OFFSET>,
GetPresenterChoice: GetPresenterChoice::<Identity, OFFSET>,
GetItemChoiceCount: GetItemChoiceCount::<Identity, OFFSET>,
GetItemChoice: GetItemChoice::<Identity, OFFSET>,
SetPresenterNextStep: SetPresenterNextStep::<Identity, OFFSET>,
SetPresenterChoice: SetPresenterChoice::<Identity, OFFSET>,
SetItemChoices: SetItemChoices::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflictResolveInfo as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait ISyncMgrConflictStore_Impl: Sized {
fn EnumConflicts(&self, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR) -> windows_core::Result<IEnumSyncMgrConflict>;
fn BindToConflict(&self, pconflictidinfo: *const SYNCMGR_CONFLICT_ID_INFO, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn RemoveConflicts(&self, rgconflictidinfo: *const SYNCMGR_CONFLICT_ID_INFO, cconflicts: u32) -> windows_core::Result<()>;
fn GetCount(&self, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR) -> windows_core::Result<u32>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for ISyncMgrConflictStore {}
#[cfg(feature = "Win32_System_Com")]
impl ISyncMgrConflictStore_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrConflictStore_Vtbl
where
Identity: ISyncMgrConflictStore_Impl,
{
unsafe extern "system" fn EnumConflicts<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictStore_Impl::EnumConflicts(this, core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid)) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn BindToConflict<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pconflictidinfo: *const SYNCMGR_CONFLICT_ID_INFO, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictStore_Impl::BindToConflict(this, core::mem::transmute_copy(&pconflictidinfo), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn RemoveConflicts<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rgconflictidinfo: *const SYNCMGR_CONFLICT_ID_INFO, cconflicts: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrConflictStore_Impl::RemoveConflicts(this, core::mem::transmute_copy(&rgconflictidinfo), core::mem::transmute_copy(&cconflicts)).into()
}
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, pnconflicts: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrConflictStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrConflictStore_Impl::GetCount(this, core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid)) {
Ok(ok__) => {
pnconflicts.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
EnumConflicts: EnumConflicts::<Identity, OFFSET>,
BindToConflict: BindToConflict::<Identity, OFFSET>,
RemoveConflicts: RemoveConflicts::<Identity, OFFSET>,
GetCount: GetCount::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrConflictStore as windows_core::Interface>::IID
}
}
pub trait ISyncMgrControl_Impl: Sized {
fn StartHandlerSync(&self, pszhandlerid: &windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, punk: Option<&windows_core::IUnknown>, nsynccontrolflags: SYNCMGR_SYNC_CONTROL_FLAGS, presult: Option<&ISyncMgrSyncResult>) -> windows_core::Result<()>;
fn StartItemSync(&self, pszhandlerid: &windows_core::PCWSTR, ppszitemids: *const windows_core::PCWSTR, citems: u32, hwndowner: super::super::Foundation::HWND, punk: Option<&windows_core::IUnknown>, nsynccontrolflags: SYNCMGR_SYNC_CONTROL_FLAGS, presult: Option<&ISyncMgrSyncResult>) -> windows_core::Result<()>;
fn StartSyncAll(&self, hwndowner: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn StopHandlerSync(&self, pszhandlerid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn StopItemSync(&self, pszhandlerid: &windows_core::PCWSTR, ppszitemids: *const windows_core::PCWSTR, citems: u32) -> windows_core::Result<()>;
fn StopSyncAll(&self) -> windows_core::Result<()>;
fn UpdateHandlerCollection(&self, rclsidcollectionid: *const windows_core::GUID, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn UpdateHandler(&self, pszhandlerid: &windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn UpdateItem(&self, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn UpdateEvents(&self, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn UpdateConflict(&self, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR, pconflict: Option<&ISyncMgrConflict>, nreason: SYNCMGR_UPDATE_REASON) -> windows_core::Result<()>;
fn UpdateConflicts(&self, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn ActivateHandler(&self, factivate: super::super::Foundation::BOOL, pszhandlerid: &windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn EnableHandler(&self, fenable: super::super::Foundation::BOOL, pszhandlerid: &windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
fn EnableItem(&self, fenable: super::super::Foundation::BOOL, pszhandlerid: &windows_core::PCWSTR, pszitemid: &windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrControl {}
impl ISyncMgrControl_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrControl_Vtbl
where
Identity: ISyncMgrControl_Impl,
{
unsafe extern "system" fn StartHandlerSync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, punk: *mut core::ffi::c_void, nsynccontrolflags: SYNCMGR_SYNC_CONTROL_FLAGS, presult: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::StartHandlerSync(this, core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&hwndowner), windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&nsynccontrolflags), windows_core::from_raw_borrowed(&presult)).into()
}
unsafe extern "system" fn StartItemSync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, ppszitemids: *const windows_core::PCWSTR, citems: u32, hwndowner: super::super::Foundation::HWND, punk: *mut core::ffi::c_void, nsynccontrolflags: SYNCMGR_SYNC_CONTROL_FLAGS, presult: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::StartItemSync(this, core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&ppszitemids), core::mem::transmute_copy(&citems), core::mem::transmute_copy(&hwndowner), windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&nsynccontrolflags), windows_core::from_raw_borrowed(&presult)).into()
}
unsafe extern "system" fn StartSyncAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::StartSyncAll(this, core::mem::transmute_copy(&hwndowner)).into()
}
unsafe extern "system" fn StopHandlerSync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::StopHandlerSync(this, core::mem::transmute(&pszhandlerid)).into()
}
unsafe extern "system" fn StopItemSync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, ppszitemids: *const windows_core::PCWSTR, citems: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::StopItemSync(this, core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&ppszitemids), core::mem::transmute_copy(&citems)).into()
}
unsafe extern "system" fn StopSyncAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::StopSyncAll(this).into()
}
unsafe extern "system" fn UpdateHandlerCollection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rclsidcollectionid: *const windows_core::GUID, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::UpdateHandlerCollection(this, core::mem::transmute_copy(&rclsidcollectionid), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn UpdateHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::UpdateHandler(this, core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn UpdateItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::UpdateItem(this, core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn UpdateEvents<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::UpdateEvents(this, core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn UpdateConflict<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, pconflict: *mut core::ffi::c_void, nreason: SYNCMGR_UPDATE_REASON) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::UpdateConflict(this, core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid), windows_core::from_raw_borrowed(&pconflict), core::mem::transmute_copy(&nreason)).into()
}
unsafe extern "system" fn UpdateConflicts<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::UpdateConflicts(this, core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn ActivateHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, factivate: super::super::Foundation::BOOL, pszhandlerid: windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::ActivateHandler(this, core::mem::transmute_copy(&factivate), core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&hwndowner), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn EnableHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL, pszhandlerid: windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::EnableHandler(this, core::mem::transmute_copy(&fenable), core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&hwndowner), core::mem::transmute_copy(&ncontrolflags)).into()
}
unsafe extern "system" fn EnableItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL, pszhandlerid: windows_core::PCWSTR, pszitemid: windows_core::PCWSTR, hwndowner: super::super::Foundation::HWND, ncontrolflags: SYNCMGR_CONTROL_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrControl_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrControl_Impl::EnableItem(this, core::mem::transmute_copy(&fenable), core::mem::transmute(&pszhandlerid), core::mem::transmute(&pszitemid), core::mem::transmute_copy(&hwndowner), core::mem::transmute_copy(&ncontrolflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
StartHandlerSync: StartHandlerSync::<Identity, OFFSET>,
StartItemSync: StartItemSync::<Identity, OFFSET>,
StartSyncAll: StartSyncAll::<Identity, OFFSET>,
StopHandlerSync: StopHandlerSync::<Identity, OFFSET>,
StopItemSync: StopItemSync::<Identity, OFFSET>,
StopSyncAll: StopSyncAll::<Identity, OFFSET>,
UpdateHandlerCollection: UpdateHandlerCollection::<Identity, OFFSET>,
UpdateHandler: UpdateHandler::<Identity, OFFSET>,
UpdateItem: UpdateItem::<Identity, OFFSET>,
UpdateEvents: UpdateEvents::<Identity, OFFSET>,
UpdateConflict: UpdateConflict::<Identity, OFFSET>,
UpdateConflicts: UpdateConflicts::<Identity, OFFSET>,
ActivateHandler: ActivateHandler::<Identity, OFFSET>,
EnableHandler: EnableHandler::<Identity, OFFSET>,
EnableItem: EnableItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrControl as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait ISyncMgrEnumItems_Impl: Sized {
fn Next(&self, celt: u32, rgelt: *mut SYNCMGRITEM, 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<ISyncMgrEnumItems>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for ISyncMgrEnumItems {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl ISyncMgrEnumItems_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrEnumItems_Vtbl
where
Identity: ISyncMgrEnumItems_Impl,
{
unsafe extern "system" fn Next<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32, rgelt: *mut SYNCMGRITEM, pceltfetched: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrEnumItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrEnumItems_Impl::Next(this, core::mem::transmute_copy(&celt), core::mem::transmute_copy(&rgelt), core::mem::transmute_copy(&pceltfetched)).into()
}
unsafe extern "system" fn Skip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, celt: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrEnumItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrEnumItems_Impl::Skip(this, core::mem::transmute_copy(&celt)).into()
}
unsafe extern "system" fn Reset<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrEnumItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrEnumItems_Impl::Reset(this).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrEnumItems_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEnumItems_Impl::Clone(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Next: Next::<Identity, OFFSET>,
Skip: Skip::<Identity, OFFSET>,
Reset: Reset::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrEnumItems as windows_core::Interface>::IID
}
}
pub trait ISyncMgrEvent_Impl: Sized {
fn GetEventID(&self) -> windows_core::Result<windows_core::GUID>;
fn GetHandlerID(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetItemID(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetLevel(&self) -> windows_core::Result<SYNCMGR_EVENT_LEVEL>;
fn GetFlags(&self) -> windows_core::Result<SYNCMGR_EVENT_FLAGS>;
fn GetTime(&self) -> windows_core::Result<super::super::Foundation::FILETIME>;
fn GetName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetDescription(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetLinkText(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetLinkReference(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetContext(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for ISyncMgrEvent {}
impl ISyncMgrEvent_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrEvent_Vtbl
where
Identity: ISyncMgrEvent_Impl,
{
unsafe extern "system" fn GetEventID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguideventid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetEventID(this) {
Ok(ok__) => {
pguideventid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHandlerID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszhandlerid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetHandlerID(this) {
Ok(ok__) => {
ppszhandlerid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszitemid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetItemID(this) {
Ok(ok__) => {
ppszitemid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLevel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnlevel: *mut SYNCMGR_EVENT_LEVEL) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetLevel(this) {
Ok(ok__) => {
pnlevel.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetFlags<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnflags: *mut SYNCMGR_EVENT_FLAGS) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetFlags(this) {
Ok(ok__) => {
pnflags.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfcreationtime: *mut super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetTime(this) {
Ok(ok__) => {
pfcreationtime.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetName(this) {
Ok(ok__) => {
ppszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDescription<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszdescription: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetDescription(this) {
Ok(ok__) => {
ppszdescription.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLinkText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszlinktext: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetLinkText(this) {
Ok(ok__) => {
ppszlinktext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLinkReference<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszlinkreference: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetLinkReference(this) {
Ok(ok__) => {
ppszlinkreference.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszcontext: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrEvent_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEvent_Impl::GetContext(this) {
Ok(ok__) => {
ppszcontext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventID: GetEventID::<Identity, OFFSET>,
GetHandlerID: GetHandlerID::<Identity, OFFSET>,
GetItemID: GetItemID::<Identity, OFFSET>,
GetLevel: GetLevel::<Identity, OFFSET>,
GetFlags: GetFlags::<Identity, OFFSET>,
GetTime: GetTime::<Identity, OFFSET>,
GetName: GetName::<Identity, OFFSET>,
GetDescription: GetDescription::<Identity, OFFSET>,
GetLinkText: GetLinkText::<Identity, OFFSET>,
GetLinkReference: GetLinkReference::<Identity, OFFSET>,
GetContext: GetContext::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrEvent as windows_core::Interface>::IID
}
}
pub trait ISyncMgrEventLinkUIOperation_Impl: Sized + ISyncMgrUIOperation_Impl {
fn Init(&self, rguideventid: *const windows_core::GUID, pevent: Option<&ISyncMgrEvent>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrEventLinkUIOperation {}
impl ISyncMgrEventLinkUIOperation_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrEventLinkUIOperation_Vtbl
where
Identity: ISyncMgrEventLinkUIOperation_Impl,
{
unsafe extern "system" fn Init<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rguideventid: *const windows_core::GUID, pevent: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrEventLinkUIOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrEventLinkUIOperation_Impl::Init(this, core::mem::transmute_copy(&rguideventid), windows_core::from_raw_borrowed(&pevent)).into()
}
Self { base__: ISyncMgrUIOperation_Vtbl::new::<Identity, OFFSET>(), Init: Init::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrEventLinkUIOperation as windows_core::Interface>::IID || iid == &<ISyncMgrUIOperation as windows_core::Interface>::IID
}
}
pub trait ISyncMgrEventStore_Impl: Sized {
fn GetEventEnumerator(&self) -> windows_core::Result<IEnumSyncMgrEvents>;
fn GetEventCount(&self) -> windows_core::Result<u32>;
fn GetEvent(&self, rguideventid: *const windows_core::GUID) -> windows_core::Result<ISyncMgrEvent>;
fn RemoveEvent(&self, pguideventids: *const windows_core::GUID, cevents: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrEventStore {}
impl ISyncMgrEventStore_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrEventStore_Vtbl
where
Identity: ISyncMgrEventStore_Impl,
{
unsafe extern "system" fn GetEventEnumerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrEventStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEventStore_Impl::GetEventEnumerator(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEventCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcevents: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrEventStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEventStore_Impl::GetEventCount(this) {
Ok(ok__) => {
pcevents.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rguideventid: *const windows_core::GUID, ppevent: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrEventStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrEventStore_Impl::GetEvent(this, core::mem::transmute_copy(&rguideventid)) {
Ok(ok__) => {
ppevent.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pguideventids: *const windows_core::GUID, cevents: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrEventStore_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrEventStore_Impl::RemoveEvent(this, core::mem::transmute_copy(&pguideventids), core::mem::transmute_copy(&cevents)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetEventEnumerator: GetEventEnumerator::<Identity, OFFSET>,
GetEventCount: GetEventCount::<Identity, OFFSET>,
GetEvent: GetEvent::<Identity, OFFSET>,
RemoveEvent: RemoveEvent::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrEventStore as windows_core::Interface>::IID
}
}
pub trait ISyncMgrHandler_Impl: Sized {
fn GetName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetHandlerInfo(&self) -> windows_core::Result<ISyncMgrHandlerInfo>;
fn GetObject(&self, rguidobjectid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetCapabilities(&self) -> windows_core::Result<SYNCMGR_HANDLER_CAPABILITIES>;
fn GetPolicies(&self) -> windows_core::Result<SYNCMGR_HANDLER_POLICIES>;
fn Activate(&self, factivate: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn Enable(&self, fenable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn Synchronize(&self, ppszitemids: *const windows_core::PCWSTR, citems: u32, hwndowner: super::super::Foundation::HWND, psessioncreator: Option<&ISyncMgrSessionCreator>, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrHandler {}
impl ISyncMgrHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrHandler_Vtbl
where
Identity: ISyncMgrHandler_Impl,
{
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandler_Impl::GetName(this) {
Ok(ok__) => {
ppszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetHandlerInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pphandlerinfo: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandler_Impl::GetHandlerInfo(this) {
Ok(ok__) => {
pphandlerinfo.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rguidobjectid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandler_Impl::GetObject(this, core::mem::transmute_copy(&rguidobjectid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetCapabilities<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmcapabilities: *mut SYNCMGR_HANDLER_CAPABILITIES) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandler_Impl::GetCapabilities(this) {
Ok(ok__) => {
pmcapabilities.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPolicies<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmpolicies: *mut SYNCMGR_HANDLER_POLICIES) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandler_Impl::GetPolicies(this) {
Ok(ok__) => {
pmpolicies.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Activate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, factivate: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandler_Impl::Activate(this, core::mem::transmute_copy(&factivate)).into()
}
unsafe extern "system" fn Enable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandler_Impl::Enable(this, core::mem::transmute_copy(&fenable)).into()
}
unsafe extern "system" fn Synchronize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszitemids: *const windows_core::PCWSTR, citems: u32, hwndowner: super::super::Foundation::HWND, psessioncreator: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandler_Impl::Synchronize(this, core::mem::transmute_copy(&ppszitemids), core::mem::transmute_copy(&citems), core::mem::transmute_copy(&hwndowner), windows_core::from_raw_borrowed(&psessioncreator), windows_core::from_raw_borrowed(&punk)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetName: GetName::<Identity, OFFSET>,
GetHandlerInfo: GetHandlerInfo::<Identity, OFFSET>,
GetObject: GetObject::<Identity, OFFSET>,
GetCapabilities: GetCapabilities::<Identity, OFFSET>,
GetPolicies: GetPolicies::<Identity, OFFSET>,
Activate: Activate::<Identity, OFFSET>,
Enable: Enable::<Identity, OFFSET>,
Synchronize: Synchronize::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrHandler as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait ISyncMgrHandlerCollection_Impl: Sized {
fn GetHandlerEnumerator(&self) -> windows_core::Result<super::super::System::Com::IEnumString>;
fn BindToHandler(&self, pszhandlerid: &windows_core::PCWSTR, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for ISyncMgrHandlerCollection {}
#[cfg(feature = "Win32_System_Com")]
impl ISyncMgrHandlerCollection_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrHandlerCollection_Vtbl
where
Identity: ISyncMgrHandlerCollection_Impl,
{
unsafe extern "system" fn GetHandlerEnumerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerCollection_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandlerCollection_Impl::GetHandlerEnumerator(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn BindToHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerCollection_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandlerCollection_Impl::BindToHandler(this, core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetHandlerEnumerator: GetHandlerEnumerator::<Identity, OFFSET>,
BindToHandler: BindToHandler::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrHandlerCollection as windows_core::Interface>::IID
}
}
pub trait ISyncMgrHandlerInfo_Impl: Sized {
fn GetType(&self) -> windows_core::Result<SYNCMGR_HANDLER_TYPE>;
fn GetTypeLabel(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetComment(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetLastSyncTime(&self) -> windows_core::Result<super::super::Foundation::FILETIME>;
fn IsActive(&self) -> windows_core::Result<()>;
fn IsEnabled(&self) -> windows_core::Result<()>;
fn IsConnected(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrHandlerInfo {}
impl ISyncMgrHandlerInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrHandlerInfo_Vtbl
where
Identity: ISyncMgrHandlerInfo_Impl,
{
unsafe extern "system" fn GetType<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pntype: *mut SYNCMGR_HANDLER_TYPE) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandlerInfo_Impl::GetType(this) {
Ok(ok__) => {
pntype.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetTypeLabel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsztypelabel: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandlerInfo_Impl::GetTypeLabel(this) {
Ok(ok__) => {
ppsztypelabel.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComment<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszcomment: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandlerInfo_Impl::GetComment(this) {
Ok(ok__) => {
ppszcomment.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastSyncTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pftlastsync: *mut super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrHandlerInfo_Impl::GetLastSyncTime(this) {
Ok(ok__) => {
pftlastsync.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsActive<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandlerInfo_Impl::IsActive(this).into()
}
unsafe extern "system" fn IsEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandlerInfo_Impl::IsEnabled(this).into()
}
unsafe extern "system" fn IsConnected<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrHandlerInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrHandlerInfo_Impl::IsConnected(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetType: GetType::<Identity, OFFSET>,
GetTypeLabel: GetTypeLabel::<Identity, OFFSET>,
GetComment: GetComment::<Identity, OFFSET>,
GetLastSyncTime: GetLastSyncTime::<Identity, OFFSET>,
IsActive: IsActive::<Identity, OFFSET>,
IsEnabled: IsEnabled::<Identity, OFFSET>,
IsConnected: IsConnected::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrHandlerInfo as windows_core::Interface>::IID
}
}
pub trait ISyncMgrRegister_Impl: Sized {
fn RegisterSyncMgrHandler(&self, clsidhandler: *const windows_core::GUID, pwszdescription: &windows_core::PCWSTR, dwsyncmgrregisterflags: u32) -> windows_core::Result<()>;
fn UnregisterSyncMgrHandler(&self, clsidhandler: *const windows_core::GUID, dwreserved: u32) -> windows_core::Result<()>;
fn GetHandlerRegistrationInfo(&self, clsidhandler: *const windows_core::GUID, pdwsyncmgrregisterflags: *mut u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrRegister {}
impl ISyncMgrRegister_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrRegister_Vtbl
where
Identity: ISyncMgrRegister_Impl,
{
unsafe extern "system" fn RegisterSyncMgrHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsidhandler: *const windows_core::GUID, pwszdescription: windows_core::PCWSTR, dwsyncmgrregisterflags: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrRegister_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrRegister_Impl::RegisterSyncMgrHandler(this, core::mem::transmute_copy(&clsidhandler), core::mem::transmute(&pwszdescription), core::mem::transmute_copy(&dwsyncmgrregisterflags)).into()
}
unsafe extern "system" fn UnregisterSyncMgrHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsidhandler: *const windows_core::GUID, dwreserved: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrRegister_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrRegister_Impl::UnregisterSyncMgrHandler(this, core::mem::transmute_copy(&clsidhandler), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn GetHandlerRegistrationInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsidhandler: *const windows_core::GUID, pdwsyncmgrregisterflags: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrRegister_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrRegister_Impl::GetHandlerRegistrationInfo(this, core::mem::transmute_copy(&clsidhandler), core::mem::transmute_copy(&pdwsyncmgrregisterflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
RegisterSyncMgrHandler: RegisterSyncMgrHandler::<Identity, OFFSET>,
UnregisterSyncMgrHandler: UnregisterSyncMgrHandler::<Identity, OFFSET>,
GetHandlerRegistrationInfo: GetHandlerRegistrationInfo::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrRegister as windows_core::Interface>::IID
}
}
pub trait ISyncMgrResolutionHandler_Impl: Sized {
fn QueryAbilities(&self) -> windows_core::Result<u32>;
fn KeepOther(&self, psiother: Option<&IShellItem>) -> windows_core::Result<SYNCMGR_RESOLUTION_FEEDBACK>;
fn KeepRecent(&self) -> windows_core::Result<SYNCMGR_RESOLUTION_FEEDBACK>;
fn RemoveFromSyncSet(&self) -> windows_core::Result<SYNCMGR_RESOLUTION_FEEDBACK>;
fn KeepItems(&self, parray: Option<&ISyncMgrConflictResolutionItems>) -> windows_core::Result<SYNCMGR_RESOLUTION_FEEDBACK>;
}
impl windows_core::RuntimeName for ISyncMgrResolutionHandler {}
impl ISyncMgrResolutionHandler_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrResolutionHandler_Vtbl
where
Identity: ISyncMgrResolutionHandler_Impl,
{
unsafe extern "system" fn QueryAbilities<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pdwabilities: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrResolutionHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrResolutionHandler_Impl::QueryAbilities(this) {
Ok(ok__) => {
pdwabilities.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn KeepOther<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psiother: *mut core::ffi::c_void, pfeedback: *mut SYNCMGR_RESOLUTION_FEEDBACK) -> windows_core::HRESULT
where
Identity: ISyncMgrResolutionHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrResolutionHandler_Impl::KeepOther(this, windows_core::from_raw_borrowed(&psiother)) {
Ok(ok__) => {
pfeedback.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn KeepRecent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfeedback: *mut SYNCMGR_RESOLUTION_FEEDBACK) -> windows_core::HRESULT
where
Identity: ISyncMgrResolutionHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrResolutionHandler_Impl::KeepRecent(this) {
Ok(ok__) => {
pfeedback.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveFromSyncSet<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pfeedback: *mut SYNCMGR_RESOLUTION_FEEDBACK) -> windows_core::HRESULT
where
Identity: ISyncMgrResolutionHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrResolutionHandler_Impl::RemoveFromSyncSet(this) {
Ok(ok__) => {
pfeedback.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn KeepItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, parray: *mut core::ffi::c_void, pfeedback: *mut SYNCMGR_RESOLUTION_FEEDBACK) -> windows_core::HRESULT
where
Identity: ISyncMgrResolutionHandler_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrResolutionHandler_Impl::KeepItems(this, windows_core::from_raw_borrowed(&parray)) {
Ok(ok__) => {
pfeedback.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
QueryAbilities: QueryAbilities::<Identity, OFFSET>,
KeepOther: KeepOther::<Identity, OFFSET>,
KeepRecent: KeepRecent::<Identity, OFFSET>,
RemoveFromSyncSet: RemoveFromSyncSet::<Identity, OFFSET>,
KeepItems: KeepItems::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrResolutionHandler as windows_core::Interface>::IID
}
}
pub trait ISyncMgrScheduleWizardUIOperation_Impl: Sized + ISyncMgrUIOperation_Impl {
fn InitWizard(&self, pszhandlerid: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrScheduleWizardUIOperation {}
impl ISyncMgrScheduleWizardUIOperation_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrScheduleWizardUIOperation_Vtbl
where
Identity: ISyncMgrScheduleWizardUIOperation_Impl,
{
unsafe extern "system" fn InitWizard<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrScheduleWizardUIOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrScheduleWizardUIOperation_Impl::InitWizard(this, core::mem::transmute(&pszhandlerid)).into()
}
Self { base__: ISyncMgrUIOperation_Vtbl::new::<Identity, OFFSET>(), InitWizard: InitWizard::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrScheduleWizardUIOperation as windows_core::Interface>::IID || iid == &<ISyncMgrUIOperation as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSessionCreator_Impl: Sized {
fn CreateSession(&self, pszhandlerid: &windows_core::PCWSTR, ppszitemids: *const windows_core::PCWSTR, citems: u32) -> windows_core::Result<ISyncMgrSyncCallback>;
}
impl windows_core::RuntimeName for ISyncMgrSessionCreator {}
impl ISyncMgrSessionCreator_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSessionCreator_Vtbl
where
Identity: ISyncMgrSessionCreator_Impl,
{
unsafe extern "system" fn CreateSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszhandlerid: windows_core::PCWSTR, ppszitemids: *const windows_core::PCWSTR, citems: u32, ppcallback: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSessionCreator_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSessionCreator_Impl::CreateSession(this, core::mem::transmute(&pszhandlerid), core::mem::transmute_copy(&ppszitemids), core::mem::transmute_copy(&citems)) {
Ok(ok__) => {
ppcallback.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateSession: CreateSession::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSessionCreator as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait ISyncMgrSyncCallback_Impl: Sized {
fn ReportProgress(&self, pszitemid: &windows_core::PCWSTR, pszprogresstext: &windows_core::PCWSTR, nstatus: SYNCMGR_PROGRESS_STATUS, ucurrentstep: u32, umaxstep: u32, pncancelrequest: *mut SYNCMGR_CANCEL_REQUEST) -> windows_core::Result<()>;
fn SetHandlerProgressText(&self, pszprogresstext: &windows_core::PCWSTR, pncancelrequest: *mut SYNCMGR_CANCEL_REQUEST) -> windows_core::Result<()>;
fn ReportEvent(&self, pszitemid: &windows_core::PCWSTR, nlevel: SYNCMGR_EVENT_LEVEL, nflags: SYNCMGR_EVENT_FLAGS, pszname: &windows_core::PCWSTR, pszdescription: &windows_core::PCWSTR, pszlinktext: &windows_core::PCWSTR, pszlinkreference: &windows_core::PCWSTR, pszcontext: &windows_core::PCWSTR) -> windows_core::Result<windows_core::GUID>;
fn CanContinue(&self, pszitemid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn QueryForAdditionalItems(&self, ppenumitemids: *mut Option<super::super::System::Com::IEnumString>, ppenumpunks: *mut Option<super::super::System::Com::IEnumUnknown>) -> windows_core::Result<()>;
fn AddItemToSession(&self, pszitemid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn AddIUnknownToSession(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn ProposeItem(&self, pnewitem: Option<&ISyncMgrSyncItem>) -> windows_core::Result<()>;
fn CommitItem(&self, pszitemid: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn ReportManualSync(&self) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for ISyncMgrSyncCallback {}
#[cfg(feature = "Win32_System_Com")]
impl ISyncMgrSyncCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSyncCallback_Vtbl
where
Identity: ISyncMgrSyncCallback_Impl,
{
unsafe extern "system" fn ReportProgress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszitemid: windows_core::PCWSTR, pszprogresstext: windows_core::PCWSTR, nstatus: SYNCMGR_PROGRESS_STATUS, ucurrentstep: u32, umaxstep: u32, pncancelrequest: *mut SYNCMGR_CANCEL_REQUEST) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::ReportProgress(this, core::mem::transmute(&pszitemid), core::mem::transmute(&pszprogresstext), core::mem::transmute_copy(&nstatus), core::mem::transmute_copy(&ucurrentstep), core::mem::transmute_copy(&umaxstep), core::mem::transmute_copy(&pncancelrequest)).into()
}
unsafe extern "system" fn SetHandlerProgressText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszprogresstext: windows_core::PCWSTR, pncancelrequest: *mut SYNCMGR_CANCEL_REQUEST) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::SetHandlerProgressText(this, core::mem::transmute(&pszprogresstext), core::mem::transmute_copy(&pncancelrequest)).into()
}
unsafe extern "system" fn ReportEvent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszitemid: windows_core::PCWSTR, nlevel: SYNCMGR_EVENT_LEVEL, nflags: SYNCMGR_EVENT_FLAGS, pszname: windows_core::PCWSTR, pszdescription: windows_core::PCWSTR, pszlinktext: windows_core::PCWSTR, pszlinkreference: windows_core::PCWSTR, pszcontext: windows_core::PCWSTR, pguideventid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncCallback_Impl::ReportEvent(this, core::mem::transmute(&pszitemid), core::mem::transmute_copy(&nlevel), core::mem::transmute_copy(&nflags), core::mem::transmute(&pszname), core::mem::transmute(&pszdescription), core::mem::transmute(&pszlinktext), core::mem::transmute(&pszlinkreference), core::mem::transmute(&pszcontext)) {
Ok(ok__) => {
pguideventid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CanContinue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszitemid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::CanContinue(this, core::mem::transmute(&pszitemid)).into()
}
unsafe extern "system" fn QueryForAdditionalItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenumitemids: *mut *mut core::ffi::c_void, ppenumpunks: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::QueryForAdditionalItems(this, core::mem::transmute_copy(&ppenumitemids), core::mem::transmute_copy(&ppenumpunks)).into()
}
unsafe extern "system" fn AddItemToSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszitemid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::AddItemToSession(this, core::mem::transmute(&pszitemid)).into()
}
unsafe extern "system" fn AddIUnknownToSession<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::AddIUnknownToSession(this, windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn ProposeItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pnewitem: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::ProposeItem(this, windows_core::from_raw_borrowed(&pnewitem)).into()
}
unsafe extern "system" fn CommitItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszitemid: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::CommitItem(this, core::mem::transmute(&pszitemid)).into()
}
unsafe extern "system" fn ReportManualSync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncCallback_Impl::ReportManualSync(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ReportProgress: ReportProgress::<Identity, OFFSET>,
SetHandlerProgressText: SetHandlerProgressText::<Identity, OFFSET>,
ReportEvent: ReportEvent::<Identity, OFFSET>,
CanContinue: CanContinue::<Identity, OFFSET>,
QueryForAdditionalItems: QueryForAdditionalItems::<Identity, OFFSET>,
AddItemToSession: AddItemToSession::<Identity, OFFSET>,
AddIUnknownToSession: AddIUnknownToSession::<Identity, OFFSET>,
ProposeItem: ProposeItem::<Identity, OFFSET>,
CommitItem: CommitItem::<Identity, OFFSET>,
ReportManualSync: ReportManualSync::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSyncCallback as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSyncItem_Impl: Sized {
fn GetItemID(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetName(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetItemInfo(&self) -> windows_core::Result<ISyncMgrSyncItemInfo>;
fn GetObject(&self, rguidobjectid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn GetCapabilities(&self) -> windows_core::Result<SYNCMGR_ITEM_CAPABILITIES>;
fn GetPolicies(&self) -> windows_core::Result<SYNCMGR_ITEM_POLICIES>;
fn Enable(&self, fenable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn Delete(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrSyncItem {}
impl ISyncMgrSyncItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSyncItem_Vtbl
where
Identity: ISyncMgrSyncItem_Impl,
{
unsafe extern "system" fn GetItemID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszitemid: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItem_Impl::GetItemID(this) {
Ok(ok__) => {
ppszitemid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItem_Impl::GetName(this) {
Ok(ok__) => {
ppszname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppiteminfo: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItem_Impl::GetItemInfo(this) {
Ok(ok__) => {
ppiteminfo.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, rguidobjectid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncItem_Impl::GetObject(this, core::mem::transmute_copy(&rguidobjectid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn GetCapabilities<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmcapabilities: *mut SYNCMGR_ITEM_CAPABILITIES) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItem_Impl::GetCapabilities(this) {
Ok(ok__) => {
pmcapabilities.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetPolicies<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmpolicies: *mut SYNCMGR_ITEM_POLICIES) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItem_Impl::GetPolicies(this) {
Ok(ok__) => {
pmpolicies.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Enable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncItem_Impl::Enable(this, core::mem::transmute_copy(&fenable)).into()
}
unsafe extern "system" fn Delete<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItem_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncItem_Impl::Delete(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetItemID: GetItemID::<Identity, OFFSET>,
GetName: GetName::<Identity, OFFSET>,
GetItemInfo: GetItemInfo::<Identity, OFFSET>,
GetObject: GetObject::<Identity, OFFSET>,
GetCapabilities: GetCapabilities::<Identity, OFFSET>,
GetPolicies: GetPolicies::<Identity, OFFSET>,
Enable: Enable::<Identity, OFFSET>,
Delete: Delete::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSyncItem as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSyncItemContainer_Impl: Sized {
fn GetSyncItem(&self, pszitemid: &windows_core::PCWSTR) -> windows_core::Result<ISyncMgrSyncItem>;
fn GetSyncItemEnumerator(&self) -> windows_core::Result<IEnumSyncMgrSyncItems>;
fn GetSyncItemCount(&self) -> windows_core::Result<u32>;
}
impl windows_core::RuntimeName for ISyncMgrSyncItemContainer {}
impl ISyncMgrSyncItemContainer_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSyncItemContainer_Vtbl
where
Identity: ISyncMgrSyncItemContainer_Impl,
{
unsafe extern "system" fn GetSyncItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszitemid: windows_core::PCWSTR, ppitem: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemContainer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItemContainer_Impl::GetSyncItem(this, core::mem::transmute(&pszitemid)) {
Ok(ok__) => {
ppitem.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSyncItemEnumerator<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemContainer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItemContainer_Impl::GetSyncItemEnumerator(this) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetSyncItemCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcitems: *mut u32) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemContainer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItemContainer_Impl::GetSyncItemCount(this) {
Ok(ok__) => {
pcitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetSyncItem: GetSyncItem::<Identity, OFFSET>,
GetSyncItemEnumerator: GetSyncItemEnumerator::<Identity, OFFSET>,
GetSyncItemCount: GetSyncItemCount::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSyncItemContainer as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSyncItemInfo_Impl: Sized {
fn GetTypeLabel(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetComment(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetLastSyncTime(&self) -> windows_core::Result<super::super::Foundation::FILETIME>;
fn IsEnabled(&self) -> windows_core::Result<()>;
fn IsConnected(&self) -> windows_core::HRESULT;
}
impl windows_core::RuntimeName for ISyncMgrSyncItemInfo {}
impl ISyncMgrSyncItemInfo_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSyncItemInfo_Vtbl
where
Identity: ISyncMgrSyncItemInfo_Impl,
{
unsafe extern "system" fn GetTypeLabel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsztypelabel: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItemInfo_Impl::GetTypeLabel(this) {
Ok(ok__) => {
ppsztypelabel.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetComment<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszcomment: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItemInfo_Impl::GetComment(this) {
Ok(ok__) => {
ppszcomment.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastSyncTime<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pftlastsync: *mut super::super::Foundation::FILETIME) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSyncItemInfo_Impl::GetLastSyncTime(this) {
Ok(ok__) => {
pftlastsync.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn IsEnabled<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncItemInfo_Impl::IsEnabled(this).into()
}
unsafe extern "system" fn IsConnected<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncItemInfo_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncItemInfo_Impl::IsConnected(this)
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetTypeLabel: GetTypeLabel::<Identity, OFFSET>,
GetComment: GetComment::<Identity, OFFSET>,
GetLastSyncTime: GetLastSyncTime::<Identity, OFFSET>,
IsEnabled: IsEnabled::<Identity, OFFSET>,
IsConnected: IsConnected::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSyncItemInfo as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSyncResult_Impl: Sized {
fn Result(&self, nstatus: SYNCMGR_PROGRESS_STATUS, cerror: u32, cconflicts: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrSyncResult {}
impl ISyncMgrSyncResult_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSyncResult_Vtbl
where
Identity: ISyncMgrSyncResult_Impl,
{
unsafe extern "system" fn Result<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, nstatus: SYNCMGR_PROGRESS_STATUS, cerror: u32, cconflicts: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrSyncResult_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSyncResult_Impl::Result(this, core::mem::transmute_copy(&nstatus), core::mem::transmute_copy(&cerror), core::mem::transmute_copy(&cconflicts)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Result: Result::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSyncResult as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait ISyncMgrSynchronize_Impl: Sized {
fn Initialize(&self, dwreserved: u32, dwsyncmgrflags: u32, cbcookie: u32, lpcookie: *const u8) -> windows_core::Result<()>;
fn GetHandlerInfo(&self) -> windows_core::Result<*mut SYNCMGRHANDLERINFO>;
fn EnumSyncMgrItems(&self) -> windows_core::Result<ISyncMgrEnumItems>;
fn GetItemObject(&self, itemid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn ShowProperties(&self, hwndparent: super::super::Foundation::HWND, itemid: *const windows_core::GUID) -> windows_core::Result<()>;
fn SetProgressCallback(&self, lpcallback: Option<&ISyncMgrSynchronizeCallback>) -> windows_core::Result<()>;
fn PrepareForSync(&self, cbnumitems: u32, pitemids: *const windows_core::GUID, hwndparent: super::super::Foundation::HWND, dwreserved: u32) -> windows_core::Result<()>;
fn Synchronize(&self, hwndparent: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn SetItemStatus(&self, pitemid: *const windows_core::GUID, dwsyncmgrstatus: u32) -> windows_core::Result<()>;
fn ShowError(&self, hwndparent: super::super::Foundation::HWND, errorid: *const windows_core::GUID) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for ISyncMgrSynchronize {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl ISyncMgrSynchronize_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSynchronize_Vtbl
where
Identity: ISyncMgrSynchronize_Impl,
{
unsafe extern "system" fn Initialize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwreserved: u32, dwsyncmgrflags: u32, cbcookie: u32, lpcookie: *const u8) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::Initialize(this, core::mem::transmute_copy(&dwreserved), core::mem::transmute_copy(&dwsyncmgrflags), core::mem::transmute_copy(&cbcookie), core::mem::transmute_copy(&lpcookie)).into()
}
unsafe extern "system" fn GetHandlerInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsyncmgrhandlerinfo: *mut *mut SYNCMGRHANDLERINFO) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSynchronize_Impl::GetHandlerInfo(this) {
Ok(ok__) => {
ppsyncmgrhandlerinfo.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnumSyncMgrItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsyncmgrenumitems: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ISyncMgrSynchronize_Impl::EnumSyncMgrItems(this) {
Ok(ok__) => {
ppsyncmgrenumitems.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetItemObject<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itemid: *const windows_core::GUID, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::GetItemObject(this, core::mem::transmute_copy(&itemid), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn ShowProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND, itemid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::ShowProperties(this, core::mem::transmute_copy(&hwndparent), core::mem::transmute_copy(&itemid)).into()
}
unsafe extern "system" fn SetProgressCallback<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, lpcallback: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::SetProgressCallback(this, windows_core::from_raw_borrowed(&lpcallback)).into()
}
unsafe extern "system" fn PrepareForSync<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cbnumitems: u32, pitemids: *const windows_core::GUID, hwndparent: super::super::Foundation::HWND, dwreserved: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::PrepareForSync(this, core::mem::transmute_copy(&cbnumitems), core::mem::transmute_copy(&pitemids), core::mem::transmute_copy(&hwndparent), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn Synchronize<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::Synchronize(this, core::mem::transmute_copy(&hwndparent)).into()
}
unsafe extern "system" fn SetItemStatus<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pitemid: *const windows_core::GUID, dwsyncmgrstatus: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::SetItemStatus(this, core::mem::transmute_copy(&pitemid), core::mem::transmute_copy(&dwsyncmgrstatus)).into()
}
unsafe extern "system" fn ShowError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndparent: super::super::Foundation::HWND, errorid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronize_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronize_Impl::ShowError(this, core::mem::transmute_copy(&hwndparent), core::mem::transmute_copy(&errorid)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Initialize: Initialize::<Identity, OFFSET>,
GetHandlerInfo: GetHandlerInfo::<Identity, OFFSET>,
EnumSyncMgrItems: EnumSyncMgrItems::<Identity, OFFSET>,
GetItemObject: GetItemObject::<Identity, OFFSET>,
ShowProperties: ShowProperties::<Identity, OFFSET>,
SetProgressCallback: SetProgressCallback::<Identity, OFFSET>,
PrepareForSync: PrepareForSync::<Identity, OFFSET>,
Synchronize: Synchronize::<Identity, OFFSET>,
SetItemStatus: SetItemStatus::<Identity, OFFSET>,
ShowError: ShowError::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSynchronize as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSynchronizeCallback_Impl: Sized {
fn ShowPropertiesCompleted(&self, hr: windows_core::HRESULT) -> windows_core::Result<()>;
fn PrepareForSyncCompleted(&self, hr: windows_core::HRESULT) -> windows_core::Result<()>;
fn SynchronizeCompleted(&self, hr: windows_core::HRESULT) -> windows_core::Result<()>;
fn ShowErrorCompleted(&self, hr: windows_core::HRESULT, citems: u32, pitemids: *const windows_core::GUID) -> windows_core::Result<()>;
fn EnableModeless(&self, fenable: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn Progress(&self, itemid: *const windows_core::GUID, psyncprogressitem: *const SYNCMGRPROGRESSITEM) -> windows_core::Result<()>;
fn LogError(&self, dwerrorlevel: u32, pszerrortext: &windows_core::PCWSTR, psynclogerror: *const SYNCMGRLOGERRORINFO) -> windows_core::Result<()>;
fn DeleteLogError(&self, errorid: *const windows_core::GUID, dwreserved: u32) -> windows_core::Result<()>;
fn EstablishConnection(&self, pwszconnection: &windows_core::PCWSTR, dwreserved: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrSynchronizeCallback {}
impl ISyncMgrSynchronizeCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSynchronizeCallback_Vtbl
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
unsafe extern "system" fn ShowPropertiesCompleted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hr: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::ShowPropertiesCompleted(this, core::mem::transmute_copy(&hr)).into()
}
unsafe extern "system" fn PrepareForSyncCompleted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hr: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::PrepareForSyncCompleted(this, core::mem::transmute_copy(&hr)).into()
}
unsafe extern "system" fn SynchronizeCompleted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hr: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::SynchronizeCompleted(this, core::mem::transmute_copy(&hr)).into()
}
unsafe extern "system" fn ShowErrorCompleted<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hr: windows_core::HRESULT, citems: u32, pitemids: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::ShowErrorCompleted(this, core::mem::transmute_copy(&hr), core::mem::transmute_copy(&citems), core::mem::transmute_copy(&pitemids)).into()
}
unsafe extern "system" fn EnableModeless<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fenable: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::EnableModeless(this, core::mem::transmute_copy(&fenable)).into()
}
unsafe extern "system" fn Progress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, itemid: *const windows_core::GUID, psyncprogressitem: *const SYNCMGRPROGRESSITEM) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::Progress(this, core::mem::transmute_copy(&itemid), core::mem::transmute_copy(&psyncprogressitem)).into()
}
unsafe extern "system" fn LogError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwerrorlevel: u32, pszerrortext: windows_core::PCWSTR, psynclogerror: *const SYNCMGRLOGERRORINFO) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::LogError(this, core::mem::transmute_copy(&dwerrorlevel), core::mem::transmute(&pszerrortext), core::mem::transmute_copy(&psynclogerror)).into()
}
unsafe extern "system" fn DeleteLogError<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, errorid: *const windows_core::GUID, dwreserved: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::DeleteLogError(this, core::mem::transmute_copy(&errorid), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn EstablishConnection<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszconnection: windows_core::PCWSTR, dwreserved: u32) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeCallback_Impl::EstablishConnection(this, core::mem::transmute(&pwszconnection), core::mem::transmute_copy(&dwreserved)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ShowPropertiesCompleted: ShowPropertiesCompleted::<Identity, OFFSET>,
PrepareForSyncCompleted: PrepareForSyncCompleted::<Identity, OFFSET>,
SynchronizeCompleted: SynchronizeCompleted::<Identity, OFFSET>,
ShowErrorCompleted: ShowErrorCompleted::<Identity, OFFSET>,
EnableModeless: EnableModeless::<Identity, OFFSET>,
Progress: Progress::<Identity, OFFSET>,
LogError: LogError::<Identity, OFFSET>,
DeleteLogError: DeleteLogError::<Identity, OFFSET>,
EstablishConnection: EstablishConnection::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSynchronizeCallback as windows_core::Interface>::IID
}
}
pub trait ISyncMgrSynchronizeInvoke_Impl: Sized {
fn UpdateItems(&self, dwinvokeflags: u32, clsid: *const windows_core::GUID, cbcookie: u32, pcookie: *const u8) -> windows_core::Result<()>;
fn UpdateAll(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ISyncMgrSynchronizeInvoke {}
impl ISyncMgrSynchronizeInvoke_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrSynchronizeInvoke_Vtbl
where
Identity: ISyncMgrSynchronizeInvoke_Impl,
{
unsafe extern "system" fn UpdateItems<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwinvokeflags: u32, clsid: *const windows_core::GUID, cbcookie: u32, pcookie: *const u8) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeInvoke_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeInvoke_Impl::UpdateItems(this, core::mem::transmute_copy(&dwinvokeflags), core::mem::transmute_copy(&clsid), core::mem::transmute_copy(&cbcookie), core::mem::transmute_copy(&pcookie)).into()
}
unsafe extern "system" fn UpdateAll<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ISyncMgrSynchronizeInvoke_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrSynchronizeInvoke_Impl::UpdateAll(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
UpdateItems: UpdateItems::<Identity, OFFSET>,
UpdateAll: UpdateAll::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrSynchronizeInvoke as windows_core::Interface>::IID
}
}
pub trait ISyncMgrUIOperation_Impl: Sized {
fn Run(&self, hwndowner: super::super::Foundation::HWND) -> windows_core::HRESULT;
}
impl windows_core::RuntimeName for ISyncMgrUIOperation {}
impl ISyncMgrUIOperation_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ISyncMgrUIOperation_Vtbl
where
Identity: ISyncMgrUIOperation_Impl,
{
unsafe extern "system" fn Run<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndowner: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ISyncMgrUIOperation_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ISyncMgrUIOperation_Impl::Run(this, core::mem::transmute_copy(&hwndowner))
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Run: Run::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ISyncMgrUIOperation as windows_core::Interface>::IID
}
}
pub trait ITaskbarList_Impl: Sized {
fn HrInit(&self) -> windows_core::Result<()>;
fn AddTab(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn DeleteTab(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn ActivateTab(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn SetActiveAlt(&self, hwnd: super::super::Foundation::HWND) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ITaskbarList {}
impl ITaskbarList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITaskbarList_Vtbl
where
Identity: ITaskbarList_Impl,
{
unsafe extern "system" fn HrInit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITaskbarList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList_Impl::HrInit(this).into()
}
unsafe extern "system" fn AddTab<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList_Impl::AddTab(this, core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn DeleteTab<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList_Impl::DeleteTab(this, core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn ActivateTab<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList_Impl::ActivateTab(this, core::mem::transmute_copy(&hwnd)).into()
}
unsafe extern "system" fn SetActiveAlt<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList_Impl::SetActiveAlt(this, core::mem::transmute_copy(&hwnd)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
HrInit: HrInit::<Identity, OFFSET>,
AddTab: AddTab::<Identity, OFFSET>,
DeleteTab: DeleteTab::<Identity, OFFSET>,
ActivateTab: ActivateTab::<Identity, OFFSET>,
SetActiveAlt: SetActiveAlt::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITaskbarList as windows_core::Interface>::IID
}
}
pub trait ITaskbarList2_Impl: Sized + ITaskbarList_Impl {
fn MarkFullscreenWindow(&self, hwnd: super::super::Foundation::HWND, ffullscreen: super::super::Foundation::BOOL) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ITaskbarList2 {}
impl ITaskbarList2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITaskbarList2_Vtbl
where
Identity: ITaskbarList2_Impl,
{
unsafe extern "system" fn MarkFullscreenWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, ffullscreen: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ITaskbarList2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList2_Impl::MarkFullscreenWindow(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&ffullscreen)).into()
}
Self { base__: ITaskbarList_Vtbl::new::<Identity, OFFSET>(), MarkFullscreenWindow: MarkFullscreenWindow::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITaskbarList2 as windows_core::Interface>::IID || iid == &<ITaskbarList as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait ITaskbarList3_Impl: Sized + ITaskbarList2_Impl {
fn SetProgressValue(&self, hwnd: super::super::Foundation::HWND, ullcompleted: u64, ulltotal: u64) -> windows_core::Result<()>;
fn SetProgressState(&self, hwnd: super::super::Foundation::HWND, tbpflags: TBPFLAG) -> windows_core::Result<()>;
fn RegisterTab(&self, hwndtab: super::super::Foundation::HWND, hwndmdi: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn UnregisterTab(&self, hwndtab: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn SetTabOrder(&self, hwndtab: super::super::Foundation::HWND, hwndinsertbefore: super::super::Foundation::HWND) -> windows_core::Result<()>;
fn SetTabActive(&self, hwndtab: super::super::Foundation::HWND, hwndmdi: super::super::Foundation::HWND, dwreserved: u32) -> windows_core::Result<()>;
fn ThumbBarAddButtons(&self, hwnd: super::super::Foundation::HWND, cbuttons: u32, pbutton: *const THUMBBUTTON) -> windows_core::Result<()>;
fn ThumbBarUpdateButtons(&self, hwnd: super::super::Foundation::HWND, cbuttons: u32, pbutton: *const THUMBBUTTON) -> windows_core::Result<()>;
fn ThumbBarSetImageList(&self, hwnd: super::super::Foundation::HWND, himl: super::Controls::HIMAGELIST) -> windows_core::Result<()>;
fn SetOverlayIcon(&self, hwnd: super::super::Foundation::HWND, hicon: super::WindowsAndMessaging::HICON, pszdescription: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetThumbnailTooltip(&self, hwnd: super::super::Foundation::HWND, psztip: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetThumbnailClip(&self, hwnd: super::super::Foundation::HWND, prcclip: *const super::super::Foundation::RECT) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for ITaskbarList3 {}
#[cfg(all(feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
impl ITaskbarList3_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITaskbarList3_Vtbl
where
Identity: ITaskbarList3_Impl,
{
unsafe extern "system" fn SetProgressValue<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, ullcompleted: u64, ulltotal: u64) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetProgressValue(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&ullcompleted), core::mem::transmute_copy(&ulltotal)).into()
}
unsafe extern "system" fn SetProgressState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, tbpflags: TBPFLAG) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetProgressState(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&tbpflags)).into()
}
unsafe extern "system" fn RegisterTab<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtab: super::super::Foundation::HWND, hwndmdi: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::RegisterTab(this, core::mem::transmute_copy(&hwndtab), core::mem::transmute_copy(&hwndmdi)).into()
}
unsafe extern "system" fn UnregisterTab<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtab: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::UnregisterTab(this, core::mem::transmute_copy(&hwndtab)).into()
}
unsafe extern "system" fn SetTabOrder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtab: super::super::Foundation::HWND, hwndinsertbefore: super::super::Foundation::HWND) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetTabOrder(this, core::mem::transmute_copy(&hwndtab), core::mem::transmute_copy(&hwndinsertbefore)).into()
}
unsafe extern "system" fn SetTabActive<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtab: super::super::Foundation::HWND, hwndmdi: super::super::Foundation::HWND, dwreserved: u32) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetTabActive(this, core::mem::transmute_copy(&hwndtab), core::mem::transmute_copy(&hwndmdi), core::mem::transmute_copy(&dwreserved)).into()
}
unsafe extern "system" fn ThumbBarAddButtons<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, cbuttons: u32, pbutton: *const THUMBBUTTON) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::ThumbBarAddButtons(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&cbuttons), core::mem::transmute_copy(&pbutton)).into()
}
unsafe extern "system" fn ThumbBarUpdateButtons<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, cbuttons: u32, pbutton: *const THUMBBUTTON) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::ThumbBarUpdateButtons(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&cbuttons), core::mem::transmute_copy(&pbutton)).into()
}
unsafe extern "system" fn ThumbBarSetImageList<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, himl: super::Controls::HIMAGELIST) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::ThumbBarSetImageList(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&himl)).into()
}
unsafe extern "system" fn SetOverlayIcon<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, hicon: super::WindowsAndMessaging::HICON, pszdescription: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetOverlayIcon(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&hicon), core::mem::transmute(&pszdescription)).into()
}
unsafe extern "system" fn SetThumbnailTooltip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, psztip: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetThumbnailTooltip(this, core::mem::transmute_copy(&hwnd), core::mem::transmute(&psztip)).into()
}
unsafe extern "system" fn SetThumbnailClip<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, prcclip: *const super::super::Foundation::RECT) -> windows_core::HRESULT
where
Identity: ITaskbarList3_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList3_Impl::SetThumbnailClip(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&prcclip)).into()
}
Self {
base__: ITaskbarList2_Vtbl::new::<Identity, OFFSET>(),
SetProgressValue: SetProgressValue::<Identity, OFFSET>,
SetProgressState: SetProgressState::<Identity, OFFSET>,
RegisterTab: RegisterTab::<Identity, OFFSET>,
UnregisterTab: UnregisterTab::<Identity, OFFSET>,
SetTabOrder: SetTabOrder::<Identity, OFFSET>,
SetTabActive: SetTabActive::<Identity, OFFSET>,
ThumbBarAddButtons: ThumbBarAddButtons::<Identity, OFFSET>,
ThumbBarUpdateButtons: ThumbBarUpdateButtons::<Identity, OFFSET>,
ThumbBarSetImageList: ThumbBarSetImageList::<Identity, OFFSET>,
SetOverlayIcon: SetOverlayIcon::<Identity, OFFSET>,
SetThumbnailTooltip: SetThumbnailTooltip::<Identity, OFFSET>,
SetThumbnailClip: SetThumbnailClip::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITaskbarList3 as windows_core::Interface>::IID || iid == &<ITaskbarList as windows_core::Interface>::IID || iid == &<ITaskbarList2 as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait ITaskbarList4_Impl: Sized + ITaskbarList3_Impl {
fn SetTabProperties(&self, hwndtab: super::super::Foundation::HWND, stpflags: STPFLAG) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for ITaskbarList4 {}
#[cfg(all(feature = "Win32_UI_Controls", feature = "Win32_UI_WindowsAndMessaging"))]
impl ITaskbarList4_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITaskbarList4_Vtbl
where
Identity: ITaskbarList4_Impl,
{
unsafe extern "system" fn SetTabProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtab: super::super::Foundation::HWND, stpflags: STPFLAG) -> windows_core::HRESULT
where
Identity: ITaskbarList4_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITaskbarList4_Impl::SetTabProperties(this, core::mem::transmute_copy(&hwndtab), core::mem::transmute_copy(&stpflags)).into()
}
Self { base__: ITaskbarList3_Vtbl::new::<Identity, OFFSET>(), SetTabProperties: SetTabProperties::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITaskbarList4 as windows_core::Interface>::IID || iid == &<ITaskbarList as windows_core::Interface>::IID || iid == &<ITaskbarList2 as windows_core::Interface>::IID || iid == &<ITaskbarList3 as windows_core::Interface>::IID
}
}
pub trait IThumbnailCache_Impl: Sized {
fn GetThumbnail(&self, pshellitem: Option<&IShellItem>, cxyrequestedthumbsize: u32, flags: WTS_FLAGS, ppvthumb: *mut Option<ISharedBitmap>, poutflags: *mut WTS_CACHEFLAGS, pthumbnailid: *mut WTS_THUMBNAILID) -> windows_core::Result<()>;
fn GetThumbnailByID(&self, thumbnailid: &WTS_THUMBNAILID, cxyrequestedthumbsize: u32, ppvthumb: *mut Option<ISharedBitmap>, poutflags: *mut WTS_CACHEFLAGS) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IThumbnailCache {}
impl IThumbnailCache_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailCache_Vtbl
where
Identity: IThumbnailCache_Impl,
{
unsafe extern "system" fn GetThumbnail<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pshellitem: *mut core::ffi::c_void, cxyrequestedthumbsize: u32, flags: WTS_FLAGS, ppvthumb: *mut *mut core::ffi::c_void, poutflags: *mut WTS_CACHEFLAGS, pthumbnailid: *mut WTS_THUMBNAILID) -> windows_core::HRESULT
where
Identity: IThumbnailCache_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailCache_Impl::GetThumbnail(this, windows_core::from_raw_borrowed(&pshellitem), core::mem::transmute_copy(&cxyrequestedthumbsize), core::mem::transmute_copy(&flags), core::mem::transmute_copy(&ppvthumb), core::mem::transmute_copy(&poutflags), core::mem::transmute_copy(&pthumbnailid)).into()
}
unsafe extern "system" fn GetThumbnailByID<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, thumbnailid: WTS_THUMBNAILID, cxyrequestedthumbsize: u32, ppvthumb: *mut *mut core::ffi::c_void, poutflags: *mut WTS_CACHEFLAGS) -> windows_core::HRESULT
where
Identity: IThumbnailCache_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailCache_Impl::GetThumbnailByID(this, core::mem::transmute(&thumbnailid), core::mem::transmute_copy(&cxyrequestedthumbsize), core::mem::transmute_copy(&ppvthumb), core::mem::transmute_copy(&poutflags)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThumbnail: GetThumbnail::<Identity, OFFSET>,
GetThumbnailByID: GetThumbnailByID::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailCache as windows_core::Interface>::IID
}
}
pub trait IThumbnailCachePrimer_Impl: Sized {
fn PageInThumbnail(&self, psi: Option<&IShellItem>, wtsflags: WTS_FLAGS, cxyrequestedthumbsize: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IThumbnailCachePrimer {}
impl IThumbnailCachePrimer_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailCachePrimer_Vtbl
where
Identity: IThumbnailCachePrimer_Impl,
{
unsafe extern "system" fn PageInThumbnail<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, wtsflags: WTS_FLAGS, cxyrequestedthumbsize: u32) -> windows_core::HRESULT
where
Identity: IThumbnailCachePrimer_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailCachePrimer_Impl::PageInThumbnail(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&wtsflags), core::mem::transmute_copy(&cxyrequestedthumbsize)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), PageInThumbnail: PageInThumbnail::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailCachePrimer as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IThumbnailCapture_Impl: Sized {
fn CaptureThumbnail(&self, pmaxsize: *const super::super::Foundation::SIZE, phtmldoc2: Option<&windows_core::IUnknown>) -> windows_core::Result<super::super::Graphics::Gdi::HBITMAP>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IThumbnailCapture {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IThumbnailCapture_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailCapture_Vtbl
where
Identity: IThumbnailCapture_Impl,
{
unsafe extern "system" fn CaptureThumbnail<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pmaxsize: *const super::super::Foundation::SIZE, phtmldoc2: *mut core::ffi::c_void, phbmthumbnail: *mut super::super::Graphics::Gdi::HBITMAP) -> windows_core::HRESULT
where
Identity: IThumbnailCapture_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IThumbnailCapture_Impl::CaptureThumbnail(this, core::mem::transmute_copy(&pmaxsize), windows_core::from_raw_borrowed(&phtmldoc2)) {
Ok(ok__) => {
phbmthumbnail.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CaptureThumbnail: CaptureThumbnail::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailCapture as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IThumbnailHandlerFactory_Impl: Sized {
fn GetThumbnailHandler(&self, pidlchild: *const Common::ITEMIDLIST, pbc: Option<&super::super::System::Com::IBindCtx>, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IThumbnailHandlerFactory {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IThumbnailHandlerFactory_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailHandlerFactory_Vtbl
where
Identity: IThumbnailHandlerFactory_Impl,
{
unsafe extern "system" fn GetThumbnailHandler<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pidlchild: *const Common::ITEMIDLIST, pbc: *mut core::ffi::c_void, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IThumbnailHandlerFactory_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailHandlerFactory_Impl::GetThumbnailHandler(this, core::mem::transmute_copy(&pidlchild), windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetThumbnailHandler: GetThumbnailHandler::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailHandlerFactory as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IThumbnailProvider_Impl: Sized {
fn GetThumbnail(&self, cx: u32, phbmp: *mut super::super::Graphics::Gdi::HBITMAP, pdwalpha: *mut WTS_ALPHATYPE) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IThumbnailProvider {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IThumbnailProvider_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailProvider_Vtbl
where
Identity: IThumbnailProvider_Impl,
{
unsafe extern "system" fn GetThumbnail<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cx: u32, phbmp: *mut super::super::Graphics::Gdi::HBITMAP, pdwalpha: *mut WTS_ALPHATYPE) -> windows_core::HRESULT
where
Identity: IThumbnailProvider_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailProvider_Impl::GetThumbnail(this, core::mem::transmute_copy(&cx), core::mem::transmute_copy(&phbmp), core::mem::transmute_copy(&pdwalpha)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetThumbnail: GetThumbnail::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailProvider as windows_core::Interface>::IID
}
}
pub trait IThumbnailSettings_Impl: Sized {
fn SetContext(&self, dwcontext: WTS_CONTEXTFLAGS) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IThumbnailSettings {}
impl IThumbnailSettings_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailSettings_Vtbl
where
Identity: IThumbnailSettings_Impl,
{
unsafe extern "system" fn SetContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcontext: WTS_CONTEXTFLAGS) -> windows_core::HRESULT
where
Identity: IThumbnailSettings_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailSettings_Impl::SetContext(this, core::mem::transmute_copy(&dwcontext)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetContext: SetContext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailSettings as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IThumbnailStreamCache_Impl: Sized {
fn GetThumbnailStream(&self, path: &windows_core::PCWSTR, cacheid: u64, options: ThumbnailStreamCacheOptions, requestedthumbnailsize: u32, thumbnailsize: *mut super::super::Foundation::SIZE, thumbnailstream: *mut Option<super::super::System::Com::IStream>) -> windows_core::Result<()>;
fn SetThumbnailStream(&self, path: &windows_core::PCWSTR, cacheid: u64, thumbnailsize: &super::super::Foundation::SIZE, thumbnailstream: Option<&super::super::System::Com::IStream>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IThumbnailStreamCache {}
#[cfg(feature = "Win32_System_Com")]
impl IThumbnailStreamCache_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IThumbnailStreamCache_Vtbl
where
Identity: IThumbnailStreamCache_Impl,
{
unsafe extern "system" fn GetThumbnailStream<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, cacheid: u64, options: ThumbnailStreamCacheOptions, requestedthumbnailsize: u32, thumbnailsize: *mut super::super::Foundation::SIZE, thumbnailstream: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IThumbnailStreamCache_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailStreamCache_Impl::GetThumbnailStream(this, core::mem::transmute(&path), core::mem::transmute_copy(&cacheid), core::mem::transmute_copy(&options), core::mem::transmute_copy(&requestedthumbnailsize), core::mem::transmute_copy(&thumbnailsize), core::mem::transmute_copy(&thumbnailstream)).into()
}
unsafe extern "system" fn SetThumbnailStream<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: windows_core::PCWSTR, cacheid: u64, thumbnailsize: super::super::Foundation::SIZE, thumbnailstream: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IThumbnailStreamCache_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IThumbnailStreamCache_Impl::SetThumbnailStream(this, core::mem::transmute(&path), core::mem::transmute_copy(&cacheid), core::mem::transmute(&thumbnailsize), windows_core::from_raw_borrowed(&thumbnailstream)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetThumbnailStream: GetThumbnailStream::<Identity, OFFSET>,
SetThumbnailStream: SetThumbnailStream::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IThumbnailStreamCache as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait ITrackShellMenu_Impl: Sized + IShellMenu_Impl {
fn SetObscured(&self, hwndtb: super::super::Foundation::HWND, punkband: Option<&windows_core::IUnknown>, dwsmsetflags: u32) -> windows_core::Result<()>;
fn Popup(&self, hwnd: super::super::Foundation::HWND, ppt: *mut super::super::Foundation::POINTL, prcexclude: *mut super::super::Foundation::RECTL, dwflags: i32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for ITrackShellMenu {}
#[cfg(all(feature = "Win32_System_Registry", feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl ITrackShellMenu_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITrackShellMenu_Vtbl
where
Identity: ITrackShellMenu_Impl,
{
unsafe extern "system" fn SetObscured<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwndtb: super::super::Foundation::HWND, punkband: *mut core::ffi::c_void, dwsmsetflags: u32) -> windows_core::HRESULT
where
Identity: ITrackShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITrackShellMenu_Impl::SetObscured(this, core::mem::transmute_copy(&hwndtb), windows_core::from_raw_borrowed(&punkband), core::mem::transmute_copy(&dwsmsetflags)).into()
}
unsafe extern "system" fn Popup<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hwnd: super::super::Foundation::HWND, ppt: *mut super::super::Foundation::POINTL, prcexclude: *mut super::super::Foundation::RECTL, dwflags: i32) -> windows_core::HRESULT
where
Identity: ITrackShellMenu_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITrackShellMenu_Impl::Popup(this, core::mem::transmute_copy(&hwnd), core::mem::transmute_copy(&ppt), core::mem::transmute_copy(&prcexclude), core::mem::transmute_copy(&dwflags)).into()
}
Self { base__: IShellMenu_Vtbl::new::<Identity, OFFSET>(), SetObscured: SetObscured::<Identity, OFFSET>, Popup: Popup::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITrackShellMenu as windows_core::Interface>::IID || iid == &<IShellMenu as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait ITranscodeImage_Impl: Sized {
fn TranscodeImage(&self, pshellitem: Option<&IShellItem>, uimaxwidth: u32, uimaxheight: u32, flags: u32, pvimage: Option<&super::super::System::Com::IStream>, puiwidth: *mut u32, puiheight: *mut u32) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for ITranscodeImage {}
#[cfg(feature = "Win32_System_Com")]
impl ITranscodeImage_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITranscodeImage_Vtbl
where
Identity: ITranscodeImage_Impl,
{
unsafe extern "system" fn TranscodeImage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pshellitem: *mut core::ffi::c_void, uimaxwidth: u32, uimaxheight: u32, flags: u32, pvimage: *mut core::ffi::c_void, puiwidth: *mut u32, puiheight: *mut u32) -> windows_core::HRESULT
where
Identity: ITranscodeImage_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITranscodeImage_Impl::TranscodeImage(this, windows_core::from_raw_borrowed(&pshellitem), core::mem::transmute_copy(&uimaxwidth), core::mem::transmute_copy(&uimaxheight), core::mem::transmute_copy(&flags), windows_core::from_raw_borrowed(&pvimage), core::mem::transmute_copy(&puiwidth), core::mem::transmute_copy(&puiheight)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), TranscodeImage: TranscodeImage::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITranscodeImage as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait ITransferAdviseSink_Impl: Sized {
fn UpdateProgress(&self, ullsizecurrent: u64, ullsizetotal: u64, nfilescurrent: i32, nfilestotal: i32, nfolderscurrent: i32, nfolderstotal: i32) -> windows_core::Result<()>;
fn UpdateTransferState(&self, ts: u32) -> windows_core::Result<()>;
fn ConfirmOverwrite(&self, psisource: Option<&IShellItem>, psidestparent: Option<&IShellItem>, pszname: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn ConfirmEncryptionLoss(&self, psisource: Option<&IShellItem>) -> windows_core::Result<()>;
fn FileFailure(&self, psi: Option<&IShellItem>, pszitem: &windows_core::PCWSTR, hrerror: windows_core::HRESULT, pszrename: &windows_core::PWSTR, cchrename: u32) -> windows_core::Result<()>;
fn SubStreamFailure(&self, psi: Option<&IShellItem>, pszstreamname: &windows_core::PCWSTR, hrerror: windows_core::HRESULT) -> windows_core::Result<()>;
fn PropertyFailure(&self, psi: Option<&IShellItem>, pkey: *const PropertiesSystem::PROPERTYKEY, hrerror: windows_core::HRESULT) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for ITransferAdviseSink {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl ITransferAdviseSink_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITransferAdviseSink_Vtbl
where
Identity: ITransferAdviseSink_Impl,
{
unsafe extern "system" fn UpdateProgress<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ullsizecurrent: u64, ullsizetotal: u64, nfilescurrent: i32, nfilestotal: i32, nfolderscurrent: i32, nfolderstotal: i32) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::UpdateProgress(this, core::mem::transmute_copy(&ullsizecurrent), core::mem::transmute_copy(&ullsizetotal), core::mem::transmute_copy(&nfilescurrent), core::mem::transmute_copy(&nfilestotal), core::mem::transmute_copy(&nfolderscurrent), core::mem::transmute_copy(&nfolderstotal)).into()
}
unsafe extern "system" fn UpdateTransferState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ts: u32) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::UpdateTransferState(this, core::mem::transmute_copy(&ts)).into()
}
unsafe extern "system" fn ConfirmOverwrite<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, psidestparent: *mut core::ffi::c_void, pszname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::ConfirmOverwrite(this, windows_core::from_raw_borrowed(&psisource), windows_core::from_raw_borrowed(&psidestparent), core::mem::transmute(&pszname)).into()
}
unsafe extern "system" fn ConfirmEncryptionLoss<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::ConfirmEncryptionLoss(this, windows_core::from_raw_borrowed(&psisource)).into()
}
unsafe extern "system" fn FileFailure<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pszitem: windows_core::PCWSTR, hrerror: windows_core::HRESULT, pszrename: windows_core::PWSTR, cchrename: u32) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::FileFailure(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute(&pszitem), core::mem::transmute_copy(&hrerror), core::mem::transmute(&pszrename), core::mem::transmute_copy(&cchrename)).into()
}
unsafe extern "system" fn SubStreamFailure<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pszstreamname: windows_core::PCWSTR, hrerror: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::SubStreamFailure(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute(&pszstreamname), core::mem::transmute_copy(&hrerror)).into()
}
unsafe extern "system" fn PropertyFailure<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, pkey: *const PropertiesSystem::PROPERTYKEY, hrerror: windows_core::HRESULT) -> windows_core::HRESULT
where
Identity: ITransferAdviseSink_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferAdviseSink_Impl::PropertyFailure(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&pkey), core::mem::transmute_copy(&hrerror)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
UpdateProgress: UpdateProgress::<Identity, OFFSET>,
UpdateTransferState: UpdateTransferState::<Identity, OFFSET>,
ConfirmOverwrite: ConfirmOverwrite::<Identity, OFFSET>,
ConfirmEncryptionLoss: ConfirmEncryptionLoss::<Identity, OFFSET>,
FileFailure: FileFailure::<Identity, OFFSET>,
SubStreamFailure: SubStreamFailure::<Identity, OFFSET>,
PropertyFailure: PropertyFailure::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITransferAdviseSink as windows_core::Interface>::IID
}
}
pub trait ITransferDestination_Impl: Sized {
fn Advise(&self, psink: Option<&ITransferAdviseSink>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn CreateItem(&self, pszname: &windows_core::PCWSTR, dwattributes: u32, ullsize: u64, flags: u32, riiditem: *const windows_core::GUID, ppvitem: *mut *mut core::ffi::c_void, riidresources: *const windows_core::GUID, ppvresources: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ITransferDestination {}
impl ITransferDestination_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITransferDestination_Vtbl
where
Identity: ITransferDestination_Impl,
{
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psink: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: ITransferDestination_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferDestination_Impl::Advise(this, windows_core::from_raw_borrowed(&psink)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: ITransferDestination_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferDestination_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn CreateItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszname: windows_core::PCWSTR, dwattributes: u32, ullsize: u64, flags: u32, riiditem: *const windows_core::GUID, ppvitem: *mut *mut core::ffi::c_void, riidresources: *const windows_core::GUID, ppvresources: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferDestination_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferDestination_Impl::CreateItem(this, core::mem::transmute(&pszname), core::mem::transmute_copy(&dwattributes), core::mem::transmute_copy(&ullsize), core::mem::transmute_copy(&flags), core::mem::transmute_copy(&riiditem), core::mem::transmute_copy(&ppvitem), core::mem::transmute_copy(&riidresources), core::mem::transmute_copy(&ppvresources)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Advise: Advise::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
CreateItem: CreateItem::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITransferDestination as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait ITransferMediumItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for ITransferMediumItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl ITransferMediumItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITransferMediumItem_Vtbl
where
Identity: ITransferMediumItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITransferMediumItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
pub trait ITransferSource_Impl: Sized {
fn Advise(&self, psink: Option<&ITransferAdviseSink>) -> windows_core::Result<u32>;
fn Unadvise(&self, dwcookie: u32) -> windows_core::Result<()>;
fn SetProperties(&self, pproparray: Option<&PropertiesSystem::IPropertyChangeArray>) -> windows_core::Result<()>;
fn OpenItem(&self, psi: Option<&IShellItem>, flags: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::Result<()>;
fn MoveItem(&self, psi: Option<&IShellItem>, psiparentdst: Option<&IShellItem>, psznamedst: &windows_core::PCWSTR, flags: u32) -> windows_core::Result<IShellItem>;
fn RecycleItem(&self, psisource: Option<&IShellItem>, psiparentdest: Option<&IShellItem>, flags: u32) -> windows_core::Result<IShellItem>;
fn RemoveItem(&self, psisource: Option<&IShellItem>, flags: u32) -> windows_core::Result<()>;
fn RenameItem(&self, psisource: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, flags: u32) -> windows_core::Result<IShellItem>;
fn LinkItem(&self, psisource: Option<&IShellItem>, psiparentdest: Option<&IShellItem>, psznewname: &windows_core::PCWSTR, flags: u32) -> windows_core::Result<IShellItem>;
fn ApplyPropertiesToItem(&self, psisource: Option<&IShellItem>) -> windows_core::Result<IShellItem>;
fn GetDefaultDestinationName(&self, psisource: Option<&IShellItem>, psiparentdest: Option<&IShellItem>) -> windows_core::Result<windows_core::PWSTR>;
fn EnterFolder(&self, psichildfolderdest: Option<&IShellItem>) -> windows_core::Result<()>;
fn LeaveFolder(&self, psichildfolderdest: Option<&IShellItem>) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl windows_core::RuntimeName for ITransferSource {}
#[cfg(feature = "Win32_UI_Shell_PropertiesSystem")]
impl ITransferSource_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITransferSource_Vtbl
where
Identity: ITransferSource_Impl,
{
unsafe extern "system" fn Advise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psink: *mut core::ffi::c_void, pdwcookie: *mut u32) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::Advise(this, windows_core::from_raw_borrowed(&psink)) {
Ok(ok__) => {
pdwcookie.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Unadvise<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwcookie: u32) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferSource_Impl::Unadvise(this, core::mem::transmute_copy(&dwcookie)).into()
}
unsafe extern "system" fn SetProperties<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pproparray: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferSource_Impl::SetProperties(this, windows_core::from_raw_borrowed(&pproparray)).into()
}
unsafe extern "system" fn OpenItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, flags: u32, riid: *const windows_core::GUID, ppv: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferSource_Impl::OpenItem(this, windows_core::from_raw_borrowed(&psi), core::mem::transmute_copy(&flags), core::mem::transmute_copy(&riid), core::mem::transmute_copy(&ppv)).into()
}
unsafe extern "system" fn MoveItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psi: *mut core::ffi::c_void, psiparentdst: *mut core::ffi::c_void, psznamedst: windows_core::PCWSTR, flags: u32, ppsinew: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::MoveItem(this, windows_core::from_raw_borrowed(&psi), windows_core::from_raw_borrowed(&psiparentdst), core::mem::transmute(&psznamedst), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
ppsinew.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RecycleItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, psiparentdest: *mut core::ffi::c_void, flags: u32, ppsinewdest: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::RecycleItem(this, windows_core::from_raw_borrowed(&psisource), windows_core::from_raw_borrowed(&psiparentdest), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
ppsinewdest.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, flags: u32) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferSource_Impl::RemoveItem(this, windows_core::from_raw_borrowed(&psisource), core::mem::transmute_copy(&flags)).into()
}
unsafe extern "system" fn RenameItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, flags: u32, ppsinewdest: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::RenameItem(this, windows_core::from_raw_borrowed(&psisource), core::mem::transmute(&psznewname), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
ppsinewdest.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn LinkItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, psiparentdest: *mut core::ffi::c_void, psznewname: windows_core::PCWSTR, flags: u32, ppsinewdest: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::LinkItem(this, windows_core::from_raw_borrowed(&psisource), windows_core::from_raw_borrowed(&psiparentdest), core::mem::transmute(&psznewname), core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
ppsinewdest.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ApplyPropertiesToItem<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, ppsinew: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::ApplyPropertiesToItem(this, windows_core::from_raw_borrowed(&psisource)) {
Ok(ok__) => {
ppsinew.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetDefaultDestinationName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psisource: *mut core::ffi::c_void, psiparentdest: *mut core::ffi::c_void, ppszdestinationname: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITransferSource_Impl::GetDefaultDestinationName(this, windows_core::from_raw_borrowed(&psisource), windows_core::from_raw_borrowed(&psiparentdest)) {
Ok(ok__) => {
ppszdestinationname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn EnterFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psichildfolderdest: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferSource_Impl::EnterFolder(this, windows_core::from_raw_borrowed(&psichildfolderdest)).into()
}
unsafe extern "system" fn LeaveFolder<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psichildfolderdest: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITransferSource_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITransferSource_Impl::LeaveFolder(this, windows_core::from_raw_borrowed(&psichildfolderdest)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Advise: Advise::<Identity, OFFSET>,
Unadvise: Unadvise::<Identity, OFFSET>,
SetProperties: SetProperties::<Identity, OFFSET>,
OpenItem: OpenItem::<Identity, OFFSET>,
MoveItem: MoveItem::<Identity, OFFSET>,
RecycleItem: RecycleItem::<Identity, OFFSET>,
RemoveItem: RemoveItem::<Identity, OFFSET>,
RenameItem: RenameItem::<Identity, OFFSET>,
LinkItem: LinkItem::<Identity, OFFSET>,
ApplyPropertiesToItem: ApplyPropertiesToItem::<Identity, OFFSET>,
GetDefaultDestinationName: GetDefaultDestinationName::<Identity, OFFSET>,
EnterFolder: EnterFolder::<Identity, OFFSET>,
LeaveFolder: LeaveFolder::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITransferSource as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait ITravelEntry_Impl: Sized {
fn Invoke(&self, punk: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn Update(&self, punk: Option<&windows_core::IUnknown>, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetPidl(&self) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for ITravelEntry {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl ITravelEntry_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITravelEntry_Vtbl
where
Identity: ITravelEntry_Impl,
{
unsafe extern "system" fn Invoke<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelEntry_Impl::Invoke(this, windows_core::from_raw_borrowed(&punk)).into()
}
unsafe extern "system" fn Update<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ITravelEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelEntry_Impl::Update(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&fislocalanchor)).into()
}
unsafe extern "system" fn GetPidl<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppidl: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: ITravelEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelEntry_Impl::GetPidl(this) {
Ok(ok__) => {
ppidl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
Invoke: Invoke::<Identity, OFFSET>,
Update: Update::<Identity, OFFSET>,
GetPidl: GetPidl::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITravelEntry as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
pub trait ITravelLog_Impl: Sized {
fn AddEntry(&self, punk: Option<&windows_core::IUnknown>, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn UpdateEntry(&self, punk: Option<&windows_core::IUnknown>, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn UpdateExternal(&self, punk: Option<&windows_core::IUnknown>, punkhlbrowsecontext: Option<&windows_core::IUnknown>) -> windows_core::Result<()>;
fn Travel(&self, punk: Option<&windows_core::IUnknown>, ioffset: i32) -> windows_core::Result<()>;
fn GetTravelEntry(&self, punk: Option<&windows_core::IUnknown>, ioffset: i32, ppte: *mut Option<ITravelEntry>) -> windows_core::Result<()>;
fn FindTravelEntry(&self, punk: Option<&windows_core::IUnknown>, pidl: *const Common::ITEMIDLIST) -> windows_core::Result<ITravelEntry>;
fn GetToolTipText(&self, punk: Option<&windows_core::IUnknown>, ioffset: i32, idstemplate: i32, pwztext: windows_core::PWSTR, cchtext: u32) -> windows_core::Result<()>;
fn InsertMenuEntries(&self, punk: Option<&windows_core::IUnknown>, hmenu: super::WindowsAndMessaging::HMENU, npos: i32, idfirst: i32, idlast: i32, dwflags: u32) -> windows_core::Result<()>;
fn Clone(&self) -> windows_core::Result<ITravelLog>;
fn CountEntries(&self, punk: Option<&windows_core::IUnknown>) -> u32;
fn Revert(&self) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl windows_core::RuntimeName for ITravelLog {}
#[cfg(all(feature = "Win32_UI_Shell_Common", feature = "Win32_UI_WindowsAndMessaging"))]
impl ITravelLog_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITravelLog_Vtbl
where
Identity: ITravelLog_Impl,
{
unsafe extern "system" fn AddEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::AddEntry(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&fislocalanchor)).into()
}
unsafe extern "system" fn UpdateEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, fislocalanchor: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::UpdateEntry(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&fislocalanchor)).into()
}
unsafe extern "system" fn UpdateExternal<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, punkhlbrowsecontext: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::UpdateExternal(this, windows_core::from_raw_borrowed(&punk), windows_core::from_raw_borrowed(&punkhlbrowsecontext)).into()
}
unsafe extern "system" fn Travel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, ioffset: i32) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::Travel(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&ioffset)).into()
}
unsafe extern "system" fn GetTravelEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, ioffset: i32, ppte: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::GetTravelEntry(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&ioffset), core::mem::transmute_copy(&ppte)).into()
}
unsafe extern "system" fn FindTravelEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, pidl: *const Common::ITEMIDLIST, ppte: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLog_Impl::FindTravelEntry(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&pidl)) {
Ok(ok__) => {
ppte.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetToolTipText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, ioffset: i32, idstemplate: i32, pwztext: windows_core::PWSTR, cchtext: u32) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::GetToolTipText(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&ioffset), core::mem::transmute_copy(&idstemplate), core::mem::transmute_copy(&pwztext), core::mem::transmute_copy(&cchtext)).into()
}
unsafe extern "system" fn InsertMenuEntries<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void, hmenu: super::WindowsAndMessaging::HMENU, npos: i32, idfirst: i32, idlast: i32, dwflags: u32) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::InsertMenuEntries(this, windows_core::from_raw_borrowed(&punk), core::mem::transmute_copy(&hmenu), core::mem::transmute_copy(&npos), core::mem::transmute_copy(&idfirst), core::mem::transmute_copy(&idlast), core::mem::transmute_copy(&dwflags)).into()
}
unsafe extern "system" fn Clone<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pptl: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLog_Impl::Clone(this) {
Ok(ok__) => {
pptl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn CountEntries<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, punk: *mut core::ffi::c_void) -> u32
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::CountEntries(this, windows_core::from_raw_borrowed(&punk))
}
unsafe extern "system" fn Revert<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLog_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLog_Impl::Revert(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddEntry: AddEntry::<Identity, OFFSET>,
UpdateEntry: UpdateEntry::<Identity, OFFSET>,
UpdateExternal: UpdateExternal::<Identity, OFFSET>,
Travel: Travel::<Identity, OFFSET>,
GetTravelEntry: GetTravelEntry::<Identity, OFFSET>,
FindTravelEntry: FindTravelEntry::<Identity, OFFSET>,
GetToolTipText: GetToolTipText::<Identity, OFFSET>,
InsertMenuEntries: InsertMenuEntries::<Identity, OFFSET>,
Clone: Clone::<Identity, OFFSET>,
CountEntries: CountEntries::<Identity, OFFSET>,
Revert: Revert::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITravelLog as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait ITravelLogClient_Impl: Sized {
fn FindWindowByIndex(&self, dwid: u32) -> windows_core::Result<windows_core::IUnknown>;
fn GetWindowData(&self, pstream: Option<&super::super::System::Com::IStream>, pwindata: *mut WINDOWDATA) -> windows_core::Result<()>;
fn LoadHistoryPosition(&self, pszurllocation: &windows_core::PCWSTR, dwposition: u32) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for ITravelLogClient {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl ITravelLogClient_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITravelLogClient_Vtbl
where
Identity: ITravelLogClient_Impl,
{
unsafe extern "system" fn FindWindowByIndex<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwid: u32, ppunk: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogClient_Impl::FindWindowByIndex(this, core::mem::transmute_copy(&dwid)) {
Ok(ok__) => {
ppunk.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetWindowData<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pstream: *mut core::ffi::c_void, pwindata: *mut WINDOWDATA) -> windows_core::HRESULT
where
Identity: ITravelLogClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLogClient_Impl::GetWindowData(this, windows_core::from_raw_borrowed(&pstream), core::mem::transmute_copy(&pwindata)).into()
}
unsafe extern "system" fn LoadHistoryPosition<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszurllocation: windows_core::PCWSTR, dwposition: u32) -> windows_core::HRESULT
where
Identity: ITravelLogClient_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLogClient_Impl::LoadHistoryPosition(this, core::mem::transmute(&pszurllocation), core::mem::transmute_copy(&dwposition)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
FindWindowByIndex: FindWindowByIndex::<Identity, OFFSET>,
GetWindowData: GetWindowData::<Identity, OFFSET>,
LoadHistoryPosition: LoadHistoryPosition::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITravelLogClient as windows_core::Interface>::IID
}
}
pub trait ITravelLogEntry_Impl: Sized {
fn GetTitle(&self) -> windows_core::Result<windows_core::PWSTR>;
fn GetURL(&self) -> windows_core::Result<windows_core::PWSTR>;
}
impl windows_core::RuntimeName for ITravelLogEntry {}
impl ITravelLogEntry_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITravelLogEntry_Vtbl
where
Identity: ITravelLogEntry_Impl,
{
unsafe extern "system" fn GetTitle<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppsztitle: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ITravelLogEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogEntry_Impl::GetTitle(this) {
Ok(ok__) => {
ppsztitle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszurl: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: ITravelLogEntry_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogEntry_Impl::GetURL(this) {
Ok(ok__) => {
ppszurl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetTitle: GetTitle::<Identity, OFFSET>, GetURL: GetURL::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITravelLogEntry as windows_core::Interface>::IID
}
}
pub trait ITravelLogStg_Impl: Sized {
fn CreateEntry(&self, pszurl: &windows_core::PCWSTR, psztitle: &windows_core::PCWSTR, ptlerelativeto: Option<&ITravelLogEntry>, fprepend: super::super::Foundation::BOOL) -> windows_core::Result<ITravelLogEntry>;
fn TravelTo(&self, ptle: Option<&ITravelLogEntry>) -> windows_core::Result<()>;
fn EnumEntries(&self, flags: TLENUMF) -> windows_core::Result<IEnumTravelLogEntry>;
fn FindEntries(&self, flags: TLENUMF, pszurl: &windows_core::PCWSTR) -> windows_core::Result<IEnumTravelLogEntry>;
fn GetCount(&self, flags: TLENUMF) -> windows_core::Result<u32>;
fn RemoveEntry(&self, ptle: Option<&ITravelLogEntry>) -> windows_core::Result<()>;
fn GetRelativeEntry(&self, ioffset: i32) -> windows_core::Result<ITravelLogEntry>;
}
impl windows_core::RuntimeName for ITravelLogStg {}
impl ITravelLogStg_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITravelLogStg_Vtbl
where
Identity: ITravelLogStg_Impl,
{
unsafe extern "system" fn CreateEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszurl: windows_core::PCWSTR, psztitle: windows_core::PCWSTR, ptlerelativeto: *mut core::ffi::c_void, fprepend: super::super::Foundation::BOOL, pptle: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogStg_Impl::CreateEntry(this, core::mem::transmute(&pszurl), core::mem::transmute(&psztitle), windows_core::from_raw_borrowed(&ptlerelativeto), core::mem::transmute_copy(&fprepend)) {
Ok(ok__) => {
pptle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TravelTo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ptle: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLogStg_Impl::TravelTo(this, windows_core::from_raw_borrowed(&ptle)).into()
}
unsafe extern "system" fn EnumEntries<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: TLENUMF, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogStg_Impl::EnumEntries(this, core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FindEntries<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: TLENUMF, pszurl: windows_core::PCWSTR, ppenum: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogStg_Impl::FindEntries(this, core::mem::transmute_copy(&flags), core::mem::transmute(&pszurl)) {
Ok(ok__) => {
ppenum.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCount<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, flags: TLENUMF, pcentries: *mut u32) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogStg_Impl::GetCount(this, core::mem::transmute_copy(&flags)) {
Ok(ok__) => {
pcentries.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn RemoveEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ptle: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITravelLogStg_Impl::RemoveEntry(this, windows_core::from_raw_borrowed(&ptle)).into()
}
unsafe extern "system" fn GetRelativeEntry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ioffset: i32, ptle: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITravelLogStg_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match ITravelLogStg_Impl::GetRelativeEntry(this, core::mem::transmute_copy(&ioffset)) {
Ok(ok__) => {
ptle.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
CreateEntry: CreateEntry::<Identity, OFFSET>,
TravelTo: TravelTo::<Identity, OFFSET>,
EnumEntries: EnumEntries::<Identity, OFFSET>,
FindEntries: FindEntries::<Identity, OFFSET>,
GetCount: GetCount::<Identity, OFFSET>,
RemoveEntry: RemoveEntry::<Identity, OFFSET>,
GetRelativeEntry: GetRelativeEntry::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITravelLogStg as windows_core::Interface>::IID
}
}
pub trait ITrayDeskBand_Impl: Sized {
fn ShowDeskBand(&self, clsid: *const windows_core::GUID) -> windows_core::Result<()>;
fn HideDeskBand(&self, clsid: *const windows_core::GUID) -> windows_core::Result<()>;
fn IsDeskBandShown(&self, clsid: *const windows_core::GUID) -> windows_core::Result<()>;
fn DeskBandRegistrationChanged(&self) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for ITrayDeskBand {}
impl ITrayDeskBand_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> ITrayDeskBand_Vtbl
where
Identity: ITrayDeskBand_Impl,
{
unsafe extern "system" fn ShowDeskBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ITrayDeskBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITrayDeskBand_Impl::ShowDeskBand(this, core::mem::transmute_copy(&clsid)).into()
}
unsafe extern "system" fn HideDeskBand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ITrayDeskBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITrayDeskBand_Impl::HideDeskBand(this, core::mem::transmute_copy(&clsid)).into()
}
unsafe extern "system" fn IsDeskBandShown<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, clsid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: ITrayDeskBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITrayDeskBand_Impl::IsDeskBandShown(this, core::mem::transmute_copy(&clsid)).into()
}
unsafe extern "system" fn DeskBandRegistrationChanged<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: ITrayDeskBand_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
ITrayDeskBand_Impl::DeskBandRegistrationChanged(this).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
ShowDeskBand: ShowDeskBand::<Identity, OFFSET>,
HideDeskBand: HideDeskBand::<Identity, OFFSET>,
IsDeskBandShown: IsDeskBandShown::<Identity, OFFSET>,
DeskBandRegistrationChanged: DeskBandRegistrationChanged::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<ITrayDeskBand as windows_core::Interface>::IID
}
}
pub trait IURLSearchHook_Impl: Sized {
fn Translate(&self, pwszsearchurl: windows_core::PWSTR, cchbuffersize: u32) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IURLSearchHook {}
impl IURLSearchHook_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IURLSearchHook_Vtbl
where
Identity: IURLSearchHook_Impl,
{
unsafe extern "system" fn Translate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszsearchurl: windows_core::PWSTR, cchbuffersize: u32) -> windows_core::HRESULT
where
Identity: IURLSearchHook_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IURLSearchHook_Impl::Translate(this, core::mem::transmute_copy(&pwszsearchurl), core::mem::transmute_copy(&cchbuffersize)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Translate: Translate::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IURLSearchHook as windows_core::Interface>::IID
}
}
pub trait IURLSearchHook2_Impl: Sized + IURLSearchHook_Impl {
fn TranslateWithSearchContext(&self, pwszsearchurl: windows_core::PWSTR, cchbuffersize: u32, psearchcontext: Option<&ISearchContext>) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IURLSearchHook2 {}
impl IURLSearchHook2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IURLSearchHook2_Vtbl
where
Identity: IURLSearchHook2_Impl,
{
unsafe extern "system" fn TranslateWithSearchContext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pwszsearchurl: windows_core::PWSTR, cchbuffersize: u32, psearchcontext: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IURLSearchHook2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IURLSearchHook2_Impl::TranslateWithSearchContext(this, core::mem::transmute_copy(&pwszsearchurl), core::mem::transmute_copy(&cchbuffersize), windows_core::from_raw_borrowed(&psearchcontext)).into()
}
Self { base__: IURLSearchHook_Vtbl::new::<Identity, OFFSET>(), TranslateWithSearchContext: TranslateWithSearchContext::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IURLSearchHook2 as windows_core::Interface>::IID || iid == &<IURLSearchHook as windows_core::Interface>::IID
}
}
pub trait IUniformResourceLocatorA_Impl: Sized {
fn SetURL(&self, pcszurl: &windows_core::PCSTR, dwinflags: u32) -> windows_core::Result<()>;
fn GetURL(&self) -> windows_core::Result<windows_core::PSTR>;
fn InvokeCommand(&self, purlici: *mut URLINVOKECOMMANDINFOA) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IUniformResourceLocatorA {}
impl IUniformResourceLocatorA_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUniformResourceLocatorA_Vtbl
where
Identity: IUniformResourceLocatorA_Impl,
{
unsafe extern "system" fn SetURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcszurl: windows_core::PCSTR, dwinflags: u32) -> windows_core::HRESULT
where
Identity: IUniformResourceLocatorA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUniformResourceLocatorA_Impl::SetURL(this, core::mem::transmute(&pcszurl), core::mem::transmute_copy(&dwinflags)).into()
}
unsafe extern "system" fn GetURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszurl: *mut windows_core::PSTR) -> windows_core::HRESULT
where
Identity: IUniformResourceLocatorA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IUniformResourceLocatorA_Impl::GetURL(this) {
Ok(ok__) => {
ppszurl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InvokeCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, purlici: *mut URLINVOKECOMMANDINFOA) -> windows_core::HRESULT
where
Identity: IUniformResourceLocatorA_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUniformResourceLocatorA_Impl::InvokeCommand(this, core::mem::transmute_copy(&purlici)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetURL: SetURL::<Identity, OFFSET>,
GetURL: GetURL::<Identity, OFFSET>,
InvokeCommand: InvokeCommand::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUniformResourceLocatorA as windows_core::Interface>::IID
}
}
pub trait IUniformResourceLocatorW_Impl: Sized {
fn SetURL(&self, pcszurl: &windows_core::PCWSTR, dwinflags: u32) -> windows_core::Result<()>;
fn GetURL(&self) -> windows_core::Result<windows_core::PWSTR>;
fn InvokeCommand(&self, purlici: *mut URLINVOKECOMMANDINFOW) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IUniformResourceLocatorW {}
impl IUniformResourceLocatorW_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUniformResourceLocatorW_Vtbl
where
Identity: IUniformResourceLocatorW_Impl,
{
unsafe extern "system" fn SetURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcszurl: windows_core::PCWSTR, dwinflags: u32) -> windows_core::HRESULT
where
Identity: IUniformResourceLocatorW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUniformResourceLocatorW_Impl::SetURL(this, core::mem::transmute(&pcszurl), core::mem::transmute_copy(&dwinflags)).into()
}
unsafe extern "system" fn GetURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppszurl: *mut windows_core::PWSTR) -> windows_core::HRESULT
where
Identity: IUniformResourceLocatorW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IUniformResourceLocatorW_Impl::GetURL(this) {
Ok(ok__) => {
ppszurl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn InvokeCommand<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, purlici: *mut URLINVOKECOMMANDINFOW) -> windows_core::HRESULT
where
Identity: IUniformResourceLocatorW_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUniformResourceLocatorW_Impl::InvokeCommand(this, core::mem::transmute_copy(&purlici)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetURL: SetURL::<Identity, OFFSET>,
GetURL: GetURL::<Identity, OFFSET>,
InvokeCommand: InvokeCommand::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUniformResourceLocatorW as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
pub trait IUpdateIDList_Impl: Sized {
fn Update(&self, pbc: Option<&super::super::System::Com::IBindCtx>, pidlin: *const Common::ITEMIDLIST) -> windows_core::Result<*mut Common::ITEMIDLIST>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl windows_core::RuntimeName for IUpdateIDList {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_UI_Shell_Common"))]
impl IUpdateIDList_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUpdateIDList_Vtbl
where
Identity: IUpdateIDList_Impl,
{
unsafe extern "system" fn Update<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbc: *mut core::ffi::c_void, pidlin: *const Common::ITEMIDLIST, ppidlout: *mut *mut Common::ITEMIDLIST) -> windows_core::HRESULT
where
Identity: IUpdateIDList_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IUpdateIDList_Impl::Update(this, windows_core::from_raw_borrowed(&pbc), core::mem::transmute_copy(&pidlin)) {
Ok(ok__) => {
ppidlout.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Update: Update::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUpdateIDList as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IUseToBrowseItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IUseToBrowseItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IUseToBrowseItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUseToBrowseItem_Vtbl
where
Identity: IUseToBrowseItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUseToBrowseItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
pub trait IUserAccountChangeCallback_Impl: Sized {
fn OnPictureChange(&self, pszusername: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IUserAccountChangeCallback {}
impl IUserAccountChangeCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUserAccountChangeCallback_Vtbl
where
Identity: IUserAccountChangeCallback_Impl,
{
unsafe extern "system" fn OnPictureChange<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszusername: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IUserAccountChangeCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserAccountChangeCallback_Impl::OnPictureChange(this, core::mem::transmute(&pszusername)).into()
}
Self { base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnPictureChange: OnPictureChange::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUserAccountChangeCallback as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IUserNotification_Impl: Sized {
fn SetBalloonInfo(&self, psztitle: &windows_core::PCWSTR, psztext: &windows_core::PCWSTR, dwinfoflags: u32) -> windows_core::Result<()>;
fn SetBalloonRetry(&self, dwshowtime: u32, dwinterval: u32, cretrycount: u32) -> windows_core::Result<()>;
fn SetIconInfo(&self, hicon: super::WindowsAndMessaging::HICON, psztooltip: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Show(&self, pqc: Option<&IQueryContinue>, dwcontinuepollinterval: u32) -> windows_core::Result<()>;
fn PlaySound(&self, pszsoundname: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IUserNotification {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IUserNotification_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUserNotification_Vtbl
where
Identity: IUserNotification_Impl,
{
unsafe extern "system" fn SetBalloonInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztitle: windows_core::PCWSTR, psztext: windows_core::PCWSTR, dwinfoflags: u32) -> windows_core::HRESULT
where
Identity: IUserNotification_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification_Impl::SetBalloonInfo(this, core::mem::transmute(&psztitle), core::mem::transmute(&psztext), core::mem::transmute_copy(&dwinfoflags)).into()
}
unsafe extern "system" fn SetBalloonRetry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwshowtime: u32, dwinterval: u32, cretrycount: u32) -> windows_core::HRESULT
where
Identity: IUserNotification_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification_Impl::SetBalloonRetry(this, core::mem::transmute_copy(&dwshowtime), core::mem::transmute_copy(&dwinterval), core::mem::transmute_copy(&cretrycount)).into()
}
unsafe extern "system" fn SetIconInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hicon: super::WindowsAndMessaging::HICON, psztooltip: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IUserNotification_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification_Impl::SetIconInfo(this, core::mem::transmute_copy(&hicon), core::mem::transmute(&psztooltip)).into()
}
unsafe extern "system" fn Show<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pqc: *mut core::ffi::c_void, dwcontinuepollinterval: u32) -> windows_core::HRESULT
where
Identity: IUserNotification_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification_Impl::Show(this, windows_core::from_raw_borrowed(&pqc), core::mem::transmute_copy(&dwcontinuepollinterval)).into()
}
unsafe extern "system" fn PlaySound<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszsoundname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IUserNotification_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification_Impl::PlaySound(this, core::mem::transmute(&pszsoundname)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetBalloonInfo: SetBalloonInfo::<Identity, OFFSET>,
SetBalloonRetry: SetBalloonRetry::<Identity, OFFSET>,
SetIconInfo: SetIconInfo::<Identity, OFFSET>,
Show: Show::<Identity, OFFSET>,
PlaySound: PlaySound::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUserNotification as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
pub trait IUserNotification2_Impl: Sized {
fn SetBalloonInfo(&self, psztitle: &windows_core::PCWSTR, psztext: &windows_core::PCWSTR, dwinfoflags: u32) -> windows_core::Result<()>;
fn SetBalloonRetry(&self, dwshowtime: u32, dwinterval: u32, cretrycount: u32) -> windows_core::Result<()>;
fn SetIconInfo(&self, hicon: super::WindowsAndMessaging::HICON, psztooltip: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn Show(&self, pqc: Option<&IQueryContinue>, dwcontinuepollinterval: u32, psink: Option<&IUserNotificationCallback>) -> windows_core::Result<()>;
fn PlaySound(&self, pszsoundname: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl windows_core::RuntimeName for IUserNotification2 {}
#[cfg(feature = "Win32_UI_WindowsAndMessaging")]
impl IUserNotification2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUserNotification2_Vtbl
where
Identity: IUserNotification2_Impl,
{
unsafe extern "system" fn SetBalloonInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, psztitle: windows_core::PCWSTR, psztext: windows_core::PCWSTR, dwinfoflags: u32) -> windows_core::HRESULT
where
Identity: IUserNotification2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification2_Impl::SetBalloonInfo(this, core::mem::transmute(&psztitle), core::mem::transmute(&psztext), core::mem::transmute_copy(&dwinfoflags)).into()
}
unsafe extern "system" fn SetBalloonRetry<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, dwshowtime: u32, dwinterval: u32, cretrycount: u32) -> windows_core::HRESULT
where
Identity: IUserNotification2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification2_Impl::SetBalloonRetry(this, core::mem::transmute_copy(&dwshowtime), core::mem::transmute_copy(&dwinterval), core::mem::transmute_copy(&cretrycount)).into()
}
unsafe extern "system" fn SetIconInfo<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hicon: super::WindowsAndMessaging::HICON, psztooltip: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IUserNotification2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification2_Impl::SetIconInfo(this, core::mem::transmute_copy(&hicon), core::mem::transmute(&psztooltip)).into()
}
unsafe extern "system" fn Show<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pqc: *mut core::ffi::c_void, dwcontinuepollinterval: u32, psink: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IUserNotification2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification2_Impl::Show(this, windows_core::from_raw_borrowed(&pqc), core::mem::transmute_copy(&dwcontinuepollinterval), windows_core::from_raw_borrowed(&psink)).into()
}
unsafe extern "system" fn PlaySound<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszsoundname: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IUserNotification2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotification2_Impl::PlaySound(this, core::mem::transmute(&pszsoundname)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetBalloonInfo: SetBalloonInfo::<Identity, OFFSET>,
SetBalloonRetry: SetBalloonRetry::<Identity, OFFSET>,
SetIconInfo: SetIconInfo::<Identity, OFFSET>,
Show: Show::<Identity, OFFSET>,
PlaySound: PlaySound::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUserNotification2 as windows_core::Interface>::IID
}
}
pub trait IUserNotificationCallback_Impl: Sized {
fn OnBalloonUserClick(&self, pt: *const super::super::Foundation::POINT) -> windows_core::Result<()>;
fn OnLeftClick(&self, pt: *const super::super::Foundation::POINT) -> windows_core::Result<()>;
fn OnContextMenu(&self, pt: *const super::super::Foundation::POINT) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IUserNotificationCallback {}
impl IUserNotificationCallback_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IUserNotificationCallback_Vtbl
where
Identity: IUserNotificationCallback_Impl,
{
unsafe extern "system" fn OnBalloonUserClick<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pt: *const super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IUserNotificationCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotificationCallback_Impl::OnBalloonUserClick(this, core::mem::transmute_copy(&pt)).into()
}
unsafe extern "system" fn OnLeftClick<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pt: *const super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IUserNotificationCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotificationCallback_Impl::OnLeftClick(this, core::mem::transmute_copy(&pt)).into()
}
unsafe extern "system" fn OnContextMenu<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pt: *const super::super::Foundation::POINT) -> windows_core::HRESULT
where
Identity: IUserNotificationCallback_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IUserNotificationCallback_Impl::OnContextMenu(this, core::mem::transmute_copy(&pt)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
OnBalloonUserClick: OnBalloonUserClick::<Identity, OFFSET>,
OnLeftClick: OnLeftClick::<Identity, OFFSET>,
OnContextMenu: OnContextMenu::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IUserNotificationCallback as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Shell_Common")]
pub trait IViewStateIdentityItem_Impl: Sized + IRelatedItem_Impl {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl windows_core::RuntimeName for IViewStateIdentityItem {}
#[cfg(feature = "Win32_UI_Shell_Common")]
impl IViewStateIdentityItem_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IViewStateIdentityItem_Vtbl
where
Identity: IViewStateIdentityItem_Impl,
{
Self { base__: IRelatedItem_Vtbl::new::<Identity, OFFSET>() }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IViewStateIdentityItem as windows_core::Interface>::IID || iid == &<IRelatedItem as windows_core::Interface>::IID
}
}
pub trait IVirtualDesktopManager_Impl: Sized {
fn IsWindowOnCurrentVirtualDesktop(&self, toplevelwindow: super::super::Foundation::HWND) -> windows_core::Result<super::super::Foundation::BOOL>;
fn GetWindowDesktopId(&self, toplevelwindow: super::super::Foundation::HWND) -> windows_core::Result<windows_core::GUID>;
fn MoveWindowToDesktop(&self, toplevelwindow: super::super::Foundation::HWND, desktopid: *const windows_core::GUID) -> windows_core::Result<()>;
}
impl windows_core::RuntimeName for IVirtualDesktopManager {}
impl IVirtualDesktopManager_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IVirtualDesktopManager_Vtbl
where
Identity: IVirtualDesktopManager_Impl,
{
unsafe extern "system" fn IsWindowOnCurrentVirtualDesktop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, toplevelwindow: super::super::Foundation::HWND, oncurrentdesktop: *mut super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IVirtualDesktopManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IVirtualDesktopManager_Impl::IsWindowOnCurrentVirtualDesktop(this, core::mem::transmute_copy(&toplevelwindow)) {
Ok(ok__) => {
oncurrentdesktop.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetWindowDesktopId<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, toplevelwindow: super::super::Foundation::HWND, desktopid: *mut windows_core::GUID) -> windows_core::HRESULT
where
Identity: IVirtualDesktopManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IVirtualDesktopManager_Impl::GetWindowDesktopId(this, core::mem::transmute_copy(&toplevelwindow)) {
Ok(ok__) => {
desktopid.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn MoveWindowToDesktop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, toplevelwindow: super::super::Foundation::HWND, desktopid: *const windows_core::GUID) -> windows_core::HRESULT
where
Identity: IVirtualDesktopManager_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVirtualDesktopManager_Impl::MoveWindowToDesktop(this, core::mem::transmute_copy(&toplevelwindow), core::mem::transmute_copy(&desktopid)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
IsWindowOnCurrentVirtualDesktop: IsWindowOnCurrentVirtualDesktop::<Identity, OFFSET>,
GetWindowDesktopId: GetWindowDesktopId::<Identity, OFFSET>,
MoveWindowToDesktop: MoveWindowToDesktop::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IVirtualDesktopManager as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_Graphics_Gdi")]
pub trait IVisualProperties_Impl: Sized {
fn SetWatermark(&self, hbmp: super::super::Graphics::Gdi::HBITMAP, vpwf: VPWATERMARKFLAGS) -> windows_core::Result<()>;
fn SetColor(&self, vpcf: VPCOLORFLAGS, cr: super::super::Foundation::COLORREF) -> windows_core::Result<()>;
fn GetColor(&self, vpcf: VPCOLORFLAGS) -> windows_core::Result<super::super::Foundation::COLORREF>;
fn SetItemHeight(&self, cyiteminpixels: i32) -> windows_core::Result<()>;
fn GetItemHeight(&self) -> windows_core::Result<i32>;
fn SetFont(&self, plf: *const super::super::Graphics::Gdi::LOGFONTW, bredraw: super::super::Foundation::BOOL) -> windows_core::Result<()>;
fn GetFont(&self, plf: *mut super::super::Graphics::Gdi::LOGFONTW) -> windows_core::Result<()>;
fn SetTheme(&self, pszsubappname: &windows_core::PCWSTR, pszsubidlist: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl windows_core::RuntimeName for IVisualProperties {}
#[cfg(feature = "Win32_Graphics_Gdi")]
impl IVisualProperties_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IVisualProperties_Vtbl
where
Identity: IVisualProperties_Impl,
{
unsafe extern "system" fn SetWatermark<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, hbmp: super::super::Graphics::Gdi::HBITMAP, vpwf: VPWATERMARKFLAGS) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVisualProperties_Impl::SetWatermark(this, core::mem::transmute_copy(&hbmp), core::mem::transmute_copy(&vpwf)).into()
}
unsafe extern "system" fn SetColor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vpcf: VPCOLORFLAGS, cr: super::super::Foundation::COLORREF) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVisualProperties_Impl::SetColor(this, core::mem::transmute_copy(&vpcf), core::mem::transmute_copy(&cr)).into()
}
unsafe extern "system" fn GetColor<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vpcf: VPCOLORFLAGS, pcr: *mut super::super::Foundation::COLORREF) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IVisualProperties_Impl::GetColor(this, core::mem::transmute_copy(&vpcf)) {
Ok(ok__) => {
pcr.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetItemHeight<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cyiteminpixels: i32) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVisualProperties_Impl::SetItemHeight(this, core::mem::transmute_copy(&cyiteminpixels)).into()
}
unsafe extern "system" fn GetItemHeight<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cyiteminpixels: *mut i32) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IVisualProperties_Impl::GetItemHeight(this) {
Ok(ok__) => {
cyiteminpixels.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFont<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plf: *const super::super::Graphics::Gdi::LOGFONTW, bredraw: super::super::Foundation::BOOL) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVisualProperties_Impl::SetFont(this, core::mem::transmute_copy(&plf), core::mem::transmute_copy(&bredraw)).into()
}
unsafe extern "system" fn GetFont<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plf: *mut super::super::Graphics::Gdi::LOGFONTW) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVisualProperties_Impl::GetFont(this, core::mem::transmute_copy(&plf)).into()
}
unsafe extern "system" fn SetTheme<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszsubappname: windows_core::PCWSTR, pszsubidlist: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IVisualProperties_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IVisualProperties_Impl::SetTheme(this, core::mem::transmute(&pszsubappname), core::mem::transmute(&pszsubidlist)).into()
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
SetWatermark: SetWatermark::<Identity, OFFSET>,
SetColor: SetColor::<Identity, OFFSET>,
GetColor: GetColor::<Identity, OFFSET>,
SetItemHeight: SetItemHeight::<Identity, OFFSET>,
GetItemHeight: GetItemHeight::<Identity, OFFSET>,
SetFont: SetFont::<Identity, OFFSET>,
GetFont: GetFont::<Identity, OFFSET>,
SetTheme: SetTheme::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IVisualProperties as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IWebBrowser_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn GoBack(&self) -> windows_core::Result<()>;
fn GoForward(&self) -> windows_core::Result<()>;
fn GoHome(&self) -> windows_core::Result<()>;
fn GoSearch(&self) -> windows_core::Result<()>;
fn Navigate(&self, url: &windows_core::BSTR, flags: *const windows_core::VARIANT, targetframename: *const windows_core::VARIANT, postdata: *const windows_core::VARIANT, headers: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn Refresh(&self) -> windows_core::Result<()>;
fn Refresh2(&self, level: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn Stop(&self) -> windows_core::Result<()>;
fn Application(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Parent(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Container(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn Document(&self) -> windows_core::Result<super::super::System::Com::IDispatch>;
fn TopLevelContainer(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn Type(&self) -> windows_core::Result<windows_core::BSTR>;
fn Left(&self) -> windows_core::Result<i32>;
fn SetLeft(&self, left: i32) -> windows_core::Result<()>;
fn Top(&self) -> windows_core::Result<i32>;
fn SetTop(&self, top: i32) -> windows_core::Result<()>;
fn Width(&self) -> windows_core::Result<i32>;
fn SetWidth(&self, width: i32) -> windows_core::Result<()>;
fn Height(&self) -> windows_core::Result<i32>;
fn SetHeight(&self, height: i32) -> windows_core::Result<()>;
fn LocationName(&self) -> windows_core::Result<windows_core::BSTR>;
fn LocationURL(&self) -> windows_core::Result<windows_core::BSTR>;
fn Busy(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IWebBrowser {}
#[cfg(feature = "Win32_System_Com")]
impl IWebBrowser_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWebBrowser_Vtbl
where
Identity: IWebBrowser_Impl,
{
unsafe extern "system" fn GoBack<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::GoBack(this).into()
}
unsafe extern "system" fn GoForward<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::GoForward(this).into()
}
unsafe extern "system" fn GoHome<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::GoHome(this).into()
}
unsafe extern "system" fn GoSearch<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::GoSearch(this).into()
}
unsafe extern "system" fn Navigate<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: core::mem::MaybeUninit<windows_core::BSTR>, flags: *const core::mem::MaybeUninit<windows_core::VARIANT>, targetframename: *const core::mem::MaybeUninit<windows_core::VARIANT>, postdata: *const core::mem::MaybeUninit<windows_core::VARIANT>, headers: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::Navigate(this, core::mem::transmute(&url), core::mem::transmute_copy(&flags), core::mem::transmute_copy(&targetframename), core::mem::transmute_copy(&postdata), core::mem::transmute_copy(&headers)).into()
}
unsafe extern "system" fn Refresh<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::Refresh(this).into()
}
unsafe extern "system" fn Refresh2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, level: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::Refresh2(this, core::mem::transmute_copy(&level)).into()
}
unsafe extern "system" fn Stop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::Stop(this).into()
}
unsafe extern "system" fn Application<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppdisp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Application(this) {
Ok(ok__) => {
ppdisp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Parent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppdisp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Parent(this) {
Ok(ok__) => {
ppdisp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Container<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppdisp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Container(this) {
Ok(ok__) => {
ppdisp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Document<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, ppdisp: *mut *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Document(this) {
Ok(ok__) => {
ppdisp.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn TopLevelContainer<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::TopLevelContainer(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Type<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, r#type: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Type(this) {
Ok(ok__) => {
r#type.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Left<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pl: *mut i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Left(this) {
Ok(ok__) => {
pl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetLeft<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, left: i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::SetLeft(this, core::mem::transmute_copy(&left)).into()
}
unsafe extern "system" fn Top<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pl: *mut i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Top(this) {
Ok(ok__) => {
pl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTop<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, top: i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::SetTop(this, core::mem::transmute_copy(&top)).into()
}
unsafe extern "system" fn Width<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pl: *mut i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Width(this) {
Ok(ok__) => {
pl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWidth<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, width: i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::SetWidth(this, core::mem::transmute_copy(&width)).into()
}
unsafe extern "system" fn Height<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pl: *mut i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Height(this) {
Ok(ok__) => {
pl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetHeight<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, height: i32) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser_Impl::SetHeight(this, core::mem::transmute_copy(&height)).into()
}
unsafe extern "system" fn LocationName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, locationname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::LocationName(this) {
Ok(ok__) => {
locationname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn LocationURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, locationurl: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::LocationURL(this) {
Ok(ok__) => {
locationurl.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Busy<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser_Impl::Busy(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
GoBack: GoBack::<Identity, OFFSET>,
GoForward: GoForward::<Identity, OFFSET>,
GoHome: GoHome::<Identity, OFFSET>,
GoSearch: GoSearch::<Identity, OFFSET>,
Navigate: Navigate::<Identity, OFFSET>,
Refresh: Refresh::<Identity, OFFSET>,
Refresh2: Refresh2::<Identity, OFFSET>,
Stop: Stop::<Identity, OFFSET>,
Application: Application::<Identity, OFFSET>,
Parent: Parent::<Identity, OFFSET>,
Container: Container::<Identity, OFFSET>,
Document: Document::<Identity, OFFSET>,
TopLevelContainer: TopLevelContainer::<Identity, OFFSET>,
Type: Type::<Identity, OFFSET>,
Left: Left::<Identity, OFFSET>,
SetLeft: SetLeft::<Identity, OFFSET>,
Top: Top::<Identity, OFFSET>,
SetTop: SetTop::<Identity, OFFSET>,
Width: Width::<Identity, OFFSET>,
SetWidth: SetWidth::<Identity, OFFSET>,
Height: Height::<Identity, OFFSET>,
SetHeight: SetHeight::<Identity, OFFSET>,
LocationName: LocationName::<Identity, OFFSET>,
LocationURL: LocationURL::<Identity, OFFSET>,
Busy: Busy::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWebBrowser as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
pub trait IWebBrowser2_Impl: Sized + IWebBrowserApp_Impl {
fn Navigate2(&self, url: *const windows_core::VARIANT, flags: *const windows_core::VARIANT, targetframename: *const windows_core::VARIANT, postdata: *const windows_core::VARIANT, headers: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn QueryStatusWB(&self, cmdid: super::super::System::Ole::OLECMDID) -> windows_core::Result<super::super::System::Ole::OLECMDF>;
fn ExecWB(&self, cmdid: super::super::System::Ole::OLECMDID, cmdexecopt: super::super::System::Ole::OLECMDEXECOPT, pvain: *const windows_core::VARIANT, pvaout: *mut windows_core::VARIANT) -> windows_core::Result<()>;
fn ShowBrowserBar(&self, pvaclsid: *const windows_core::VARIANT, pvarshow: *const windows_core::VARIANT, pvarsize: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn ReadyState(&self) -> windows_core::Result<super::super::System::Ole::READYSTATE>;
fn Offline(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetOffline(&self, boffline: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn Silent(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetSilent(&self, bsilent: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn RegisterAsBrowser(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetRegisterAsBrowser(&self, bregister: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn RegisterAsDropTarget(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetRegisterAsDropTarget(&self, bregister: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn TheaterMode(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetTheaterMode(&self, bregister: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn AddressBar(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetAddressBar(&self, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn Resizable(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetResizable(&self, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl windows_core::RuntimeName for IWebBrowser2 {}
#[cfg(all(feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
impl IWebBrowser2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWebBrowser2_Vtbl
where
Identity: IWebBrowser2_Impl,
{
unsafe extern "system" fn Navigate2<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, url: *const core::mem::MaybeUninit<windows_core::VARIANT>, flags: *const core::mem::MaybeUninit<windows_core::VARIANT>, targetframename: *const core::mem::MaybeUninit<windows_core::VARIANT>, postdata: *const core::mem::MaybeUninit<windows_core::VARIANT>, headers: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::Navigate2(this, core::mem::transmute_copy(&url), core::mem::transmute_copy(&flags), core::mem::transmute_copy(&targetframename), core::mem::transmute_copy(&postdata), core::mem::transmute_copy(&headers)).into()
}
unsafe extern "system" fn QueryStatusWB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cmdid: super::super::System::Ole::OLECMDID, pcmdf: *mut super::super::System::Ole::OLECMDF) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::QueryStatusWB(this, core::mem::transmute_copy(&cmdid)) {
Ok(ok__) => {
pcmdf.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn ExecWB<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, cmdid: super::super::System::Ole::OLECMDID, cmdexecopt: super::super::System::Ole::OLECMDEXECOPT, pvain: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvaout: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::ExecWB(this, core::mem::transmute_copy(&cmdid), core::mem::transmute_copy(&cmdexecopt), core::mem::transmute_copy(&pvain), core::mem::transmute_copy(&pvaout)).into()
}
unsafe extern "system" fn ShowBrowserBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pvaclsid: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarshow: *const core::mem::MaybeUninit<windows_core::VARIANT>, pvarsize: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::ShowBrowserBar(this, core::mem::transmute_copy(&pvaclsid), core::mem::transmute_copy(&pvarshow), core::mem::transmute_copy(&pvarsize)).into()
}
unsafe extern "system" fn ReadyState<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, plreadystate: *mut super::super::System::Ole::READYSTATE) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::ReadyState(this) {
Ok(ok__) => {
plreadystate.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Offline<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pboffline: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::Offline(this) {
Ok(ok__) => {
pboffline.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetOffline<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, boffline: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetOffline(this, core::mem::transmute_copy(&boffline)).into()
}
unsafe extern "system" fn Silent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbsilent: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::Silent(this) {
Ok(ok__) => {
pbsilent.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetSilent<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bsilent: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetSilent(this, core::mem::transmute_copy(&bsilent)).into()
}
unsafe extern "system" fn RegisterAsBrowser<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbregister: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::RegisterAsBrowser(this) {
Ok(ok__) => {
pbregister.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRegisterAsBrowser<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bregister: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetRegisterAsBrowser(this, core::mem::transmute_copy(&bregister)).into()
}
unsafe extern "system" fn RegisterAsDropTarget<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbregister: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::RegisterAsDropTarget(this) {
Ok(ok__) => {
pbregister.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetRegisterAsDropTarget<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bregister: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetRegisterAsDropTarget(this, core::mem::transmute_copy(&bregister)).into()
}
unsafe extern "system" fn TheaterMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbregister: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::TheaterMode(this) {
Ok(ok__) => {
pbregister.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetTheaterMode<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bregister: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetTheaterMode(this, core::mem::transmute_copy(&bregister)).into()
}
unsafe extern "system" fn AddressBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::AddressBar(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetAddressBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetAddressBar(this, core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn Resizable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowser2_Impl::Resizable(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetResizable<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowser2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowser2_Impl::SetResizable(this, core::mem::transmute_copy(&value)).into()
}
Self {
base__: IWebBrowserApp_Vtbl::new::<Identity, OFFSET>(),
Navigate2: Navigate2::<Identity, OFFSET>,
QueryStatusWB: QueryStatusWB::<Identity, OFFSET>,
ExecWB: ExecWB::<Identity, OFFSET>,
ShowBrowserBar: ShowBrowserBar::<Identity, OFFSET>,
ReadyState: ReadyState::<Identity, OFFSET>,
Offline: Offline::<Identity, OFFSET>,
SetOffline: SetOffline::<Identity, OFFSET>,
Silent: Silent::<Identity, OFFSET>,
SetSilent: SetSilent::<Identity, OFFSET>,
RegisterAsBrowser: RegisterAsBrowser::<Identity, OFFSET>,
SetRegisterAsBrowser: SetRegisterAsBrowser::<Identity, OFFSET>,
RegisterAsDropTarget: RegisterAsDropTarget::<Identity, OFFSET>,
SetRegisterAsDropTarget: SetRegisterAsDropTarget::<Identity, OFFSET>,
TheaterMode: TheaterMode::<Identity, OFFSET>,
SetTheaterMode: SetTheaterMode::<Identity, OFFSET>,
AddressBar: AddressBar::<Identity, OFFSET>,
SetAddressBar: SetAddressBar::<Identity, OFFSET>,
Resizable: Resizable::<Identity, OFFSET>,
SetResizable: SetResizable::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWebBrowser2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IWebBrowser as windows_core::Interface>::IID || iid == &<IWebBrowserApp as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IWebBrowserApp_Impl: Sized + IWebBrowser_Impl {
fn Quit(&self) -> windows_core::Result<()>;
fn ClientToWindow(&self, pcx: *mut i32, pcy: *mut i32) -> windows_core::Result<()>;
fn PutProperty(&self, property: &windows_core::BSTR, vtvalue: &windows_core::VARIANT) -> windows_core::Result<()>;
fn GetProperty(&self, property: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn Name(&self) -> windows_core::Result<windows_core::BSTR>;
fn HWND(&self) -> windows_core::Result<super::super::Foundation::SHANDLE_PTR>;
fn FullName(&self) -> windows_core::Result<windows_core::BSTR>;
fn Path(&self) -> windows_core::Result<windows_core::BSTR>;
fn Visible(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetVisible(&self, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn StatusBar(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetStatusBar(&self, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn StatusText(&self) -> windows_core::Result<windows_core::BSTR>;
fn SetStatusText(&self, statustext: &windows_core::BSTR) -> windows_core::Result<()>;
fn ToolBar(&self) -> windows_core::Result<i32>;
fn SetToolBar(&self, value: i32) -> windows_core::Result<()>;
fn MenuBar(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetMenuBar(&self, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn FullScreen(&self) -> windows_core::Result<super::super::Foundation::VARIANT_BOOL>;
fn SetFullScreen(&self, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IWebBrowserApp {}
#[cfg(feature = "Win32_System_Com")]
impl IWebBrowserApp_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWebBrowserApp_Vtbl
where
Identity: IWebBrowserApp_Impl,
{
unsafe extern "system" fn Quit<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::Quit(this).into()
}
unsafe extern "system" fn ClientToWindow<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pcx: *mut i32, pcy: *mut i32) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::ClientToWindow(this, core::mem::transmute_copy(&pcx), core::mem::transmute_copy(&pcy)).into()
}
unsafe extern "system" fn PutProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, property: core::mem::MaybeUninit<windows_core::BSTR>, vtvalue: core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::PutProperty(this, core::mem::transmute(&property), core::mem::transmute(&vtvalue)).into()
}
unsafe extern "system" fn GetProperty<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, property: core::mem::MaybeUninit<windows_core::BSTR>, pvtvalue: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::GetProperty(this, core::mem::transmute(&property)) {
Ok(ok__) => {
pvtvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Name<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, name: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::Name(this) {
Ok(ok__) => {
name.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn HWND<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phwnd: *mut super::super::Foundation::SHANDLE_PTR) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::HWND(this) {
Ok(ok__) => {
phwnd.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn FullName<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, fullname: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::FullName(this) {
Ok(ok__) => {
fullname.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Path<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, path: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::Path(this) {
Ok(ok__) => {
path.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn Visible<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::Visible(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetVisible<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::SetVisible(this, core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn StatusBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbool: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::StatusBar(this) {
Ok(ok__) => {
pbool.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStatusBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::SetStatusBar(this, core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn StatusText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, statustext: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::StatusText(this) {
Ok(ok__) => {
statustext.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetStatusText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, statustext: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::SetStatusText(this, core::mem::transmute(&statustext)).into()
}
unsafe extern "system" fn ToolBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut i32) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::ToolBar(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetToolBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: i32) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::SetToolBar(this, core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn MenuBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::MenuBar(this) {
Ok(ok__) => {
value.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetMenuBar<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::SetMenuBar(this, core::mem::transmute_copy(&value)).into()
}
unsafe extern "system" fn FullScreen<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbfullscreen: *mut super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebBrowserApp_Impl::FullScreen(this) {
Ok(ok__) => {
pbfullscreen.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetFullScreen<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bfullscreen: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebBrowserApp_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebBrowserApp_Impl::SetFullScreen(this, core::mem::transmute_copy(&bfullscreen)).into()
}
Self {
base__: IWebBrowser_Vtbl::new::<Identity, OFFSET>(),
Quit: Quit::<Identity, OFFSET>,
ClientToWindow: ClientToWindow::<Identity, OFFSET>,
PutProperty: PutProperty::<Identity, OFFSET>,
GetProperty: GetProperty::<Identity, OFFSET>,
Name: Name::<Identity, OFFSET>,
HWND: HWND::<Identity, OFFSET>,
FullName: FullName::<Identity, OFFSET>,
Path: Path::<Identity, OFFSET>,
Visible: Visible::<Identity, OFFSET>,
SetVisible: SetVisible::<Identity, OFFSET>,
StatusBar: StatusBar::<Identity, OFFSET>,
SetStatusBar: SetStatusBar::<Identity, OFFSET>,
StatusText: StatusText::<Identity, OFFSET>,
SetStatusText: SetStatusText::<Identity, OFFSET>,
ToolBar: ToolBar::<Identity, OFFSET>,
SetToolBar: SetToolBar::<Identity, OFFSET>,
MenuBar: MenuBar::<Identity, OFFSET>,
SetMenuBar: SetMenuBar::<Identity, OFFSET>,
FullScreen: FullScreen::<Identity, OFFSET>,
SetFullScreen: SetFullScreen::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWebBrowserApp as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IWebBrowser as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Controls")]
pub trait IWebWizardExtension_Impl: Sized + IWizardExtension_Impl {
fn SetInitialURL(&self, pszurl: &windows_core::PCWSTR) -> windows_core::Result<()>;
fn SetErrorURL(&self, pszerrorurl: &windows_core::PCWSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_UI_Controls")]
impl windows_core::RuntimeName for IWebWizardExtension {}
#[cfg(feature = "Win32_UI_Controls")]
impl IWebWizardExtension_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWebWizardExtension_Vtbl
where
Identity: IWebWizardExtension_Impl,
{
unsafe extern "system" fn SetInitialURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszurl: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IWebWizardExtension_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardExtension_Impl::SetInitialURL(this, core::mem::transmute(&pszurl)).into()
}
unsafe extern "system" fn SetErrorURL<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pszerrorurl: windows_core::PCWSTR) -> windows_core::HRESULT
where
Identity: IWebWizardExtension_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardExtension_Impl::SetErrorURL(this, core::mem::transmute(&pszerrorurl)).into()
}
Self {
base__: IWizardExtension_Vtbl::new::<Identity, OFFSET>(),
SetInitialURL: SetInitialURL::<Identity, OFFSET>,
SetErrorURL: SetErrorURL::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWebWizardExtension as windows_core::Interface>::IID || iid == &<IWizardExtension as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IWebWizardHost_Impl: Sized + super::super::System::Com::IDispatch_Impl {
fn FinalBack(&self) -> windows_core::Result<()>;
fn FinalNext(&self) -> windows_core::Result<()>;
fn Cancel(&self) -> windows_core::Result<()>;
fn SetCaption(&self, bstrcaption: &windows_core::BSTR) -> windows_core::Result<()>;
fn Caption(&self) -> windows_core::Result<windows_core::BSTR>;
fn put_Property(&self, bstrpropertyname: &windows_core::BSTR, pvproperty: *const windows_core::VARIANT) -> windows_core::Result<()>;
fn get_Property(&self, bstrpropertyname: &windows_core::BSTR) -> windows_core::Result<windows_core::VARIANT>;
fn SetWizardButtons(&self, vfenableback: super::super::Foundation::VARIANT_BOOL, vfenablenext: super::super::Foundation::VARIANT_BOOL, vflastpage: super::super::Foundation::VARIANT_BOOL) -> windows_core::Result<()>;
fn SetHeaderText(&self, bstrheadertitle: &windows_core::BSTR, bstrheadersubtitle: &windows_core::BSTR) -> windows_core::Result<()>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IWebWizardHost {}
#[cfg(feature = "Win32_System_Com")]
impl IWebWizardHost_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWebWizardHost_Vtbl
where
Identity: IWebWizardHost_Impl,
{
unsafe extern "system" fn FinalBack<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::FinalBack(this).into()
}
unsafe extern "system" fn FinalNext<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::FinalNext(this).into()
}
unsafe extern "system" fn Cancel<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::Cancel(this).into()
}
unsafe extern "system" fn SetCaption<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrcaption: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::SetCaption(this, core::mem::transmute(&bstrcaption)).into()
}
unsafe extern "system" fn Caption<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, pbstrcaption: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebWizardHost_Impl::Caption(this) {
Ok(ok__) => {
pbstrcaption.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn put_Property<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrpropertyname: core::mem::MaybeUninit<windows_core::BSTR>, pvproperty: *const core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::put_Property(this, core::mem::transmute(&bstrpropertyname), core::mem::transmute_copy(&pvproperty)).into()
}
unsafe extern "system" fn get_Property<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrpropertyname: core::mem::MaybeUninit<windows_core::BSTR>, pvproperty: *mut core::mem::MaybeUninit<windows_core::VARIANT>) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebWizardHost_Impl::get_Property(this, core::mem::transmute(&bstrpropertyname)) {
Ok(ok__) => {
pvproperty.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn SetWizardButtons<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, vfenableback: super::super::Foundation::VARIANT_BOOL, vfenablenext: super::super::Foundation::VARIANT_BOOL, vflastpage: super::super::Foundation::VARIANT_BOOL) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::SetWizardButtons(this, core::mem::transmute_copy(&vfenableback), core::mem::transmute_copy(&vfenablenext), core::mem::transmute_copy(&vflastpage)).into()
}
unsafe extern "system" fn SetHeaderText<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, bstrheadertitle: core::mem::MaybeUninit<windows_core::BSTR>, bstrheadersubtitle: core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebWizardHost_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWebWizardHost_Impl::SetHeaderText(this, core::mem::transmute(&bstrheadertitle), core::mem::transmute(&bstrheadersubtitle)).into()
}
Self {
base__: super::super::System::Com::IDispatch_Vtbl::new::<Identity, OFFSET>(),
FinalBack: FinalBack::<Identity, OFFSET>,
FinalNext: FinalNext::<Identity, OFFSET>,
Cancel: Cancel::<Identity, OFFSET>,
SetCaption: SetCaption::<Identity, OFFSET>,
Caption: Caption::<Identity, OFFSET>,
put_Property: put_Property::<Identity, OFFSET>,
get_Property: get_Property::<Identity, OFFSET>,
SetWizardButtons: SetWizardButtons::<Identity, OFFSET>,
SetHeaderText: SetHeaderText::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWebWizardHost as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_System_Com")]
pub trait IWebWizardHost2_Impl: Sized + IWebWizardHost_Impl {
fn SignString(&self, value: &windows_core::BSTR) -> windows_core::Result<windows_core::BSTR>;
}
#[cfg(feature = "Win32_System_Com")]
impl windows_core::RuntimeName for IWebWizardHost2 {}
#[cfg(feature = "Win32_System_Com")]
impl IWebWizardHost2_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWebWizardHost2_Vtbl
where
Identity: IWebWizardHost2_Impl,
{
unsafe extern "system" fn SignString<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, value: core::mem::MaybeUninit<windows_core::BSTR>, signedvalue: *mut core::mem::MaybeUninit<windows_core::BSTR>) -> windows_core::HRESULT
where
Identity: IWebWizardHost2_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWebWizardHost2_Impl::SignString(this, core::mem::transmute(&value)) {
Ok(ok__) => {
signedvalue.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self { base__: IWebWizardHost_Vtbl::new::<Identity, OFFSET>(), SignString: SignString::<Identity, OFFSET> }
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWebWizardHost2 as windows_core::Interface>::IID || iid == &<super::super::System::Com::IDispatch as windows_core::Interface>::IID || iid == &<IWebWizardHost as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Controls")]
pub trait IWizardExtension_Impl: Sized {
fn AddPages(&self, apages: *mut super::Controls::HPROPSHEETPAGE, cpages: u32, pnpagesadded: *mut u32) -> windows_core::Result<()>;
fn GetFirstPage(&self) -> windows_core::Result<super::Controls::HPROPSHEETPAGE>;
fn GetLastPage(&self) -> windows_core::Result<super::Controls::HPROPSHEETPAGE>;
}
#[cfg(feature = "Win32_UI_Controls")]
impl windows_core::RuntimeName for IWizardExtension {}
#[cfg(feature = "Win32_UI_Controls")]
impl IWizardExtension_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWizardExtension_Vtbl
where
Identity: IWizardExtension_Impl,
{
unsafe extern "system" fn AddPages<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, apages: *mut super::Controls::HPROPSHEETPAGE, cpages: u32, pnpagesadded: *mut u32) -> windows_core::HRESULT
where
Identity: IWizardExtension_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
IWizardExtension_Impl::AddPages(this, core::mem::transmute_copy(&apages), core::mem::transmute_copy(&cpages), core::mem::transmute_copy(&pnpagesadded)).into()
}
unsafe extern "system" fn GetFirstPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phpage: *mut super::Controls::HPROPSHEETPAGE) -> windows_core::HRESULT
where
Identity: IWizardExtension_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWizardExtension_Impl::GetFirstPage(this) {
Ok(ok__) => {
phpage.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetLastPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phpage: *mut super::Controls::HPROPSHEETPAGE) -> windows_core::HRESULT
where
Identity: IWizardExtension_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWizardExtension_Impl::GetLastPage(this) {
Ok(ok__) => {
phpage.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
AddPages: AddPages::<Identity, OFFSET>,
GetFirstPage: GetFirstPage::<Identity, OFFSET>,
GetLastPage: GetLastPage::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWizardExtension as windows_core::Interface>::IID
}
}
#[cfg(feature = "Win32_UI_Controls")]
pub trait IWizardSite_Impl: Sized {
fn GetPreviousPage(&self) -> windows_core::Result<super::Controls::HPROPSHEETPAGE>;
fn GetNextPage(&self) -> windows_core::Result<super::Controls::HPROPSHEETPAGE>;
fn GetCancelledPage(&self) -> windows_core::Result<super::Controls::HPROPSHEETPAGE>;
}
#[cfg(feature = "Win32_UI_Controls")]
impl windows_core::RuntimeName for IWizardSite {}
#[cfg(feature = "Win32_UI_Controls")]
impl IWizardSite_Vtbl {
pub const fn new<Identity: windows_core::IUnknownImpl, const OFFSET: isize>() -> IWizardSite_Vtbl
where
Identity: IWizardSite_Impl,
{
unsafe extern "system" fn GetPreviousPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phpage: *mut super::Controls::HPROPSHEETPAGE) -> windows_core::HRESULT
where
Identity: IWizardSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWizardSite_Impl::GetPreviousPage(this) {
Ok(ok__) => {
phpage.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetNextPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phpage: *mut super::Controls::HPROPSHEETPAGE) -> windows_core::HRESULT
where
Identity: IWizardSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWizardSite_Impl::GetNextPage(this) {
Ok(ok__) => {
phpage.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
unsafe extern "system" fn GetCancelledPage<Identity: windows_core::IUnknownImpl, const OFFSET: isize>(this: *mut core::ffi::c_void, phpage: *mut super::Controls::HPROPSHEETPAGE) -> windows_core::HRESULT
where
Identity: IWizardSite_Impl,
{
let this: &Identity = &*((this as *const *const ()).offset(OFFSET) as *const Identity);
match IWizardSite_Impl::GetCancelledPage(this) {
Ok(ok__) => {
phpage.write(core::mem::transmute(ok__));
windows_core::HRESULT(0)
}
Err(err) => err.into(),
}
}
Self {
base__: windows_core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
GetPreviousPage: GetPreviousPage::<Identity, OFFSET>,
GetNextPage: GetNextPage::<Identity, OFFSET>,
GetCancelledPage: GetCancelledPage::<Identity, OFFSET>,
}
}
pub fn matches(iid: &windows_core::GUID) -> bool {
iid == &<IWizardSite as windows_core::Interface>::IID
}
}