]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/Security/ConfigurationSnapin/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Security / ConfigurationSnapin / impl.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_Security_ConfigurationSnapin\"`, `\"implement\"`*"]
2pub trait ISceSvcAttachmentData_Impl: Sized {
3 fn GetData(&self, scesvchandle: *mut ::core::ffi::c_void, scetype: SCESVC_INFO_TYPE, ppvdata: *mut *mut ::core::ffi::c_void, psceenumhandle: *mut u32) -> ::windows::core::Result<()>;
4 fn Initialize(&self, lpservicename: *mut i8, lptemplatename: *mut i8, lpscesvcpersistinfo: ::core::option::Option<&ISceSvcAttachmentPersistInfo>, pscesvchandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
5 fn FreeBuffer(&self, pvdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
6 fn CloseHandle(&self, scesvchandle: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
7}
8impl ::windows::core::RuntimeName for ISceSvcAttachmentData {}
9impl ISceSvcAttachmentData_Vtbl {
10 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentData_Impl, const OFFSET: isize>() -> ISceSvcAttachmentData_Vtbl {
11 unsafe extern "system" fn GetData<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scesvchandle: *mut ::core::ffi::c_void, scetype: SCESVC_INFO_TYPE, ppvdata: *mut *mut ::core::ffi::c_void, psceenumhandle: *mut u32) -> ::windows::core::HRESULT {
12 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
13 let this = (*this).get_impl();
14 this.GetData(::core::mem::transmute_copy(&scesvchandle), ::core::mem::transmute_copy(&scetype), ::core::mem::transmute_copy(&ppvdata), ::core::mem::transmute_copy(&psceenumhandle)).into()
15 }
16 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpservicename: *mut i8, lptemplatename: *mut i8, lpscesvcpersistinfo: *mut ::core::ffi::c_void, pscesvchandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
17 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
18 let this = (*this).get_impl();
19 this.Initialize(::core::mem::transmute_copy(&lpservicename), ::core::mem::transmute_copy(&lptemplatename), ::windows::core::from_raw_borrowed(&lpscesvcpersistinfo), ::core::mem::transmute_copy(&pscesvchandle)).into()
20 }
21 unsafe extern "system" fn FreeBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
22 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
23 let this = (*this).get_impl();
24 this.FreeBuffer(::core::mem::transmute_copy(&pvdata)).into()
25 }
26 unsafe extern "system" fn CloseHandle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scesvchandle: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
27 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
28 let this = (*this).get_impl();
29 this.CloseHandle(::core::mem::transmute_copy(&scesvchandle)).into()
30 }
31 Self {
32 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
33 GetData: GetData::<Identity, Impl, OFFSET>,
34 Initialize: Initialize::<Identity, Impl, OFFSET>,
35 FreeBuffer: FreeBuffer::<Identity, Impl, OFFSET>,
36 CloseHandle: CloseHandle::<Identity, Impl, OFFSET>,
37 }
38 }
39 pub fn matches(iid: &windows::core::GUID) -> bool {
40 iid == &<ISceSvcAttachmentData as ::windows::core::ComInterface>::IID
41 }
42}
43#[doc = "*Required features: `\"Win32_Security_ConfigurationSnapin\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
44#[cfg(feature = "Win32_Foundation")]
45pub trait ISceSvcAttachmentPersistInfo_Impl: Sized {
46 fn Save(&self, lptemplatename: *mut i8, scesvchandle: *mut *mut ::core::ffi::c_void, ppvdata: *mut *mut ::core::ffi::c_void, pboverwriteall: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
47 fn IsDirty(&self, lptemplatename: *mut i8) -> ::windows::core::HRESULT;
48 fn FreeBuffer(&self, pvdata: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
49}
50#[cfg(feature = "Win32_Foundation")]
51impl ::windows::core::RuntimeName for ISceSvcAttachmentPersistInfo {}
52#[cfg(feature = "Win32_Foundation")]
53impl ISceSvcAttachmentPersistInfo_Vtbl {
54 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentPersistInfo_Impl, const OFFSET: isize>() -> ISceSvcAttachmentPersistInfo_Vtbl {
55 unsafe extern "system" fn Save<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentPersistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lptemplatename: *mut i8, scesvchandle: *mut *mut ::core::ffi::c_void, ppvdata: *mut *mut ::core::ffi::c_void, pboverwriteall: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
56 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
57 let this = (*this).get_impl();
58 this.Save(::core::mem::transmute_copy(&lptemplatename), ::core::mem::transmute_copy(&scesvchandle), ::core::mem::transmute_copy(&ppvdata), ::core::mem::transmute_copy(&pboverwriteall)).into()
59 }
60 unsafe extern "system" fn IsDirty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentPersistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lptemplatename: *mut i8) -> ::windows::core::HRESULT {
61 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
62 let this = (*this).get_impl();
63 this.IsDirty(::core::mem::transmute_copy(&lptemplatename))
64 }
65 unsafe extern "system" fn FreeBuffer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISceSvcAttachmentPersistInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvdata: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
66 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
67 let this = (*this).get_impl();
68 this.FreeBuffer(::core::mem::transmute_copy(&pvdata)).into()
69 }
70 Self {
71 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
72 Save: Save::<Identity, Impl, OFFSET>,
73 IsDirty: IsDirty::<Identity, Impl, OFFSET>,
74 FreeBuffer: FreeBuffer::<Identity, Impl, OFFSET>,
75 }
76 }
77 pub fn matches(iid: &windows::core::GUID) -> bool {
78 iid == &<ISceSvcAttachmentPersistInfo as ::windows::core::ComInterface>::IID
79 }
80}