]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/System/ComponentServices/impl.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / System / ComponentServices / impl.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3pub trait ContextInfo_Impl: Sized + super::Com::IDispatch_Impl {
4 fn IsInTransaction(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
5 fn GetTransaction(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
6 fn GetTransactionId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
7 fn GetActivityId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
8 fn GetContextId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
9}
10#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
11impl ::windows::core::RuntimeName for ContextInfo {}
12#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
13impl ContextInfo_Vtbl {
14 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo_Impl, const OFFSET: isize>() -> ContextInfo_Vtbl {
15 unsafe extern "system" fn IsInTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbisintx: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
16 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
17 let this = (*this).get_impl();
18 match this.IsInTransaction() {
19 ::core::result::Result::Ok(ok__) => {
20 ::core::ptr::write(pbisintx, ::core::mem::transmute(ok__));
21 ::windows::core::HRESULT(0)
22 }
23 ::core::result::Result::Err(err) => err.into(),
24 }
25 }
26 unsafe extern "system" fn GetTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptx: *mut *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 match this.GetTransaction() {
30 ::core::result::Result::Ok(ok__) => {
31 ::core::ptr::write(pptx, ::core::mem::transmute(ok__));
32 ::windows::core::HRESULT(0)
33 }
34 ::core::result::Result::Err(err) => err.into(),
35 }
36 }
37 unsafe extern "system" fn GetTransactionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrtxid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
38 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
39 let this = (*this).get_impl();
40 match this.GetTransactionId() {
41 ::core::result::Result::Ok(ok__) => {
42 ::core::ptr::write(pbstrtxid, ::core::mem::transmute(ok__));
43 ::windows::core::HRESULT(0)
44 }
45 ::core::result::Result::Err(err) => err.into(),
46 }
47 }
48 unsafe extern "system" fn GetActivityId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstractivityid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
49 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
50 let this = (*this).get_impl();
51 match this.GetActivityId() {
52 ::core::result::Result::Ok(ok__) => {
53 ::core::ptr::write(pbstractivityid, ::core::mem::transmute(ok__));
54 ::windows::core::HRESULT(0)
55 }
56 ::core::result::Result::Err(err) => err.into(),
57 }
58 }
59 unsafe extern "system" fn GetContextId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrctxid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
60 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
61 let this = (*this).get_impl();
62 match this.GetContextId() {
63 ::core::result::Result::Ok(ok__) => {
64 ::core::ptr::write(pbstrctxid, ::core::mem::transmute(ok__));
65 ::windows::core::HRESULT(0)
66 }
67 ::core::result::Result::Err(err) => err.into(),
68 }
69 }
70 Self {
71 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
72 IsInTransaction: IsInTransaction::<Identity, Impl, OFFSET>,
73 GetTransaction: GetTransaction::<Identity, Impl, OFFSET>,
74 GetTransactionId: GetTransactionId::<Identity, Impl, OFFSET>,
75 GetActivityId: GetActivityId::<Identity, Impl, OFFSET>,
76 GetContextId: GetContextId::<Identity, Impl, OFFSET>,
77 }
78 }
79 pub fn matches(iid: &windows::core::GUID) -> bool {
80 iid == &<ContextInfo as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
81 }
82}
83#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
84#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
85pub trait ContextInfo2_Impl: Sized + ContextInfo_Impl {
86 fn GetPartitionId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
87 fn GetApplicationId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
88 fn GetApplicationInstanceId(&self) -> ::windows::core::Result<::windows::core::BSTR>;
89}
90#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
91impl ::windows::core::RuntimeName for ContextInfo2 {}
92#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
93impl ContextInfo2_Vtbl {
94 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo2_Impl, const OFFSET: isize>() -> ContextInfo2_Vtbl {
95 unsafe extern "system" fn GetPartitionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__contextinfo20000: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
96 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
97 let this = (*this).get_impl();
98 match this.GetPartitionId() {
99 ::core::result::Result::Ok(ok__) => {
100 ::core::ptr::write(__midl__contextinfo20000, ::core::mem::transmute(ok__));
101 ::windows::core::HRESULT(0)
102 }
103 ::core::result::Result::Err(err) => err.into(),
104 }
105 }
106 unsafe extern "system" fn GetApplicationId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__contextinfo20001: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
107 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
108 let this = (*this).get_impl();
109 match this.GetApplicationId() {
110 ::core::result::Result::Ok(ok__) => {
111 ::core::ptr::write(__midl__contextinfo20001, ::core::mem::transmute(ok__));
112 ::windows::core::HRESULT(0)
113 }
114 ::core::result::Result::Err(err) => err.into(),
115 }
116 }
117 unsafe extern "system" fn GetApplicationInstanceId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ContextInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__contextinfo20002: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
118 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
119 let this = (*this).get_impl();
120 match this.GetApplicationInstanceId() {
121 ::core::result::Result::Ok(ok__) => {
122 ::core::ptr::write(__midl__contextinfo20002, ::core::mem::transmute(ok__));
123 ::windows::core::HRESULT(0)
124 }
125 ::core::result::Result::Err(err) => err.into(),
126 }
127 }
128 Self {
129 base__: ContextInfo_Vtbl::new::<Identity, Impl, OFFSET>(),
130 GetPartitionId: GetPartitionId::<Identity, Impl, OFFSET>,
131 GetApplicationId: GetApplicationId::<Identity, Impl, OFFSET>,
132 GetApplicationInstanceId: GetApplicationInstanceId::<Identity, Impl, OFFSET>,
133 }
134 }
135 pub fn matches(iid: &windows::core::GUID) -> bool {
136 iid == &<ContextInfo2 as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ContextInfo as ::windows::core::ComInterface>::IID
137 }
138}
139#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
140#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
141pub trait IAppDomainHelper_Impl: Sized + super::Com::IDispatch_Impl {
142 fn Initialize(&self, punkad: ::core::option::Option<&::windows::core::IUnknown>, __midl__iappdomainhelper0000: isize, ppool: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
143 fn DoCallback(&self, punkad: ::core::option::Option<&::windows::core::IUnknown>, __midl__iappdomainhelper0001: isize, ppool: *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
144}
145#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
146impl ::windows::core::RuntimeName for IAppDomainHelper {}
147#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
148impl IAppDomainHelper_Vtbl {
149 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppDomainHelper_Impl, const OFFSET: isize>() -> IAppDomainHelper_Vtbl {
150 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppDomainHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkad: *mut ::core::ffi::c_void, __midl__iappdomainhelper0000: isize, ppool: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
151 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
152 let this = (*this).get_impl();
153 this.Initialize(::windows::core::from_raw_borrowed(&punkad), ::core::mem::transmute_copy(&__midl__iappdomainhelper0000), ::core::mem::transmute_copy(&ppool)).into()
154 }
155 unsafe extern "system" fn DoCallback<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAppDomainHelper_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkad: *mut ::core::ffi::c_void, __midl__iappdomainhelper0001: isize, ppool: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
156 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
157 let this = (*this).get_impl();
158 this.DoCallback(::windows::core::from_raw_borrowed(&punkad), ::core::mem::transmute_copy(&__midl__iappdomainhelper0001), ::core::mem::transmute_copy(&ppool)).into()
159 }
160 Self {
161 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
162 Initialize: Initialize::<Identity, Impl, OFFSET>,
163 DoCallback: DoCallback::<Identity, Impl, OFFSET>,
164 }
165 }
166 pub fn matches(iid: &windows::core::GUID) -> bool {
167 iid == &<IAppDomainHelper as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
168 }
169}
170#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
171#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
172pub trait IAssemblyLocator_Impl: Sized + super::Com::IDispatch_Impl {
173 fn GetModules(&self, applicationdir: &::windows::core::BSTR, applicationname: &::windows::core::BSTR, assemblyname: &::windows::core::BSTR) -> ::windows::core::Result<*mut super::Com::SAFEARRAY>;
174}
175#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
176impl ::windows::core::RuntimeName for IAssemblyLocator {}
177#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
178impl IAssemblyLocator_Vtbl {
179 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAssemblyLocator_Impl, const OFFSET: isize>() -> IAssemblyLocator_Vtbl {
180 unsafe extern "system" fn GetModules<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAssemblyLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, applicationdir: ::std::mem::MaybeUninit<::windows::core::BSTR>, applicationname: ::std::mem::MaybeUninit<::windows::core::BSTR>, assemblyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pmodules: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
181 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
182 let this = (*this).get_impl();
183 match this.GetModules(::core::mem::transmute(&applicationdir), ::core::mem::transmute(&applicationname), ::core::mem::transmute(&assemblyname)) {
184 ::core::result::Result::Ok(ok__) => {
185 ::core::ptr::write(pmodules, ::core::mem::transmute(ok__));
186 ::windows::core::HRESULT(0)
187 }
188 ::core::result::Result::Err(err) => err.into(),
189 }
190 }
191 Self { base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), GetModules: GetModules::<Identity, Impl, OFFSET> }
192 }
193 pub fn matches(iid: &windows::core::GUID) -> bool {
194 iid == &<IAssemblyLocator as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
195 }
196}
197#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
198pub trait IAsyncErrorNotify_Impl: Sized {
199 fn OnError(&self, hr: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
200}
201impl ::windows::core::RuntimeName for IAsyncErrorNotify {}
202impl IAsyncErrorNotify_Vtbl {
203 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAsyncErrorNotify_Impl, const OFFSET: isize>() -> IAsyncErrorNotify_Vtbl {
204 unsafe extern "system" fn OnError<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IAsyncErrorNotify_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hr: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
205 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
206 let this = (*this).get_impl();
207 this.OnError(::core::mem::transmute_copy(&hr)).into()
208 }
209 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnError: OnError::<Identity, Impl, OFFSET> }
210 }
211 pub fn matches(iid: &windows::core::GUID) -> bool {
212 iid == &<IAsyncErrorNotify as ::windows::core::ComInterface>::IID
213 }
214}
215#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
216#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
217pub trait ICOMAdminCatalog_Impl: Sized + super::Com::IDispatch_Impl {
218 fn GetCollection(&self, bstrcollname: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::IDispatch>;
219 fn Connect(&self, bstrcatalogservername: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::IDispatch>;
220 fn MajorVersion(&self) -> ::windows::core::Result<i32>;
221 fn MinorVersion(&self) -> ::windows::core::Result<i32>;
222 fn GetCollectionByQuery(&self, bstrcollname: &::windows::core::BSTR, ppsavarquery: *const *const super::Com::SAFEARRAY) -> ::windows::core::Result<super::Com::IDispatch>;
223 fn ImportComponent(&self, bstrapplidorname: &::windows::core::BSTR, bstrclsidorprogid: &::windows::core::BSTR) -> ::windows::core::Result<()>;
224 fn InstallComponent(&self, bstrapplidorname: &::windows::core::BSTR, bstrdll: &::windows::core::BSTR, bstrtlb: &::windows::core::BSTR, bstrpsdll: &::windows::core::BSTR) -> ::windows::core::Result<()>;
225 fn ShutdownApplication(&self, bstrapplidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
226 fn ExportApplication(&self, bstrapplidorname: &::windows::core::BSTR, bstrapplicationfile: &::windows::core::BSTR, loptions: COMAdminApplicationExportOptions) -> ::windows::core::Result<()>;
227 fn InstallApplication(&self, bstrapplicationfile: &::windows::core::BSTR, bstrdestinationdirectory: &::windows::core::BSTR, loptions: COMAdminApplicationInstallOptions, bstruserid: &::windows::core::BSTR, bstrpassword: &::windows::core::BSTR, bstrrsn: &::windows::core::BSTR) -> ::windows::core::Result<()>;
228 fn StopRouter(&self) -> ::windows::core::Result<()>;
229 fn RefreshRouter(&self) -> ::windows::core::Result<()>;
230 fn StartRouter(&self) -> ::windows::core::Result<()>;
231 fn Reserved1(&self) -> ::windows::core::Result<()>;
232 fn Reserved2(&self) -> ::windows::core::Result<()>;
233 fn InstallMultipleComponents(&self, bstrapplidorname: &::windows::core::BSTR, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *const *const super::Com::SAFEARRAY) -> ::windows::core::Result<()>;
234 fn GetMultipleComponentsInfo(&self, bstrapplidorname: &::windows::core::BSTR, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *mut *mut super::Com::SAFEARRAY, ppsavarclassnames: *mut *mut super::Com::SAFEARRAY, ppsavarfileflags: *mut *mut super::Com::SAFEARRAY, ppsavarcomponentflags: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::Result<()>;
235 fn RefreshComponents(&self) -> ::windows::core::Result<()>;
236 fn BackupREGDB(&self, bstrbackupfilepath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
237 fn RestoreREGDB(&self, bstrbackupfilepath: &::windows::core::BSTR) -> ::windows::core::Result<()>;
238 fn QueryApplicationFile(&self, bstrapplicationfile: &::windows::core::BSTR, pbstrapplicationname: *mut ::windows::core::BSTR, pbstrapplicationdescription: *mut ::windows::core::BSTR, pbhasusers: *mut super::super::Foundation::VARIANT_BOOL, pbisproxy: *mut super::super::Foundation::VARIANT_BOOL, ppsavarfilenames: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::Result<()>;
239 fn StartApplication(&self, bstrapplidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
240 fn ServiceCheck(&self, lservice: i32) -> ::windows::core::Result<i32>;
241 fn InstallMultipleEventClasses(&self, bstrapplidorname: &::windows::core::BSTR, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *const *const super::Com::SAFEARRAY) -> ::windows::core::Result<()>;
242 fn InstallEventClass(&self, bstrapplidorname: &::windows::core::BSTR, bstrdll: &::windows::core::BSTR, bstrtlb: &::windows::core::BSTR, bstrpsdll: &::windows::core::BSTR) -> ::windows::core::Result<()>;
243 fn GetEventClassesForIID(&self, bstriid: &::windows::core::BSTR, ppsavarclsids: *mut *mut super::Com::SAFEARRAY, ppsavarprogids: *mut *mut super::Com::SAFEARRAY, ppsavardescriptions: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::Result<()>;
244}
245#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
246impl ::windows::core::RuntimeName for ICOMAdminCatalog {}
247#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
248impl ICOMAdminCatalog_Vtbl {
249 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>() -> ICOMAdminCatalog_Vtbl {
250 unsafe extern "system" fn GetCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcollname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppcatalogcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
251 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
252 let this = (*this).get_impl();
253 match this.GetCollection(::core::mem::transmute(&bstrcollname)) {
254 ::core::result::Result::Ok(ok__) => {
255 ::core::ptr::write(ppcatalogcollection, ::core::mem::transmute(ok__));
256 ::windows::core::HRESULT(0)
257 }
258 ::core::result::Result::Err(err) => err.into(),
259 }
260 }
261 unsafe extern "system" fn Connect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcatalogservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppcatalogcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
262 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
263 let this = (*this).get_impl();
264 match this.Connect(::core::mem::transmute(&bstrcatalogservername)) {
265 ::core::result::Result::Ok(ok__) => {
266 ::core::ptr::write(ppcatalogcollection, ::core::mem::transmute(ok__));
267 ::windows::core::HRESULT(0)
268 }
269 ::core::result::Result::Err(err) => err.into(),
270 }
271 }
272 unsafe extern "system" fn MajorVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plmajorversion: *mut i32) -> ::windows::core::HRESULT {
273 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
274 let this = (*this).get_impl();
275 match this.MajorVersion() {
276 ::core::result::Result::Ok(ok__) => {
277 ::core::ptr::write(plmajorversion, ::core::mem::transmute(ok__));
278 ::windows::core::HRESULT(0)
279 }
280 ::core::result::Result::Err(err) => err.into(),
281 }
282 }
283 unsafe extern "system" fn MinorVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plminorversion: *mut i32) -> ::windows::core::HRESULT {
284 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
285 let this = (*this).get_impl();
286 match this.MinorVersion() {
287 ::core::result::Result::Ok(ok__) => {
288 ::core::ptr::write(plminorversion, ::core::mem::transmute(ok__));
289 ::windows::core::HRESULT(0)
290 }
291 ::core::result::Result::Err(err) => err.into(),
292 }
293 }
294 unsafe extern "system" fn GetCollectionByQuery<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcollname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppsavarquery: *const *const super::Com::SAFEARRAY, ppcatalogcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
295 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
296 let this = (*this).get_impl();
297 match this.GetCollectionByQuery(::core::mem::transmute(&bstrcollname), ::core::mem::transmute_copy(&ppsavarquery)) {
298 ::core::result::Result::Ok(ok__) => {
299 ::core::ptr::write(ppcatalogcollection, ::core::mem::transmute(ok__));
300 ::windows::core::HRESULT(0)
301 }
302 ::core::result::Result::Err(err) => err.into(),
303 }
304 }
305 unsafe extern "system" fn ImportComponent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrclsidorprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
306 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
307 let this = (*this).get_impl();
308 this.ImportComponent(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute(&bstrclsidorprogid)).into()
309 }
310 unsafe extern "system" fn InstallComponent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdll: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrtlb: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpsdll: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
311 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
312 let this = (*this).get_impl();
313 this.InstallComponent(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute(&bstrdll), ::core::mem::transmute(&bstrtlb), ::core::mem::transmute(&bstrpsdll)).into()
314 }
315 unsafe extern "system" fn ShutdownApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
317 let this = (*this).get_impl();
318 this.ShutdownApplication(::core::mem::transmute(&bstrapplidorname)).into()
319 }
320 unsafe extern "system" fn ExportApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrapplicationfile: ::std::mem::MaybeUninit<::windows::core::BSTR>, loptions: COMAdminApplicationExportOptions) -> ::windows::core::HRESULT {
321 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
322 let this = (*this).get_impl();
323 this.ExportApplication(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute(&bstrapplicationfile), ::core::mem::transmute_copy(&loptions)).into()
324 }
325 unsafe extern "system" fn InstallApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationfile: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdestinationdirectory: ::std::mem::MaybeUninit<::windows::core::BSTR>, loptions: COMAdminApplicationInstallOptions, bstruserid: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrrsn: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
327 let this = (*this).get_impl();
328 this.InstallApplication(::core::mem::transmute(&bstrapplicationfile), ::core::mem::transmute(&bstrdestinationdirectory), ::core::mem::transmute_copy(&loptions), ::core::mem::transmute(&bstruserid), ::core::mem::transmute(&bstrpassword), ::core::mem::transmute(&bstrrsn)).into()
329 }
330 unsafe extern "system" fn StopRouter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
331 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
332 let this = (*this).get_impl();
333 this.StopRouter().into()
334 }
335 unsafe extern "system" fn RefreshRouter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
336 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
337 let this = (*this).get_impl();
338 this.RefreshRouter().into()
339 }
340 unsafe extern "system" fn StartRouter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
341 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
342 let this = (*this).get_impl();
343 this.StartRouter().into()
344 }
345 unsafe extern "system" fn Reserved1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
346 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
347 let this = (*this).get_impl();
348 this.Reserved1().into()
349 }
350 unsafe extern "system" fn Reserved2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
351 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
352 let this = (*this).get_impl();
353 this.Reserved2().into()
354 }
355 unsafe extern "system" fn InstallMultipleComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *const *const super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
356 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
357 let this = (*this).get_impl();
358 this.InstallMultipleComponents(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute_copy(&ppsavarfilenames), ::core::mem::transmute_copy(&ppsavarclsids)).into()
359 }
360 unsafe extern "system" fn GetMultipleComponentsInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *mut *mut super::Com::SAFEARRAY, ppsavarclassnames: *mut *mut super::Com::SAFEARRAY, ppsavarfileflags: *mut *mut super::Com::SAFEARRAY, ppsavarcomponentflags: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
361 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
362 let this = (*this).get_impl();
363 this.GetMultipleComponentsInfo(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute_copy(&ppsavarfilenames), ::core::mem::transmute_copy(&ppsavarclsids), ::core::mem::transmute_copy(&ppsavarclassnames), ::core::mem::transmute_copy(&ppsavarfileflags), ::core::mem::transmute_copy(&ppsavarcomponentflags)).into()
364 }
365 unsafe extern "system" fn RefreshComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
366 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
367 let this = (*this).get_impl();
368 this.RefreshComponents().into()
369 }
370 unsafe extern "system" fn BackupREGDB<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrbackupfilepath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
371 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
372 let this = (*this).get_impl();
373 this.BackupREGDB(::core::mem::transmute(&bstrbackupfilepath)).into()
374 }
375 unsafe extern "system" fn RestoreREGDB<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrbackupfilepath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
376 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
377 let this = (*this).get_impl();
378 this.RestoreREGDB(::core::mem::transmute(&bstrbackupfilepath)).into()
379 }
380 unsafe extern "system" fn QueryApplicationFile<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationfile: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrapplicationname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrapplicationdescription: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbhasusers: *mut super::super::Foundation::VARIANT_BOOL, pbisproxy: *mut super::super::Foundation::VARIANT_BOOL, ppsavarfilenames: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
381 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
382 let this = (*this).get_impl();
383 this.QueryApplicationFile(::core::mem::transmute(&bstrapplicationfile), ::core::mem::transmute_copy(&pbstrapplicationname), ::core::mem::transmute_copy(&pbstrapplicationdescription), ::core::mem::transmute_copy(&pbhasusers), ::core::mem::transmute_copy(&pbisproxy), ::core::mem::transmute_copy(&ppsavarfilenames)).into()
384 }
385 unsafe extern "system" fn StartApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
386 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
387 let this = (*this).get_impl();
388 this.StartApplication(::core::mem::transmute(&bstrapplidorname)).into()
389 }
390 unsafe extern "system" fn ServiceCheck<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lservice: i32, plstatus: *mut i32) -> ::windows::core::HRESULT {
391 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
392 let this = (*this).get_impl();
393 match this.ServiceCheck(::core::mem::transmute_copy(&lservice)) {
394 ::core::result::Result::Ok(ok__) => {
395 ::core::ptr::write(plstatus, ::core::mem::transmute(ok__));
396 ::windows::core::HRESULT(0)
397 }
398 ::core::result::Result::Err(err) => err.into(),
399 }
400 }
401 unsafe extern "system" fn InstallMultipleEventClasses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppsavarfilenames: *const *const super::Com::SAFEARRAY, ppsavarclsids: *const *const super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
402 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
403 let this = (*this).get_impl();
404 this.InstallMultipleEventClasses(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute_copy(&ppsavarfilenames), ::core::mem::transmute_copy(&ppsavarclsids)).into()
405 }
406 unsafe extern "system" fn InstallEventClass<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdll: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrtlb: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpsdll: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
407 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
408 let this = (*this).get_impl();
409 this.InstallEventClass(::core::mem::transmute(&bstrapplidorname), ::core::mem::transmute(&bstrdll), ::core::mem::transmute(&bstrtlb), ::core::mem::transmute(&bstrpsdll)).into()
410 }
411 unsafe extern "system" fn GetEventClassesForIID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstriid: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppsavarclsids: *mut *mut super::Com::SAFEARRAY, ppsavarprogids: *mut *mut super::Com::SAFEARRAY, ppsavardescriptions: *mut *mut super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
412 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
413 let this = (*this).get_impl();
414 this.GetEventClassesForIID(::core::mem::transmute(&bstriid), ::core::mem::transmute_copy(&ppsavarclsids), ::core::mem::transmute_copy(&ppsavarprogids), ::core::mem::transmute_copy(&ppsavardescriptions)).into()
415 }
416 Self {
417 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
418 GetCollection: GetCollection::<Identity, Impl, OFFSET>,
419 Connect: Connect::<Identity, Impl, OFFSET>,
420 MajorVersion: MajorVersion::<Identity, Impl, OFFSET>,
421 MinorVersion: MinorVersion::<Identity, Impl, OFFSET>,
422 GetCollectionByQuery: GetCollectionByQuery::<Identity, Impl, OFFSET>,
423 ImportComponent: ImportComponent::<Identity, Impl, OFFSET>,
424 InstallComponent: InstallComponent::<Identity, Impl, OFFSET>,
425 ShutdownApplication: ShutdownApplication::<Identity, Impl, OFFSET>,
426 ExportApplication: ExportApplication::<Identity, Impl, OFFSET>,
427 InstallApplication: InstallApplication::<Identity, Impl, OFFSET>,
428 StopRouter: StopRouter::<Identity, Impl, OFFSET>,
429 RefreshRouter: RefreshRouter::<Identity, Impl, OFFSET>,
430 StartRouter: StartRouter::<Identity, Impl, OFFSET>,
431 Reserved1: Reserved1::<Identity, Impl, OFFSET>,
432 Reserved2: Reserved2::<Identity, Impl, OFFSET>,
433 InstallMultipleComponents: InstallMultipleComponents::<Identity, Impl, OFFSET>,
434 GetMultipleComponentsInfo: GetMultipleComponentsInfo::<Identity, Impl, OFFSET>,
435 RefreshComponents: RefreshComponents::<Identity, Impl, OFFSET>,
436 BackupREGDB: BackupREGDB::<Identity, Impl, OFFSET>,
437 RestoreREGDB: RestoreREGDB::<Identity, Impl, OFFSET>,
438 QueryApplicationFile: QueryApplicationFile::<Identity, Impl, OFFSET>,
439 StartApplication: StartApplication::<Identity, Impl, OFFSET>,
440 ServiceCheck: ServiceCheck::<Identity, Impl, OFFSET>,
441 InstallMultipleEventClasses: InstallMultipleEventClasses::<Identity, Impl, OFFSET>,
442 InstallEventClass: InstallEventClass::<Identity, Impl, OFFSET>,
443 GetEventClassesForIID: GetEventClassesForIID::<Identity, Impl, OFFSET>,
444 }
445 }
446 pub fn matches(iid: &windows::core::GUID) -> bool {
447 iid == &<ICOMAdminCatalog as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
448 }
449}
450#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
451#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
452pub trait ICOMAdminCatalog2_Impl: Sized + ICOMAdminCatalog_Impl {
453 fn GetCollectionByQuery2(&self, bstrcollectionname: &::windows::core::BSTR, pvarquerystrings: *const super::Com::VARIANT) -> ::windows::core::Result<super::Com::IDispatch>;
454 fn GetApplicationInstanceIDFromProcessID(&self, lprocessid: i32) -> ::windows::core::Result<::windows::core::BSTR>;
455 fn ShutdownApplicationInstances(&self, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
456 fn PauseApplicationInstances(&self, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
457 fn ResumeApplicationInstances(&self, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
458 fn RecycleApplicationInstances(&self, pvarapplicationinstanceid: *const super::Com::VARIANT, lreasoncode: i32) -> ::windows::core::Result<()>;
459 fn AreApplicationInstancesPaused(&self, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
460 fn DumpApplicationInstance(&self, bstrapplicationinstanceid: &::windows::core::BSTR, bstrdirectory: &::windows::core::BSTR, lmaximages: i32) -> ::windows::core::Result<::windows::core::BSTR>;
461 fn IsApplicationInstanceDumpSupported(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
462 fn CreateServiceForApplication(&self, bstrapplicationidorname: &::windows::core::BSTR, bstrservicename: &::windows::core::BSTR, bstrstarttype: &::windows::core::BSTR, bstrerrorcontrol: &::windows::core::BSTR, bstrdependencies: &::windows::core::BSTR, bstrrunas: &::windows::core::BSTR, bstrpassword: &::windows::core::BSTR, bdesktopok: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
463 fn DeleteServiceForApplication(&self, bstrapplicationidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
464 fn GetPartitionID(&self, bstrapplicationidorname: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
465 fn GetPartitionName(&self, bstrapplicationidorname: &::windows::core::BSTR) -> ::windows::core::Result<::windows::core::BSTR>;
466 fn SetCurrentPartition(&self, bstrpartitionidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
467 fn CurrentPartitionID(&self) -> ::windows::core::Result<::windows::core::BSTR>;
468 fn CurrentPartitionName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
469 fn GlobalPartitionID(&self) -> ::windows::core::Result<::windows::core::BSTR>;
470 fn FlushPartitionCache(&self) -> ::windows::core::Result<()>;
471 fn CopyApplications(&self, bstrsourcepartitionidorname: &::windows::core::BSTR, pvarapplicationid: *const super::Com::VARIANT, bstrdestinationpartitionidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
472 fn CopyComponents(&self, bstrsourceapplicationidorname: &::windows::core::BSTR, pvarclsidorprogid: *const super::Com::VARIANT, bstrdestinationapplicationidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
473 fn MoveComponents(&self, bstrsourceapplicationidorname: &::windows::core::BSTR, pvarclsidorprogid: *const super::Com::VARIANT, bstrdestinationapplicationidorname: &::windows::core::BSTR) -> ::windows::core::Result<()>;
474 fn AliasComponent(&self, bstrsrcapplicationidorname: &::windows::core::BSTR, bstrclsidorprogid: &::windows::core::BSTR, bstrdestapplicationidorname: &::windows::core::BSTR, bstrnewprogid: &::windows::core::BSTR, bstrnewclsid: &::windows::core::BSTR) -> ::windows::core::Result<()>;
475 fn IsSafeToDelete(&self, bstrdllname: &::windows::core::BSTR) -> ::windows::core::Result<COMAdminInUse>;
476 fn ImportUnconfiguredComponents(&self, bstrapplicationidorname: &::windows::core::BSTR, pvarclsidorprogid: *const super::Com::VARIANT, pvarcomponenttype: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
477 fn PromoteUnconfiguredComponents(&self, bstrapplicationidorname: &::windows::core::BSTR, pvarclsidorprogid: *const super::Com::VARIANT, pvarcomponenttype: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
478 fn ImportComponents(&self, bstrapplicationidorname: &::windows::core::BSTR, pvarclsidorprogid: *const super::Com::VARIANT, pvarcomponenttype: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
479 fn Is64BitCatalogServer(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
480 fn ExportPartition(&self, bstrpartitionidorname: &::windows::core::BSTR, bstrpartitionfilename: &::windows::core::BSTR, loptions: COMAdminApplicationExportOptions) -> ::windows::core::Result<()>;
481 fn InstallPartition(&self, bstrfilename: &::windows::core::BSTR, bstrdestdirectory: &::windows::core::BSTR, loptions: COMAdminApplicationInstallOptions, bstruserid: &::windows::core::BSTR, bstrpassword: &::windows::core::BSTR, bstrrsn: &::windows::core::BSTR) -> ::windows::core::Result<()>;
482 fn QueryApplicationFile2(&self, bstrapplicationfile: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::IDispatch>;
483 fn GetComponentVersionCount(&self, bstrclsidorprogid: &::windows::core::BSTR) -> ::windows::core::Result<i32>;
484}
485#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
486impl ::windows::core::RuntimeName for ICOMAdminCatalog2 {}
487#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
488impl ICOMAdminCatalog2_Vtbl {
489 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>() -> ICOMAdminCatalog2_Vtbl {
490 unsafe extern "system" fn GetCollectionByQuery2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcollectionname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarquerystrings: *const super::Com::VARIANT, ppcatalogcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
491 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
492 let this = (*this).get_impl();
493 match this.GetCollectionByQuery2(::core::mem::transmute(&bstrcollectionname), ::core::mem::transmute_copy(&pvarquerystrings)) {
494 ::core::result::Result::Ok(ok__) => {
495 ::core::ptr::write(ppcatalogcollection, ::core::mem::transmute(ok__));
496 ::windows::core::HRESULT(0)
497 }
498 ::core::result::Result::Err(err) => err.into(),
499 }
500 }
501 unsafe extern "system" fn GetApplicationInstanceIDFromProcessID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lprocessid: i32, pbstrapplicationinstanceid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
502 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
503 let this = (*this).get_impl();
504 match this.GetApplicationInstanceIDFromProcessID(::core::mem::transmute_copy(&lprocessid)) {
505 ::core::result::Result::Ok(ok__) => {
506 ::core::ptr::write(pbstrapplicationinstanceid, ::core::mem::transmute(ok__));
507 ::windows::core::HRESULT(0)
508 }
509 ::core::result::Result::Err(err) => err.into(),
510 }
511 }
512 unsafe extern "system" fn ShutdownApplicationInstances<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
513 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
514 let this = (*this).get_impl();
515 this.ShutdownApplicationInstances(::core::mem::transmute_copy(&pvarapplicationinstanceid)).into()
516 }
517 unsafe extern "system" fn PauseApplicationInstances<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
518 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
519 let this = (*this).get_impl();
520 this.PauseApplicationInstances(::core::mem::transmute_copy(&pvarapplicationinstanceid)).into()
521 }
522 unsafe extern "system" fn ResumeApplicationInstances<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarapplicationinstanceid: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
523 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
524 let this = (*this).get_impl();
525 this.ResumeApplicationInstances(::core::mem::transmute_copy(&pvarapplicationinstanceid)).into()
526 }
527 unsafe extern "system" fn RecycleApplicationInstances<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarapplicationinstanceid: *const super::Com::VARIANT, lreasoncode: i32) -> ::windows::core::HRESULT {
528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
529 let this = (*this).get_impl();
530 this.RecycleApplicationInstances(::core::mem::transmute_copy(&pvarapplicationinstanceid), ::core::mem::transmute_copy(&lreasoncode)).into()
531 }
532 unsafe extern "system" fn AreApplicationInstancesPaused<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarapplicationinstanceid: *const super::Com::VARIANT, pvarboolpaused: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
533 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
534 let this = (*this).get_impl();
535 match this.AreApplicationInstancesPaused(::core::mem::transmute_copy(&pvarapplicationinstanceid)) {
536 ::core::result::Result::Ok(ok__) => {
537 ::core::ptr::write(pvarboolpaused, ::core::mem::transmute(ok__));
538 ::windows::core::HRESULT(0)
539 }
540 ::core::result::Result::Err(err) => err.into(),
541 }
542 }
543 unsafe extern "system" fn DumpApplicationInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationinstanceid: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdirectory: ::std::mem::MaybeUninit<::windows::core::BSTR>, lmaximages: i32, pbstrdumpfile: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
544 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
545 let this = (*this).get_impl();
546 match this.DumpApplicationInstance(::core::mem::transmute(&bstrapplicationinstanceid), ::core::mem::transmute(&bstrdirectory), ::core::mem::transmute_copy(&lmaximages)) {
547 ::core::result::Result::Ok(ok__) => {
548 ::core::ptr::write(pbstrdumpfile, ::core::mem::transmute(ok__));
549 ::windows::core::HRESULT(0)
550 }
551 ::core::result::Result::Err(err) => err.into(),
552 }
553 }
554 unsafe extern "system" fn IsApplicationInstanceDumpSupported<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarbooldumpsupported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
555 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
556 let this = (*this).get_impl();
557 match this.IsApplicationInstanceDumpSupported() {
558 ::core::result::Result::Ok(ok__) => {
559 ::core::ptr::write(pvarbooldumpsupported, ::core::mem::transmute(ok__));
560 ::windows::core::HRESULT(0)
561 }
562 ::core::result::Result::Err(err) => err.into(),
563 }
564 }
565 unsafe extern "system" fn CreateServiceForApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrservicename: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrstarttype: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrerrorcontrol: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdependencies: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrrunas: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, bdesktopok: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
566 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
567 let this = (*this).get_impl();
568 this.CreateServiceForApplication(::core::mem::transmute(&bstrapplicationidorname), ::core::mem::transmute(&bstrservicename), ::core::mem::transmute(&bstrstarttype), ::core::mem::transmute(&bstrerrorcontrol), ::core::mem::transmute(&bstrdependencies), ::core::mem::transmute(&bstrrunas), ::core::mem::transmute(&bstrpassword), ::core::mem::transmute_copy(&bdesktopok)).into()
569 }
570 unsafe extern "system" fn DeleteServiceForApplication<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
571 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
572 let this = (*this).get_impl();
573 this.DeleteServiceForApplication(::core::mem::transmute(&bstrapplicationidorname)).into()
574 }
575 unsafe extern "system" fn GetPartitionID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrpartitionid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
576 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
577 let this = (*this).get_impl();
578 match this.GetPartitionID(::core::mem::transmute(&bstrapplicationidorname)) {
579 ::core::result::Result::Ok(ok__) => {
580 ::core::ptr::write(pbstrpartitionid, ::core::mem::transmute(ok__));
581 ::windows::core::HRESULT(0)
582 }
583 ::core::result::Result::Err(err) => err.into(),
584 }
585 }
586 unsafe extern "system" fn GetPartitionName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrpartitionname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
587 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
588 let this = (*this).get_impl();
589 match this.GetPartitionName(::core::mem::transmute(&bstrapplicationidorname)) {
590 ::core::result::Result::Ok(ok__) => {
591 ::core::ptr::write(pbstrpartitionname, ::core::mem::transmute(ok__));
592 ::windows::core::HRESULT(0)
593 }
594 ::core::result::Result::Err(err) => err.into(),
595 }
596 }
597 unsafe extern "system" fn SetCurrentPartition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpartitionidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
598 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
599 let this = (*this).get_impl();
600 this.SetCurrentPartition(::core::mem::transmute(&bstrpartitionidorname)).into()
601 }
602 unsafe extern "system" fn CurrentPartitionID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrpartitionid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
603 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
604 let this = (*this).get_impl();
605 match this.CurrentPartitionID() {
606 ::core::result::Result::Ok(ok__) => {
607 ::core::ptr::write(pbstrpartitionid, ::core::mem::transmute(ok__));
608 ::windows::core::HRESULT(0)
609 }
610 ::core::result::Result::Err(err) => err.into(),
611 }
612 }
613 unsafe extern "system" fn CurrentPartitionName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrpartitionname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
614 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
615 let this = (*this).get_impl();
616 match this.CurrentPartitionName() {
617 ::core::result::Result::Ok(ok__) => {
618 ::core::ptr::write(pbstrpartitionname, ::core::mem::transmute(ok__));
619 ::windows::core::HRESULT(0)
620 }
621 ::core::result::Result::Err(err) => err.into(),
622 }
623 }
624 unsafe extern "system" fn GlobalPartitionID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstrglobalpartitionid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
625 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
626 let this = (*this).get_impl();
627 match this.GlobalPartitionID() {
628 ::core::result::Result::Ok(ok__) => {
629 ::core::ptr::write(pbstrglobalpartitionid, ::core::mem::transmute(ok__));
630 ::windows::core::HRESULT(0)
631 }
632 ::core::result::Result::Err(err) => err.into(),
633 }
634 }
635 unsafe extern "system" fn FlushPartitionCache<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
636 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
637 let this = (*this).get_impl();
638 this.FlushPartitionCache().into()
639 }
640 unsafe extern "system" fn CopyApplications<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsourcepartitionidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarapplicationid: *const super::Com::VARIANT, bstrdestinationpartitionidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
641 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
642 let this = (*this).get_impl();
643 this.CopyApplications(::core::mem::transmute(&bstrsourcepartitionidorname), ::core::mem::transmute_copy(&pvarapplicationid), ::core::mem::transmute(&bstrdestinationpartitionidorname)).into()
644 }
645 unsafe extern "system" fn CopyComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsourceapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarclsidorprogid: *const super::Com::VARIANT, bstrdestinationapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
646 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
647 let this = (*this).get_impl();
648 this.CopyComponents(::core::mem::transmute(&bstrsourceapplicationidorname), ::core::mem::transmute_copy(&pvarclsidorprogid), ::core::mem::transmute(&bstrdestinationapplicationidorname)).into()
649 }
650 unsafe extern "system" fn MoveComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsourceapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarclsidorprogid: *const super::Com::VARIANT, bstrdestinationapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
651 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
652 let this = (*this).get_impl();
653 this.MoveComponents(::core::mem::transmute(&bstrsourceapplicationidorname), ::core::mem::transmute_copy(&pvarclsidorprogid), ::core::mem::transmute(&bstrdestinationapplicationidorname)).into()
654 }
655 unsafe extern "system" fn AliasComponent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrsrcapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrclsidorprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdestapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrnewprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrnewclsid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
656 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
657 let this = (*this).get_impl();
658 this.AliasComponent(::core::mem::transmute(&bstrsrcapplicationidorname), ::core::mem::transmute(&bstrclsidorprogid), ::core::mem::transmute(&bstrdestapplicationidorname), ::core::mem::transmute(&bstrnewprogid), ::core::mem::transmute(&bstrnewclsid)).into()
659 }
660 unsafe extern "system" fn IsSafeToDelete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrdllname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pcomadmininuse: *mut COMAdminInUse) -> ::windows::core::HRESULT {
661 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
662 let this = (*this).get_impl();
663 match this.IsSafeToDelete(::core::mem::transmute(&bstrdllname)) {
664 ::core::result::Result::Ok(ok__) => {
665 ::core::ptr::write(pcomadmininuse, ::core::mem::transmute(ok__));
666 ::windows::core::HRESULT(0)
667 }
668 ::core::result::Result::Err(err) => err.into(),
669 }
670 }
671 unsafe extern "system" fn ImportUnconfiguredComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarclsidorprogid: *const super::Com::VARIANT, pvarcomponenttype: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
672 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
673 let this = (*this).get_impl();
674 this.ImportUnconfiguredComponents(::core::mem::transmute(&bstrapplicationidorname), ::core::mem::transmute_copy(&pvarclsidorprogid), ::core::mem::transmute_copy(&pvarcomponenttype)).into()
675 }
676 unsafe extern "system" fn PromoteUnconfiguredComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarclsidorprogid: *const super::Com::VARIANT, pvarcomponenttype: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
677 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
678 let this = (*this).get_impl();
679 this.PromoteUnconfiguredComponents(::core::mem::transmute(&bstrapplicationidorname), ::core::mem::transmute_copy(&pvarclsidorprogid), ::core::mem::transmute_copy(&pvarcomponenttype)).into()
680 }
681 unsafe extern "system" fn ImportComponents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarclsidorprogid: *const super::Com::VARIANT, pvarcomponenttype: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
682 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
683 let this = (*this).get_impl();
684 this.ImportComponents(::core::mem::transmute(&bstrapplicationidorname), ::core::mem::transmute_copy(&pvarclsidorprogid), ::core::mem::transmute_copy(&pvarcomponenttype)).into()
685 }
686 unsafe extern "system" fn Is64BitCatalogServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbis64bit: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
687 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
688 let this = (*this).get_impl();
689 match this.Is64BitCatalogServer() {
690 ::core::result::Result::Ok(ok__) => {
691 ::core::ptr::write(pbis64bit, ::core::mem::transmute(ok__));
692 ::windows::core::HRESULT(0)
693 }
694 ::core::result::Result::Err(err) => err.into(),
695 }
696 }
697 unsafe extern "system" fn ExportPartition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpartitionidorname: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpartitionfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>, loptions: COMAdminApplicationExportOptions) -> ::windows::core::HRESULT {
698 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
699 let this = (*this).get_impl();
700 this.ExportPartition(::core::mem::transmute(&bstrpartitionidorname), ::core::mem::transmute(&bstrpartitionfilename), ::core::mem::transmute_copy(&loptions)).into()
701 }
702 unsafe extern "system" fn InstallPartition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrfilename: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrdestdirectory: ::std::mem::MaybeUninit<::windows::core::BSTR>, loptions: COMAdminApplicationInstallOptions, bstruserid: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrpassword: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrrsn: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
703 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
704 let this = (*this).get_impl();
705 this.InstallPartition(::core::mem::transmute(&bstrfilename), ::core::mem::transmute(&bstrdestdirectory), ::core::mem::transmute_copy(&loptions), ::core::mem::transmute(&bstruserid), ::core::mem::transmute(&bstrpassword), ::core::mem::transmute(&bstrrsn)).into()
706 }
707 unsafe extern "system" fn QueryApplicationFile2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrapplicationfile: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppfilesforimport: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
708 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
709 let this = (*this).get_impl();
710 match this.QueryApplicationFile2(::core::mem::transmute(&bstrapplicationfile)) {
711 ::core::result::Result::Ok(ok__) => {
712 ::core::ptr::write(ppfilesforimport, ::core::mem::transmute(ok__));
713 ::windows::core::HRESULT(0)
714 }
715 ::core::result::Result::Err(err) => err.into(),
716 }
717 }
718 unsafe extern "system" fn GetComponentVersionCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMAdminCatalog2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrclsidorprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, plversioncount: *mut i32) -> ::windows::core::HRESULT {
719 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
720 let this = (*this).get_impl();
721 match this.GetComponentVersionCount(::core::mem::transmute(&bstrclsidorprogid)) {
722 ::core::result::Result::Ok(ok__) => {
723 ::core::ptr::write(plversioncount, ::core::mem::transmute(ok__));
724 ::windows::core::HRESULT(0)
725 }
726 ::core::result::Result::Err(err) => err.into(),
727 }
728 }
729 Self {
730 base__: ICOMAdminCatalog_Vtbl::new::<Identity, Impl, OFFSET>(),
731 GetCollectionByQuery2: GetCollectionByQuery2::<Identity, Impl, OFFSET>,
732 GetApplicationInstanceIDFromProcessID: GetApplicationInstanceIDFromProcessID::<Identity, Impl, OFFSET>,
733 ShutdownApplicationInstances: ShutdownApplicationInstances::<Identity, Impl, OFFSET>,
734 PauseApplicationInstances: PauseApplicationInstances::<Identity, Impl, OFFSET>,
735 ResumeApplicationInstances: ResumeApplicationInstances::<Identity, Impl, OFFSET>,
736 RecycleApplicationInstances: RecycleApplicationInstances::<Identity, Impl, OFFSET>,
737 AreApplicationInstancesPaused: AreApplicationInstancesPaused::<Identity, Impl, OFFSET>,
738 DumpApplicationInstance: DumpApplicationInstance::<Identity, Impl, OFFSET>,
739 IsApplicationInstanceDumpSupported: IsApplicationInstanceDumpSupported::<Identity, Impl, OFFSET>,
740 CreateServiceForApplication: CreateServiceForApplication::<Identity, Impl, OFFSET>,
741 DeleteServiceForApplication: DeleteServiceForApplication::<Identity, Impl, OFFSET>,
742 GetPartitionID: GetPartitionID::<Identity, Impl, OFFSET>,
743 GetPartitionName: GetPartitionName::<Identity, Impl, OFFSET>,
744 SetCurrentPartition: SetCurrentPartition::<Identity, Impl, OFFSET>,
745 CurrentPartitionID: CurrentPartitionID::<Identity, Impl, OFFSET>,
746 CurrentPartitionName: CurrentPartitionName::<Identity, Impl, OFFSET>,
747 GlobalPartitionID: GlobalPartitionID::<Identity, Impl, OFFSET>,
748 FlushPartitionCache: FlushPartitionCache::<Identity, Impl, OFFSET>,
749 CopyApplications: CopyApplications::<Identity, Impl, OFFSET>,
750 CopyComponents: CopyComponents::<Identity, Impl, OFFSET>,
751 MoveComponents: MoveComponents::<Identity, Impl, OFFSET>,
752 AliasComponent: AliasComponent::<Identity, Impl, OFFSET>,
753 IsSafeToDelete: IsSafeToDelete::<Identity, Impl, OFFSET>,
754 ImportUnconfiguredComponents: ImportUnconfiguredComponents::<Identity, Impl, OFFSET>,
755 PromoteUnconfiguredComponents: PromoteUnconfiguredComponents::<Identity, Impl, OFFSET>,
756 ImportComponents: ImportComponents::<Identity, Impl, OFFSET>,
757 Is64BitCatalogServer: Is64BitCatalogServer::<Identity, Impl, OFFSET>,
758 ExportPartition: ExportPartition::<Identity, Impl, OFFSET>,
759 InstallPartition: InstallPartition::<Identity, Impl, OFFSET>,
760 QueryApplicationFile2: QueryApplicationFile2::<Identity, Impl, OFFSET>,
761 GetComponentVersionCount: GetComponentVersionCount::<Identity, Impl, OFFSET>,
762 }
763 }
764 pub fn matches(iid: &windows::core::GUID) -> bool {
765 iid == &<ICOMAdminCatalog2 as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID || iid == &<ICOMAdminCatalog as ::windows::core::ComInterface>::IID
766 }
767}
768#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
769pub trait ICOMLBArguments_Impl: Sized {
770 fn GetCLSID(&self, pclsid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
771 fn SetCLSID(&self, pclsid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
772 fn GetMachineName(&self, cchsvr: u32, szservername: ::windows::core::PWSTR) -> ::windows::core::Result<()>;
773 fn SetMachineName(&self, cchsvr: u32, szservername: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
774}
775impl ::windows::core::RuntimeName for ICOMLBArguments {}
776impl ICOMLBArguments_Vtbl {
777 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMLBArguments_Impl, const OFFSET: isize>() -> ICOMLBArguments_Vtbl {
778 unsafe extern "system" fn GetCLSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMLBArguments_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pclsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
779 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
780 let this = (*this).get_impl();
781 this.GetCLSID(::core::mem::transmute_copy(&pclsid)).into()
782 }
783 unsafe extern "system" fn SetCLSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMLBArguments_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pclsid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
784 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
785 let this = (*this).get_impl();
786 this.SetCLSID(::core::mem::transmute_copy(&pclsid)).into()
787 }
788 unsafe extern "system" fn GetMachineName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMLBArguments_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cchsvr: u32, szservername: ::windows::core::PWSTR) -> ::windows::core::HRESULT {
789 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
790 let this = (*this).get_impl();
791 this.GetMachineName(::core::mem::transmute_copy(&cchsvr), ::core::mem::transmute_copy(&szservername)).into()
792 }
793 unsafe extern "system" fn SetMachineName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICOMLBArguments_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, cchsvr: u32, szservername: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
794 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
795 let this = (*this).get_impl();
796 this.SetMachineName(::core::mem::transmute_copy(&cchsvr), ::core::mem::transmute(&szservername)).into()
797 }
798 Self {
799 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
800 GetCLSID: GetCLSID::<Identity, Impl, OFFSET>,
801 SetCLSID: SetCLSID::<Identity, Impl, OFFSET>,
802 GetMachineName: GetMachineName::<Identity, Impl, OFFSET>,
803 SetMachineName: SetMachineName::<Identity, Impl, OFFSET>,
804 }
805 }
806 pub fn matches(iid: &windows::core::GUID) -> bool {
807 iid == &<ICOMLBArguments as ::windows::core::ComInterface>::IID
808 }
809}
810#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
811#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
812pub trait ICatalogCollection_Impl: Sized + super::Com::IDispatch_Impl {
813 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
814 fn get_Item(&self, lindex: i32) -> ::windows::core::Result<super::Com::IDispatch>;
815 fn Count(&self) -> ::windows::core::Result<i32>;
816 fn Remove(&self, lindex: i32) -> ::windows::core::Result<()>;
817 fn Add(&self) -> ::windows::core::Result<super::Com::IDispatch>;
818 fn Populate(&self) -> ::windows::core::Result<()>;
819 fn SaveChanges(&self) -> ::windows::core::Result<i32>;
820 fn GetCollection(&self, bstrcollname: &::windows::core::BSTR, varobjectkey: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::IDispatch>;
821 fn Name(&self) -> ::windows::core::Result<super::Com::VARIANT>;
822 fn AddEnabled(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
823 fn RemoveEnabled(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
824 fn GetUtilInterface(&self) -> ::windows::core::Result<super::Com::IDispatch>;
825 fn DataStoreMajorVersion(&self) -> ::windows::core::Result<i32>;
826 fn DataStoreMinorVersion(&self) -> ::windows::core::Result<i32>;
827 fn PopulateByKey(&self, psakeys: *const super::Com::SAFEARRAY) -> ::windows::core::Result<()>;
828 fn PopulateByQuery(&self, bstrquerystring: &::windows::core::BSTR, lquerytype: i32) -> ::windows::core::Result<()>;
829}
830#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
831impl ::windows::core::RuntimeName for ICatalogCollection {}
832#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
833impl ICatalogCollection_Vtbl {
834 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>() -> ICatalogCollection_Vtbl {
835 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
836 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
837 let this = (*this).get_impl();
838 match this._NewEnum() {
839 ::core::result::Result::Ok(ok__) => {
840 ::core::ptr::write(ppenumvariant, ::core::mem::transmute(ok__));
841 ::windows::core::HRESULT(0)
842 }
843 ::core::result::Result::Err(err) => err.into(),
844 }
845 }
846 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ppcatalogobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
847 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
848 let this = (*this).get_impl();
849 match this.get_Item(::core::mem::transmute_copy(&lindex)) {
850 ::core::result::Result::Ok(ok__) => {
851 ::core::ptr::write(ppcatalogobject, ::core::mem::transmute(ok__));
852 ::windows::core::HRESULT(0)
853 }
854 ::core::result::Result::Err(err) => err.into(),
855 }
856 }
857 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plobjectcount: *mut i32) -> ::windows::core::HRESULT {
858 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
859 let this = (*this).get_impl();
860 match this.Count() {
861 ::core::result::Result::Ok(ok__) => {
862 ::core::ptr::write(plobjectcount, ::core::mem::transmute(ok__));
863 ::windows::core::HRESULT(0)
864 }
865 ::core::result::Result::Err(err) => err.into(),
866 }
867 }
868 unsafe extern "system" fn Remove<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32) -> ::windows::core::HRESULT {
869 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
870 let this = (*this).get_impl();
871 this.Remove(::core::mem::transmute_copy(&lindex)).into()
872 }
873 unsafe extern "system" fn Add<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcatalogobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
874 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
875 let this = (*this).get_impl();
876 match this.Add() {
877 ::core::result::Result::Ok(ok__) => {
878 ::core::ptr::write(ppcatalogobject, ::core::mem::transmute(ok__));
879 ::windows::core::HRESULT(0)
880 }
881 ::core::result::Result::Err(err) => err.into(),
882 }
883 }
884 unsafe extern "system" fn Populate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
885 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
886 let this = (*this).get_impl();
887 this.Populate().into()
888 }
889 unsafe extern "system" fn SaveChanges<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcchanges: *mut i32) -> ::windows::core::HRESULT {
890 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
891 let this = (*this).get_impl();
892 match this.SaveChanges() {
893 ::core::result::Result::Ok(ok__) => {
894 ::core::ptr::write(pcchanges, ::core::mem::transmute(ok__));
895 ::windows::core::HRESULT(0)
896 }
897 ::core::result::Result::Err(err) => err.into(),
898 }
899 }
900 unsafe extern "system" fn GetCollection<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrcollname: ::std::mem::MaybeUninit<::windows::core::BSTR>, varobjectkey: super::Com::VARIANT, ppcatalogcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
901 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
902 let this = (*this).get_impl();
903 match this.GetCollection(::core::mem::transmute(&bstrcollname), ::core::mem::transmute(&varobjectkey)) {
904 ::core::result::Result::Ok(ok__) => {
905 ::core::ptr::write(ppcatalogcollection, ::core::mem::transmute(ok__));
906 ::windows::core::HRESULT(0)
907 }
908 ::core::result::Result::Err(err) => err.into(),
909 }
910 }
911 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarnamel: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
912 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
913 let this = (*this).get_impl();
914 match this.Name() {
915 ::core::result::Result::Ok(ok__) => {
916 ::core::ptr::write(pvarnamel, ::core::mem::transmute(ok__));
917 ::windows::core::HRESULT(0)
918 }
919 ::core::result::Result::Err(err) => err.into(),
920 }
921 }
922 unsafe extern "system" fn AddEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
923 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
924 let this = (*this).get_impl();
925 match this.AddEnabled() {
926 ::core::result::Result::Ok(ok__) => {
927 ::core::ptr::write(pvarbool, ::core::mem::transmute(ok__));
928 ::windows::core::HRESULT(0)
929 }
930 ::core::result::Result::Err(err) => err.into(),
931 }
932 }
933 unsafe extern "system" fn RemoveEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarbool: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
934 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
935 let this = (*this).get_impl();
936 match this.RemoveEnabled() {
937 ::core::result::Result::Ok(ok__) => {
938 ::core::ptr::write(pvarbool, ::core::mem::transmute(ok__));
939 ::windows::core::HRESULT(0)
940 }
941 ::core::result::Result::Err(err) => err.into(),
942 }
943 }
944 unsafe extern "system" fn GetUtilInterface<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppidispatch: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
945 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
946 let this = (*this).get_impl();
947 match this.GetUtilInterface() {
948 ::core::result::Result::Ok(ok__) => {
949 ::core::ptr::write(ppidispatch, ::core::mem::transmute(ok__));
950 ::windows::core::HRESULT(0)
951 }
952 ::core::result::Result::Err(err) => err.into(),
953 }
954 }
955 unsafe extern "system" fn DataStoreMajorVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plmajorversion: *mut i32) -> ::windows::core::HRESULT {
956 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
957 let this = (*this).get_impl();
958 match this.DataStoreMajorVersion() {
959 ::core::result::Result::Ok(ok__) => {
960 ::core::ptr::write(plmajorversion, ::core::mem::transmute(ok__));
961 ::windows::core::HRESULT(0)
962 }
963 ::core::result::Result::Err(err) => err.into(),
964 }
965 }
966 unsafe extern "system" fn DataStoreMinorVersion<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plminorversionl: *mut i32) -> ::windows::core::HRESULT {
967 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
968 let this = (*this).get_impl();
969 match this.DataStoreMinorVersion() {
970 ::core::result::Result::Ok(ok__) => {
971 ::core::ptr::write(plminorversionl, ::core::mem::transmute(ok__));
972 ::windows::core::HRESULT(0)
973 }
974 ::core::result::Result::Err(err) => err.into(),
975 }
976 }
977 unsafe extern "system" fn PopulateByKey<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psakeys: *const super::Com::SAFEARRAY) -> ::windows::core::HRESULT {
978 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
979 let this = (*this).get_impl();
980 this.PopulateByKey(::core::mem::transmute_copy(&psakeys)).into()
981 }
982 unsafe extern "system" fn PopulateByQuery<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrquerystring: ::std::mem::MaybeUninit<::windows::core::BSTR>, lquerytype: i32) -> ::windows::core::HRESULT {
983 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
984 let this = (*this).get_impl();
985 this.PopulateByQuery(::core::mem::transmute(&bstrquerystring), ::core::mem::transmute_copy(&lquerytype)).into()
986 }
987 Self {
988 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
989 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
990 get_Item: get_Item::<Identity, Impl, OFFSET>,
991 Count: Count::<Identity, Impl, OFFSET>,
992 Remove: Remove::<Identity, Impl, OFFSET>,
993 Add: Add::<Identity, Impl, OFFSET>,
994 Populate: Populate::<Identity, Impl, OFFSET>,
995 SaveChanges: SaveChanges::<Identity, Impl, OFFSET>,
996 GetCollection: GetCollection::<Identity, Impl, OFFSET>,
997 Name: Name::<Identity, Impl, OFFSET>,
998 AddEnabled: AddEnabled::<Identity, Impl, OFFSET>,
999 RemoveEnabled: RemoveEnabled::<Identity, Impl, OFFSET>,
1000 GetUtilInterface: GetUtilInterface::<Identity, Impl, OFFSET>,
1001 DataStoreMajorVersion: DataStoreMajorVersion::<Identity, Impl, OFFSET>,
1002 DataStoreMinorVersion: DataStoreMinorVersion::<Identity, Impl, OFFSET>,
1003 PopulateByKey: PopulateByKey::<Identity, Impl, OFFSET>,
1004 PopulateByQuery: PopulateByQuery::<Identity, Impl, OFFSET>,
1005 }
1006 }
1007 pub fn matches(iid: &windows::core::GUID) -> bool {
1008 iid == &<ICatalogCollection as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
1009 }
1010}
1011#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
1012#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1013pub trait ICatalogObject_Impl: Sized + super::Com::IDispatch_Impl {
1014 fn get_Value(&self, bstrpropname: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
1015 fn put_Value(&self, bstrpropname: &::windows::core::BSTR, val: &super::Com::VARIANT) -> ::windows::core::Result<()>;
1016 fn Key(&self) -> ::windows::core::Result<super::Com::VARIANT>;
1017 fn Name(&self) -> ::windows::core::Result<super::Com::VARIANT>;
1018 fn IsPropertyReadOnly(&self, bstrpropname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1019 fn Valid(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1020 fn IsPropertyWriteOnly(&self, bstrpropname: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
1021}
1022#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1023impl ::windows::core::RuntimeName for ICatalogObject {}
1024#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
1025impl ICatalogObject_Vtbl {
1026 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>() -> ICatalogObject_Vtbl {
1027 unsafe extern "system" fn get_Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pvarretval: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
1028 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1029 let this = (*this).get_impl();
1030 match this.get_Value(::core::mem::transmute(&bstrpropname)) {
1031 ::core::result::Result::Ok(ok__) => {
1032 ::core::ptr::write(pvarretval, ::core::mem::transmute(ok__));
1033 ::windows::core::HRESULT(0)
1034 }
1035 ::core::result::Result::Err(err) => err.into(),
1036 }
1037 }
1038 unsafe extern "system" fn put_Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, val: super::Com::VARIANT) -> ::windows::core::HRESULT {
1039 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1040 let this = (*this).get_impl();
1041 this.put_Value(::core::mem::transmute(&bstrpropname), ::core::mem::transmute(&val)).into()
1042 }
1043 unsafe extern "system" fn Key<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarretval: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
1044 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1045 let this = (*this).get_impl();
1046 match this.Key() {
1047 ::core::result::Result::Ok(ok__) => {
1048 ::core::ptr::write(pvarretval, ::core::mem::transmute(ok__));
1049 ::windows::core::HRESULT(0)
1050 }
1051 ::core::result::Result::Err(err) => err.into(),
1052 }
1053 }
1054 unsafe extern "system" fn Name<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pvarretval: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
1055 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1056 let this = (*this).get_impl();
1057 match this.Name() {
1058 ::core::result::Result::Ok(ok__) => {
1059 ::core::ptr::write(pvarretval, ::core::mem::transmute(ok__));
1060 ::windows::core::HRESULT(0)
1061 }
1062 ::core::result::Result::Err(err) => err.into(),
1063 }
1064 }
1065 unsafe extern "system" fn IsPropertyReadOnly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbretval: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1066 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1067 let this = (*this).get_impl();
1068 match this.IsPropertyReadOnly(::core::mem::transmute(&bstrpropname)) {
1069 ::core::result::Result::Ok(ok__) => {
1070 ::core::ptr::write(pbretval, ::core::mem::transmute(ok__));
1071 ::windows::core::HRESULT(0)
1072 }
1073 ::core::result::Result::Err(err) => err.into(),
1074 }
1075 }
1076 unsafe extern "system" fn Valid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbretval: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1077 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1078 let this = (*this).get_impl();
1079 match this.Valid() {
1080 ::core::result::Result::Ok(ok__) => {
1081 ::core::ptr::write(pbretval, ::core::mem::transmute(ok__));
1082 ::windows::core::HRESULT(0)
1083 }
1084 ::core::result::Result::Err(err) => err.into(),
1085 }
1086 }
1087 unsafe extern "system" fn IsPropertyWriteOnly<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICatalogObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbretval: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
1088 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1089 let this = (*this).get_impl();
1090 match this.IsPropertyWriteOnly(::core::mem::transmute(&bstrpropname)) {
1091 ::core::result::Result::Ok(ok__) => {
1092 ::core::ptr::write(pbretval, ::core::mem::transmute(ok__));
1093 ::windows::core::HRESULT(0)
1094 }
1095 ::core::result::Result::Err(err) => err.into(),
1096 }
1097 }
1098 Self {
1099 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
1100 get_Value: get_Value::<Identity, Impl, OFFSET>,
1101 put_Value: put_Value::<Identity, Impl, OFFSET>,
1102 Key: Key::<Identity, Impl, OFFSET>,
1103 Name: Name::<Identity, Impl, OFFSET>,
1104 IsPropertyReadOnly: IsPropertyReadOnly::<Identity, Impl, OFFSET>,
1105 Valid: Valid::<Identity, Impl, OFFSET>,
1106 IsPropertyWriteOnly: IsPropertyWriteOnly::<Identity, Impl, OFFSET>,
1107 }
1108 }
1109 pub fn matches(iid: &windows::core::GUID) -> bool {
1110 iid == &<ICatalogObject as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
1111 }
1112}
1113#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1114pub trait ICheckSxsConfig_Impl: Sized {
1115 fn IsSameSxsConfig(&self, wszsxsname: &::windows::core::PCWSTR, wszsxsdirectory: &::windows::core::PCWSTR, wszsxsappname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
1116}
1117impl ::windows::core::RuntimeName for ICheckSxsConfig {}
1118impl ICheckSxsConfig_Vtbl {
1119 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICheckSxsConfig_Impl, const OFFSET: isize>() -> ICheckSxsConfig_Vtbl {
1120 unsafe extern "system" fn IsSameSxsConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICheckSxsConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, wszsxsname: ::windows::core::PCWSTR, wszsxsdirectory: ::windows::core::PCWSTR, wszsxsappname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
1121 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1122 let this = (*this).get_impl();
1123 this.IsSameSxsConfig(::core::mem::transmute(&wszsxsname), ::core::mem::transmute(&wszsxsdirectory), ::core::mem::transmute(&wszsxsappname)).into()
1124 }
1125 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), IsSameSxsConfig: IsSameSxsConfig::<Identity, Impl, OFFSET> }
1126 }
1127 pub fn matches(iid: &windows::core::GUID) -> bool {
1128 iid == &<ICheckSxsConfig as ::windows::core::ComInterface>::IID
1129 }
1130}
1131#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1132pub trait IComActivityEvents_Impl: Sized {
1133 fn OnActivityCreate(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1134 fn OnActivityDestroy(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1135 fn OnActivityEnter(&self, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, guidentered: *const ::windows::core::GUID, dwthread: u32) -> ::windows::core::Result<()>;
1136 fn OnActivityTimeout(&self, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, guidentered: *const ::windows::core::GUID, dwthread: u32, dwtimeout: u32) -> ::windows::core::Result<()>;
1137 fn OnActivityReenter(&self, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, dwthread: u32, dwcalldepth: u32) -> ::windows::core::Result<()>;
1138 fn OnActivityLeave(&self, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, guidleft: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1139 fn OnActivityLeaveSame(&self, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, dwcalldepth: u32) -> ::windows::core::Result<()>;
1140}
1141impl ::windows::core::RuntimeName for IComActivityEvents {}
1142impl IComActivityEvents_Vtbl {
1143 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>() -> IComActivityEvents_Vtbl {
1144 unsafe extern "system" fn OnActivityCreate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1145 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1146 let this = (*this).get_impl();
1147 this.OnActivityCreate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity)).into()
1148 }
1149 unsafe extern "system" fn OnActivityDestroy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1150 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1151 let this = (*this).get_impl();
1152 this.OnActivityDestroy(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity)).into()
1153 }
1154 unsafe extern "system" fn OnActivityEnter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, guidentered: *const ::windows::core::GUID, dwthread: u32) -> ::windows::core::HRESULT {
1155 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1156 let this = (*this).get_impl();
1157 this.OnActivityEnter(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidcurrent), ::core::mem::transmute_copy(&guidentered), ::core::mem::transmute_copy(&dwthread)).into()
1158 }
1159 unsafe extern "system" fn OnActivityTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, guidentered: *const ::windows::core::GUID, dwthread: u32, dwtimeout: u32) -> ::windows::core::HRESULT {
1160 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1161 let this = (*this).get_impl();
1162 this.OnActivityTimeout(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidcurrent), ::core::mem::transmute_copy(&guidentered), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&dwtimeout)).into()
1163 }
1164 unsafe extern "system" fn OnActivityReenter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, dwthread: u32, dwcalldepth: u32) -> ::windows::core::HRESULT {
1165 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1166 let this = (*this).get_impl();
1167 this.OnActivityReenter(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidcurrent), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&dwcalldepth)).into()
1168 }
1169 unsafe extern "system" fn OnActivityLeave<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, guidleft: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1170 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1171 let this = (*this).get_impl();
1172 this.OnActivityLeave(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidcurrent), ::core::mem::transmute_copy(&guidleft)).into()
1173 }
1174 unsafe extern "system" fn OnActivityLeaveSame<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComActivityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidcurrent: *const ::windows::core::GUID, dwcalldepth: u32) -> ::windows::core::HRESULT {
1175 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1176 let this = (*this).get_impl();
1177 this.OnActivityLeaveSame(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidcurrent), ::core::mem::transmute_copy(&dwcalldepth)).into()
1178 }
1179 Self {
1180 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1181 OnActivityCreate: OnActivityCreate::<Identity, Impl, OFFSET>,
1182 OnActivityDestroy: OnActivityDestroy::<Identity, Impl, OFFSET>,
1183 OnActivityEnter: OnActivityEnter::<Identity, Impl, OFFSET>,
1184 OnActivityTimeout: OnActivityTimeout::<Identity, Impl, OFFSET>,
1185 OnActivityReenter: OnActivityReenter::<Identity, Impl, OFFSET>,
1186 OnActivityLeave: OnActivityLeave::<Identity, Impl, OFFSET>,
1187 OnActivityLeaveSame: OnActivityLeaveSame::<Identity, Impl, OFFSET>,
1188 }
1189 }
1190 pub fn matches(iid: &windows::core::GUID) -> bool {
1191 iid == &<IComActivityEvents as ::windows::core::ComInterface>::IID
1192 }
1193}
1194#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1195#[cfg(feature = "Win32_Foundation")]
1196pub trait IComApp2Events_Impl: Sized {
1197 fn OnAppActivation2(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID, guidprocess: &::windows::core::GUID) -> ::windows::core::Result<()>;
1198 fn OnAppShutdown2(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1199 fn OnAppForceShutdown2(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1200 fn OnAppPaused2(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID, bpaused: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
1201 fn OnAppRecycle2(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID, guidprocess: &::windows::core::GUID, lreason: i32) -> ::windows::core::Result<()>;
1202}
1203#[cfg(feature = "Win32_Foundation")]
1204impl ::windows::core::RuntimeName for IComApp2Events {}
1205#[cfg(feature = "Win32_Foundation")]
1206impl IComApp2Events_Vtbl {
1207 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComApp2Events_Impl, const OFFSET: isize>() -> IComApp2Events_Vtbl {
1208 unsafe extern "system" fn OnAppActivation2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComApp2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID, guidprocess: ::windows::core::GUID) -> ::windows::core::HRESULT {
1209 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1210 let this = (*this).get_impl();
1211 this.OnAppActivation2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp), ::core::mem::transmute(&guidprocess)).into()
1212 }
1213 unsafe extern "system" fn OnAppShutdown2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComApp2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1214 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1215 let this = (*this).get_impl();
1216 this.OnAppShutdown2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1217 }
1218 unsafe extern "system" fn OnAppForceShutdown2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComApp2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1219 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1220 let this = (*this).get_impl();
1221 this.OnAppForceShutdown2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1222 }
1223 unsafe extern "system" fn OnAppPaused2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComApp2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID, bpaused: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1225 let this = (*this).get_impl();
1226 this.OnAppPaused2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp), ::core::mem::transmute_copy(&bpaused)).into()
1227 }
1228 unsafe extern "system" fn OnAppRecycle2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComApp2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID, guidprocess: ::windows::core::GUID, lreason: i32) -> ::windows::core::HRESULT {
1229 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1230 let this = (*this).get_impl();
1231 this.OnAppRecycle2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp), ::core::mem::transmute(&guidprocess), ::core::mem::transmute_copy(&lreason)).into()
1232 }
1233 Self {
1234 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1235 OnAppActivation2: OnAppActivation2::<Identity, Impl, OFFSET>,
1236 OnAppShutdown2: OnAppShutdown2::<Identity, Impl, OFFSET>,
1237 OnAppForceShutdown2: OnAppForceShutdown2::<Identity, Impl, OFFSET>,
1238 OnAppPaused2: OnAppPaused2::<Identity, Impl, OFFSET>,
1239 OnAppRecycle2: OnAppRecycle2::<Identity, Impl, OFFSET>,
1240 }
1241 }
1242 pub fn matches(iid: &windows::core::GUID) -> bool {
1243 iid == &<IComApp2Events as ::windows::core::ComInterface>::IID
1244 }
1245}
1246#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1247pub trait IComAppEvents_Impl: Sized {
1248 fn OnAppActivation(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1249 fn OnAppShutdown(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1250 fn OnAppForceShutdown(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1251}
1252impl ::windows::core::RuntimeName for IComAppEvents {}
1253impl IComAppEvents_Vtbl {
1254 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComAppEvents_Impl, const OFFSET: isize>() -> IComAppEvents_Vtbl {
1255 unsafe extern "system" fn OnAppActivation<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComAppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1256 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1257 let this = (*this).get_impl();
1258 this.OnAppActivation(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1259 }
1260 unsafe extern "system" fn OnAppShutdown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComAppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1261 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1262 let this = (*this).get_impl();
1263 this.OnAppShutdown(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1264 }
1265 unsafe extern "system" fn OnAppForceShutdown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComAppEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1266 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1267 let this = (*this).get_impl();
1268 this.OnAppForceShutdown(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1269 }
1270 Self {
1271 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1272 OnAppActivation: OnAppActivation::<Identity, Impl, OFFSET>,
1273 OnAppShutdown: OnAppShutdown::<Identity, Impl, OFFSET>,
1274 OnAppForceShutdown: OnAppForceShutdown::<Identity, Impl, OFFSET>,
1275 }
1276 }
1277 pub fn matches(iid: &windows::core::GUID) -> bool {
1278 iid == &<IComAppEvents as ::windows::core::ComInterface>::IID
1279 }
1280}
1281#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1282#[cfg(feature = "Win32_Foundation")]
1283pub trait IComCRMEvents_Impl: Sized {
1284 fn OnCRMRecoveryStart(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1285 fn OnCRMRecoveryDone(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1286 fn OnCRMCheckpoint(&self, pinfo: *const COMSVCSEVENTINFO, guidapp: &::windows::core::GUID) -> ::windows::core::Result<()>;
1287 fn OnCRMBegin(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID, guidactivity: &::windows::core::GUID, guidtx: &::windows::core::GUID, szprogidcompensator: &::windows::core::PCWSTR, szdescription: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
1288 fn OnCRMPrepare(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1289 fn OnCRMCommit(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1290 fn OnCRMAbort(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1291 fn OnCRMIndoubt(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1292 fn OnCRMDone(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1293 fn OnCRMRelease(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1294 fn OnCRMAnalyze(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID, dwcrmrecordtype: u32, dwrecordsize: u32) -> ::windows::core::Result<()>;
1295 fn OnCRMWrite(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID, fvariants: super::super::Foundation::BOOL, dwrecordsize: u32) -> ::windows::core::Result<()>;
1296 fn OnCRMForget(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1297 fn OnCRMForce(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1298 fn OnCRMDeliver(&self, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: &::windows::core::GUID, fvariants: super::super::Foundation::BOOL, dwrecordsize: u32) -> ::windows::core::Result<()>;
1299}
1300#[cfg(feature = "Win32_Foundation")]
1301impl ::windows::core::RuntimeName for IComCRMEvents {}
1302#[cfg(feature = "Win32_Foundation")]
1303impl IComCRMEvents_Vtbl {
1304 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>() -> IComCRMEvents_Vtbl {
1305 unsafe extern "system" fn OnCRMRecoveryStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1306 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1307 let this = (*this).get_impl();
1308 this.OnCRMRecoveryStart(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1309 }
1310 unsafe extern "system" fn OnCRMRecoveryDone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1311 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1312 let this = (*this).get_impl();
1313 this.OnCRMRecoveryDone(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1314 }
1315 unsafe extern "system" fn OnCRMCheckpoint<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidapp: ::windows::core::GUID) -> ::windows::core::HRESULT {
1316 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1317 let this = (*this).get_impl();
1318 this.OnCRMCheckpoint(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidapp)).into()
1319 }
1320 unsafe extern "system" fn OnCRMBegin<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID, guidactivity: ::windows::core::GUID, guidtx: ::windows::core::GUID, szprogidcompensator: ::windows::core::PCWSTR, szdescription: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
1321 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1322 let this = (*this).get_impl();
1323 this.OnCRMBegin(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid), ::core::mem::transmute(&guidactivity), ::core::mem::transmute(&guidtx), ::core::mem::transmute(&szprogidcompensator), ::core::mem::transmute(&szdescription)).into()
1324 }
1325 unsafe extern "system" fn OnCRMPrepare<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1326 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1327 let this = (*this).get_impl();
1328 this.OnCRMPrepare(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1329 }
1330 unsafe extern "system" fn OnCRMCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1331 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1332 let this = (*this).get_impl();
1333 this.OnCRMCommit(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1334 }
1335 unsafe extern "system" fn OnCRMAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1336 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1337 let this = (*this).get_impl();
1338 this.OnCRMAbort(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1339 }
1340 unsafe extern "system" fn OnCRMIndoubt<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1341 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1342 let this = (*this).get_impl();
1343 this.OnCRMIndoubt(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1344 }
1345 unsafe extern "system" fn OnCRMDone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1346 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1347 let this = (*this).get_impl();
1348 this.OnCRMDone(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1349 }
1350 unsafe extern "system" fn OnCRMRelease<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1351 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1352 let this = (*this).get_impl();
1353 this.OnCRMRelease(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1354 }
1355 unsafe extern "system" fn OnCRMAnalyze<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID, dwcrmrecordtype: u32, dwrecordsize: u32) -> ::windows::core::HRESULT {
1356 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1357 let this = (*this).get_impl();
1358 this.OnCRMAnalyze(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid), ::core::mem::transmute_copy(&dwcrmrecordtype), ::core::mem::transmute_copy(&dwrecordsize)).into()
1359 }
1360 unsafe extern "system" fn OnCRMWrite<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID, fvariants: super::super::Foundation::BOOL, dwrecordsize: u32) -> ::windows::core::HRESULT {
1361 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1362 let this = (*this).get_impl();
1363 this.OnCRMWrite(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid), ::core::mem::transmute_copy(&fvariants), ::core::mem::transmute_copy(&dwrecordsize)).into()
1364 }
1365 unsafe extern "system" fn OnCRMForget<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1366 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1367 let this = (*this).get_impl();
1368 this.OnCRMForget(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1369 }
1370 unsafe extern "system" fn OnCRMForce<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1371 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1372 let this = (*this).get_impl();
1373 this.OnCRMForce(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid)).into()
1374 }
1375 unsafe extern "system" fn OnCRMDeliver<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComCRMEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidclerkclsid: ::windows::core::GUID, fvariants: super::super::Foundation::BOOL, dwrecordsize: u32) -> ::windows::core::HRESULT {
1376 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1377 let this = (*this).get_impl();
1378 this.OnCRMDeliver(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidclerkclsid), ::core::mem::transmute_copy(&fvariants), ::core::mem::transmute_copy(&dwrecordsize)).into()
1379 }
1380 Self {
1381 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1382 OnCRMRecoveryStart: OnCRMRecoveryStart::<Identity, Impl, OFFSET>,
1383 OnCRMRecoveryDone: OnCRMRecoveryDone::<Identity, Impl, OFFSET>,
1384 OnCRMCheckpoint: OnCRMCheckpoint::<Identity, Impl, OFFSET>,
1385 OnCRMBegin: OnCRMBegin::<Identity, Impl, OFFSET>,
1386 OnCRMPrepare: OnCRMPrepare::<Identity, Impl, OFFSET>,
1387 OnCRMCommit: OnCRMCommit::<Identity, Impl, OFFSET>,
1388 OnCRMAbort: OnCRMAbort::<Identity, Impl, OFFSET>,
1389 OnCRMIndoubt: OnCRMIndoubt::<Identity, Impl, OFFSET>,
1390 OnCRMDone: OnCRMDone::<Identity, Impl, OFFSET>,
1391 OnCRMRelease: OnCRMRelease::<Identity, Impl, OFFSET>,
1392 OnCRMAnalyze: OnCRMAnalyze::<Identity, Impl, OFFSET>,
1393 OnCRMWrite: OnCRMWrite::<Identity, Impl, OFFSET>,
1394 OnCRMForget: OnCRMForget::<Identity, Impl, OFFSET>,
1395 OnCRMForce: OnCRMForce::<Identity, Impl, OFFSET>,
1396 OnCRMDeliver: OnCRMDeliver::<Identity, Impl, OFFSET>,
1397 }
1398 }
1399 pub fn matches(iid: &windows::core::GUID) -> bool {
1400 iid == &<IComCRMEvents as ::windows::core::ComInterface>::IID
1401 }
1402}
1403#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1404pub trait IComExceptionEvents_Impl: Sized {
1405 fn OnExceptionUser(&self, pinfo: *const COMSVCSEVENTINFO, code: u32, address: u64, pszstacktrace: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
1406}
1407impl ::windows::core::RuntimeName for IComExceptionEvents {}
1408impl IComExceptionEvents_Vtbl {
1409 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComExceptionEvents_Impl, const OFFSET: isize>() -> IComExceptionEvents_Vtbl {
1410 unsafe extern "system" fn OnExceptionUser<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComExceptionEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, code: u32, address: u64, pszstacktrace: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
1411 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1412 let this = (*this).get_impl();
1413 this.OnExceptionUser(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&code), ::core::mem::transmute_copy(&address), ::core::mem::transmute(&pszstacktrace)).into()
1414 }
1415 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnExceptionUser: OnExceptionUser::<Identity, Impl, OFFSET> }
1416 }
1417 pub fn matches(iid: &windows::core::GUID) -> bool {
1418 iid == &<IComExceptionEvents as ::windows::core::ComInterface>::IID
1419 }
1420}
1421#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1422pub trait IComIdentityEvents_Impl: Sized {
1423 fn OnIISRequestInfo(&self, pinfo: *const COMSVCSEVENTINFO, objid: u64, pszclientip: &::windows::core::PCWSTR, pszserverip: &::windows::core::PCWSTR, pszurl: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
1424}
1425impl ::windows::core::RuntimeName for IComIdentityEvents {}
1426impl IComIdentityEvents_Vtbl {
1427 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComIdentityEvents_Impl, const OFFSET: isize>() -> IComIdentityEvents_Vtbl {
1428 unsafe extern "system" fn OnIISRequestInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComIdentityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objid: u64, pszclientip: ::windows::core::PCWSTR, pszserverip: ::windows::core::PCWSTR, pszurl: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
1429 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1430 let this = (*this).get_impl();
1431 this.OnIISRequestInfo(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objid), ::core::mem::transmute(&pszclientip), ::core::mem::transmute(&pszserverip), ::core::mem::transmute(&pszurl)).into()
1432 }
1433 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnIISRequestInfo: OnIISRequestInfo::<Identity, Impl, OFFSET> }
1434 }
1435 pub fn matches(iid: &windows::core::GUID) -> bool {
1436 iid == &<IComIdentityEvents as ::windows::core::ComInterface>::IID
1437 }
1438}
1439#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1440pub trait IComInstance2Events_Impl: Sized {
1441 fn OnObjectCreate2(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, clsid: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, ctxtid: u64, objectid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1442 fn OnObjectDestroy2(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::Result<()>;
1443}
1444impl ::windows::core::RuntimeName for IComInstance2Events {}
1445impl IComInstance2Events_Vtbl {
1446 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComInstance2Events_Impl, const OFFSET: isize>() -> IComInstance2Events_Vtbl {
1447 unsafe extern "system" fn OnObjectCreate2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComInstance2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, clsid: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, ctxtid: u64, objectid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1448 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1449 let this = (*this).get_impl();
1450 this.OnObjectCreate2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&clsid), ::core::mem::transmute_copy(&tsid), ::core::mem::transmute_copy(&ctxtid), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute_copy(&guidpartition)).into()
1451 }
1452 unsafe extern "system" fn OnObjectDestroy2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComInstance2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::HRESULT {
1453 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1454 let this = (*this).get_impl();
1455 this.OnObjectDestroy2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid)).into()
1456 }
1457 Self {
1458 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1459 OnObjectCreate2: OnObjectCreate2::<Identity, Impl, OFFSET>,
1460 OnObjectDestroy2: OnObjectDestroy2::<Identity, Impl, OFFSET>,
1461 }
1462 }
1463 pub fn matches(iid: &windows::core::GUID) -> bool {
1464 iid == &<IComInstance2Events as ::windows::core::ComInterface>::IID
1465 }
1466}
1467#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1468pub trait IComInstanceEvents_Impl: Sized {
1469 fn OnObjectCreate(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, clsid: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, ctxtid: u64, objectid: u64) -> ::windows::core::Result<()>;
1470 fn OnObjectDestroy(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::Result<()>;
1471}
1472impl ::windows::core::RuntimeName for IComInstanceEvents {}
1473impl IComInstanceEvents_Vtbl {
1474 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComInstanceEvents_Impl, const OFFSET: isize>() -> IComInstanceEvents_Vtbl {
1475 unsafe extern "system" fn OnObjectCreate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComInstanceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, clsid: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, ctxtid: u64, objectid: u64) -> ::windows::core::HRESULT {
1476 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1477 let this = (*this).get_impl();
1478 this.OnObjectCreate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&clsid), ::core::mem::transmute_copy(&tsid), ::core::mem::transmute_copy(&ctxtid), ::core::mem::transmute_copy(&objectid)).into()
1479 }
1480 unsafe extern "system" fn OnObjectDestroy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComInstanceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::HRESULT {
1481 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1482 let this = (*this).get_impl();
1483 this.OnObjectDestroy(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid)).into()
1484 }
1485 Self {
1486 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1487 OnObjectCreate: OnObjectCreate::<Identity, Impl, OFFSET>,
1488 OnObjectDestroy: OnObjectDestroy::<Identity, Impl, OFFSET>,
1489 }
1490 }
1491 pub fn matches(iid: &windows::core::GUID) -> bool {
1492 iid == &<IComInstanceEvents as ::windows::core::ComInterface>::IID
1493 }
1494}
1495#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1496#[cfg(feature = "Win32_Foundation")]
1497pub trait IComLTxEvents_Impl: Sized {
1498 fn OnLtxTransactionStart(&self, pinfo: *const COMSVCSEVENTINFO, guidltx: &::windows::core::GUID, tsid: &::windows::core::GUID, froot: super::super::Foundation::BOOL, nisolationlevel: i32) -> ::windows::core::Result<()>;
1499 fn OnLtxTransactionPrepare(&self, pinfo: *const COMSVCSEVENTINFO, guidltx: &::windows::core::GUID, fvote: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
1500 fn OnLtxTransactionAbort(&self, pinfo: *const COMSVCSEVENTINFO, guidltx: &::windows::core::GUID) -> ::windows::core::Result<()>;
1501 fn OnLtxTransactionCommit(&self, pinfo: *const COMSVCSEVENTINFO, guidltx: &::windows::core::GUID) -> ::windows::core::Result<()>;
1502 fn OnLtxTransactionPromote(&self, pinfo: *const COMSVCSEVENTINFO, guidltx: &::windows::core::GUID, txnid: &::windows::core::GUID) -> ::windows::core::Result<()>;
1503}
1504#[cfg(feature = "Win32_Foundation")]
1505impl ::windows::core::RuntimeName for IComLTxEvents {}
1506#[cfg(feature = "Win32_Foundation")]
1507impl IComLTxEvents_Vtbl {
1508 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComLTxEvents_Impl, const OFFSET: isize>() -> IComLTxEvents_Vtbl {
1509 unsafe extern "system" fn OnLtxTransactionStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComLTxEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidltx: ::windows::core::GUID, tsid: ::windows::core::GUID, froot: super::super::Foundation::BOOL, nisolationlevel: i32) -> ::windows::core::HRESULT {
1510 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1511 let this = (*this).get_impl();
1512 this.OnLtxTransactionStart(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidltx), ::core::mem::transmute(&tsid), ::core::mem::transmute_copy(&froot), ::core::mem::transmute_copy(&nisolationlevel)).into()
1513 }
1514 unsafe extern "system" fn OnLtxTransactionPrepare<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComLTxEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidltx: ::windows::core::GUID, fvote: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1515 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1516 let this = (*this).get_impl();
1517 this.OnLtxTransactionPrepare(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidltx), ::core::mem::transmute_copy(&fvote)).into()
1518 }
1519 unsafe extern "system" fn OnLtxTransactionAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComLTxEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidltx: ::windows::core::GUID) -> ::windows::core::HRESULT {
1520 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1521 let this = (*this).get_impl();
1522 this.OnLtxTransactionAbort(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidltx)).into()
1523 }
1524 unsafe extern "system" fn OnLtxTransactionCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComLTxEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidltx: ::windows::core::GUID) -> ::windows::core::HRESULT {
1525 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1526 let this = (*this).get_impl();
1527 this.OnLtxTransactionCommit(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidltx)).into()
1528 }
1529 unsafe extern "system" fn OnLtxTransactionPromote<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComLTxEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidltx: ::windows::core::GUID, txnid: ::windows::core::GUID) -> ::windows::core::HRESULT {
1530 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1531 let this = (*this).get_impl();
1532 this.OnLtxTransactionPromote(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&guidltx), ::core::mem::transmute(&txnid)).into()
1533 }
1534 Self {
1535 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1536 OnLtxTransactionStart: OnLtxTransactionStart::<Identity, Impl, OFFSET>,
1537 OnLtxTransactionPrepare: OnLtxTransactionPrepare::<Identity, Impl, OFFSET>,
1538 OnLtxTransactionAbort: OnLtxTransactionAbort::<Identity, Impl, OFFSET>,
1539 OnLtxTransactionCommit: OnLtxTransactionCommit::<Identity, Impl, OFFSET>,
1540 OnLtxTransactionPromote: OnLtxTransactionPromote::<Identity, Impl, OFFSET>,
1541 }
1542 }
1543 pub fn matches(iid: &windows::core::GUID) -> bool {
1544 iid == &<IComLTxEvents as ::windows::core::ComInterface>::IID
1545 }
1546}
1547#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1548pub trait IComMethod2Events_Impl: Sized {
1549 fn OnMethodCall2(&self, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, dwthread: u32, imeth: u32) -> ::windows::core::Result<()>;
1550 fn OnMethodReturn2(&self, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, dwthread: u32, imeth: u32, hresult: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1551 fn OnMethodException2(&self, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, dwthread: u32, imeth: u32) -> ::windows::core::Result<()>;
1552}
1553impl ::windows::core::RuntimeName for IComMethod2Events {}
1554impl IComMethod2Events_Vtbl {
1555 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethod2Events_Impl, const OFFSET: isize>() -> IComMethod2Events_Vtbl {
1556 unsafe extern "system" fn OnMethodCall2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethod2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, dwthread: u32, imeth: u32) -> ::windows::core::HRESULT {
1557 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1558 let this = (*this).get_impl();
1559 this.OnMethodCall2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidcid), ::core::mem::transmute_copy(&guidrid), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&imeth)).into()
1560 }
1561 unsafe extern "system" fn OnMethodReturn2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethod2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, dwthread: u32, imeth: u32, hresult: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1562 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1563 let this = (*this).get_impl();
1564 this.OnMethodReturn2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidcid), ::core::mem::transmute_copy(&guidrid), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&imeth), ::core::mem::transmute_copy(&hresult)).into()
1565 }
1566 unsafe extern "system" fn OnMethodException2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethod2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, dwthread: u32, imeth: u32) -> ::windows::core::HRESULT {
1567 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1568 let this = (*this).get_impl();
1569 this.OnMethodException2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidcid), ::core::mem::transmute_copy(&guidrid), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&imeth)).into()
1570 }
1571 Self {
1572 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1573 OnMethodCall2: OnMethodCall2::<Identity, Impl, OFFSET>,
1574 OnMethodReturn2: OnMethodReturn2::<Identity, Impl, OFFSET>,
1575 OnMethodException2: OnMethodException2::<Identity, Impl, OFFSET>,
1576 }
1577 }
1578 pub fn matches(iid: &windows::core::GUID) -> bool {
1579 iid == &<IComMethod2Events as ::windows::core::ComInterface>::IID
1580 }
1581}
1582#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1583pub trait IComMethodEvents_Impl: Sized {
1584 fn OnMethodCall(&self, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, imeth: u32) -> ::windows::core::Result<()>;
1585 fn OnMethodReturn(&self, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, imeth: u32, hresult: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1586 fn OnMethodException(&self, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, imeth: u32) -> ::windows::core::Result<()>;
1587}
1588impl ::windows::core::RuntimeName for IComMethodEvents {}
1589impl IComMethodEvents_Vtbl {
1590 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethodEvents_Impl, const OFFSET: isize>() -> IComMethodEvents_Vtbl {
1591 unsafe extern "system" fn OnMethodCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethodEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, imeth: u32) -> ::windows::core::HRESULT {
1592 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1593 let this = (*this).get_impl();
1594 this.OnMethodCall(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidcid), ::core::mem::transmute_copy(&guidrid), ::core::mem::transmute_copy(&imeth)).into()
1595 }
1596 unsafe extern "system" fn OnMethodReturn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethodEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, imeth: u32, hresult: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1597 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1598 let this = (*this).get_impl();
1599 this.OnMethodReturn(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidcid), ::core::mem::transmute_copy(&guidrid), ::core::mem::transmute_copy(&imeth), ::core::mem::transmute_copy(&hresult)).into()
1600 }
1601 unsafe extern "system" fn OnMethodException<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMethodEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, oid: u64, guidcid: *const ::windows::core::GUID, guidrid: *const ::windows::core::GUID, imeth: u32) -> ::windows::core::HRESULT {
1602 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1603 let this = (*this).get_impl();
1604 this.OnMethodException(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidcid), ::core::mem::transmute_copy(&guidrid), ::core::mem::transmute_copy(&imeth)).into()
1605 }
1606 Self {
1607 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1608 OnMethodCall: OnMethodCall::<Identity, Impl, OFFSET>,
1609 OnMethodReturn: OnMethodReturn::<Identity, Impl, OFFSET>,
1610 OnMethodException: OnMethodException::<Identity, Impl, OFFSET>,
1611 }
1612 }
1613 pub fn matches(iid: &windows::core::GUID) -> bool {
1614 iid == &<IComMethodEvents as ::windows::core::ComInterface>::IID
1615 }
1616}
1617#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1618pub trait IComMtaThreadPoolKnobs_Impl: Sized {
1619 fn MTASetMaxThreadCount(&self, dwmaxthreads: u32) -> ::windows::core::Result<()>;
1620 fn MTAGetMaxThreadCount(&self) -> ::windows::core::Result<u32>;
1621 fn MTASetThrottleValue(&self, dwthrottle: u32) -> ::windows::core::Result<()>;
1622 fn MTAGetThrottleValue(&self) -> ::windows::core::Result<u32>;
1623}
1624impl ::windows::core::RuntimeName for IComMtaThreadPoolKnobs {}
1625impl IComMtaThreadPoolKnobs_Vtbl {
1626 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMtaThreadPoolKnobs_Impl, const OFFSET: isize>() -> IComMtaThreadPoolKnobs_Vtbl {
1627 unsafe extern "system" fn MTASetMaxThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMtaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwmaxthreads: u32) -> ::windows::core::HRESULT {
1628 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1629 let this = (*this).get_impl();
1630 this.MTASetMaxThreadCount(::core::mem::transmute_copy(&dwmaxthreads)).into()
1631 }
1632 unsafe extern "system" fn MTAGetMaxThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMtaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwmaxthreads: *mut u32) -> ::windows::core::HRESULT {
1633 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1634 let this = (*this).get_impl();
1635 match this.MTAGetMaxThreadCount() {
1636 ::core::result::Result::Ok(ok__) => {
1637 ::core::ptr::write(pdwmaxthreads, ::core::mem::transmute(ok__));
1638 ::windows::core::HRESULT(0)
1639 }
1640 ::core::result::Result::Err(err) => err.into(),
1641 }
1642 }
1643 unsafe extern "system" fn MTASetThrottleValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMtaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwthrottle: u32) -> ::windows::core::HRESULT {
1644 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1645 let this = (*this).get_impl();
1646 this.MTASetThrottleValue(::core::mem::transmute_copy(&dwthrottle)).into()
1647 }
1648 unsafe extern "system" fn MTAGetThrottleValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComMtaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwthrottle: *mut u32) -> ::windows::core::HRESULT {
1649 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1650 let this = (*this).get_impl();
1651 match this.MTAGetThrottleValue() {
1652 ::core::result::Result::Ok(ok__) => {
1653 ::core::ptr::write(pdwthrottle, ::core::mem::transmute(ok__));
1654 ::windows::core::HRESULT(0)
1655 }
1656 ::core::result::Result::Err(err) => err.into(),
1657 }
1658 }
1659 Self {
1660 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1661 MTASetMaxThreadCount: MTASetMaxThreadCount::<Identity, Impl, OFFSET>,
1662 MTAGetMaxThreadCount: MTAGetMaxThreadCount::<Identity, Impl, OFFSET>,
1663 MTASetThrottleValue: MTASetThrottleValue::<Identity, Impl, OFFSET>,
1664 MTAGetThrottleValue: MTAGetThrottleValue::<Identity, Impl, OFFSET>,
1665 }
1666 }
1667 pub fn matches(iid: &windows::core::GUID) -> bool {
1668 iid == &<IComMtaThreadPoolKnobs as ::windows::core::ComInterface>::IID
1669 }
1670}
1671#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1672pub trait IComObjectConstruction2Events_Impl: Sized {
1673 fn OnObjectConstruct2(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, sconstructstring: &::windows::core::PCWSTR, oid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1674}
1675impl ::windows::core::RuntimeName for IComObjectConstruction2Events {}
1676impl IComObjectConstruction2Events_Vtbl {
1677 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectConstruction2Events_Impl, const OFFSET: isize>() -> IComObjectConstruction2Events_Vtbl {
1678 unsafe extern "system" fn OnObjectConstruct2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectConstruction2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, sconstructstring: ::windows::core::PCWSTR, oid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1679 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1680 let this = (*this).get_impl();
1681 this.OnObjectConstruct2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute(&sconstructstring), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidpartition)).into()
1682 }
1683 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnObjectConstruct2: OnObjectConstruct2::<Identity, Impl, OFFSET> }
1684 }
1685 pub fn matches(iid: &windows::core::GUID) -> bool {
1686 iid == &<IComObjectConstruction2Events as ::windows::core::ComInterface>::IID
1687 }
1688}
1689#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1690pub trait IComObjectConstructionEvents_Impl: Sized {
1691 fn OnObjectConstruct(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, sconstructstring: &::windows::core::PCWSTR, oid: u64) -> ::windows::core::Result<()>;
1692}
1693impl ::windows::core::RuntimeName for IComObjectConstructionEvents {}
1694impl IComObjectConstructionEvents_Vtbl {
1695 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectConstructionEvents_Impl, const OFFSET: isize>() -> IComObjectConstructionEvents_Vtbl {
1696 unsafe extern "system" fn OnObjectConstruct<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectConstructionEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, sconstructstring: ::windows::core::PCWSTR, oid: u64) -> ::windows::core::HRESULT {
1697 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1698 let this = (*this).get_impl();
1699 this.OnObjectConstruct(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute(&sconstructstring), ::core::mem::transmute_copy(&oid)).into()
1700 }
1701 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnObjectConstruct: OnObjectConstruct::<Identity, Impl, OFFSET> }
1702 }
1703 pub fn matches(iid: &windows::core::GUID) -> bool {
1704 iid == &<IComObjectConstructionEvents as ::windows::core::ComInterface>::IID
1705 }
1706}
1707#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1708pub trait IComObjectEvents_Impl: Sized {
1709 fn OnObjectActivate(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64, objectid: u64) -> ::windows::core::Result<()>;
1710 fn OnObjectDeactivate(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64, objectid: u64) -> ::windows::core::Result<()>;
1711 fn OnDisableCommit(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::Result<()>;
1712 fn OnEnableCommit(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::Result<()>;
1713 fn OnSetComplete(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::Result<()>;
1714 fn OnSetAbort(&self, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::Result<()>;
1715}
1716impl ::windows::core::RuntimeName for IComObjectEvents {}
1717impl IComObjectEvents_Vtbl {
1718 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>() -> IComObjectEvents_Vtbl {
1719 unsafe extern "system" fn OnObjectActivate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64, objectid: u64) -> ::windows::core::HRESULT {
1720 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1721 let this = (*this).get_impl();
1722 this.OnObjectActivate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid), ::core::mem::transmute_copy(&objectid)).into()
1723 }
1724 unsafe extern "system" fn OnObjectDeactivate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64, objectid: u64) -> ::windows::core::HRESULT {
1725 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1726 let this = (*this).get_impl();
1727 this.OnObjectDeactivate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid), ::core::mem::transmute_copy(&objectid)).into()
1728 }
1729 unsafe extern "system" fn OnDisableCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::HRESULT {
1730 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1731 let this = (*this).get_impl();
1732 this.OnDisableCommit(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid)).into()
1733 }
1734 unsafe extern "system" fn OnEnableCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::HRESULT {
1735 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1736 let this = (*this).get_impl();
1737 this.OnEnableCommit(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid)).into()
1738 }
1739 unsafe extern "system" fn OnSetComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::HRESULT {
1740 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1741 let this = (*this).get_impl();
1742 this.OnSetComplete(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid)).into()
1743 }
1744 unsafe extern "system" fn OnSetAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, ctxtid: u64) -> ::windows::core::HRESULT {
1745 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1746 let this = (*this).get_impl();
1747 this.OnSetAbort(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&ctxtid)).into()
1748 }
1749 Self {
1750 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1751 OnObjectActivate: OnObjectActivate::<Identity, Impl, OFFSET>,
1752 OnObjectDeactivate: OnObjectDeactivate::<Identity, Impl, OFFSET>,
1753 OnDisableCommit: OnDisableCommit::<Identity, Impl, OFFSET>,
1754 OnEnableCommit: OnEnableCommit::<Identity, Impl, OFFSET>,
1755 OnSetComplete: OnSetComplete::<Identity, Impl, OFFSET>,
1756 OnSetAbort: OnSetAbort::<Identity, Impl, OFFSET>,
1757 }
1758 }
1759 pub fn matches(iid: &windows::core::GUID) -> bool {
1760 iid == &<IComObjectEvents as ::windows::core::ComInterface>::IID
1761 }
1762}
1763#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1764pub trait IComObjectPool2Events_Impl: Sized {
1765 fn OnObjPoolPutObject2(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, nreason: i32, dwavailable: u32, oid: u64) -> ::windows::core::Result<()>;
1766 fn OnObjPoolGetObject2(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, dwavailable: u32, oid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1767 fn OnObjPoolRecycleToTx2(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64) -> ::windows::core::Result<()>;
1768 fn OnObjPoolGetFromTx2(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1769}
1770impl ::windows::core::RuntimeName for IComObjectPool2Events {}
1771impl IComObjectPool2Events_Vtbl {
1772 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPool2Events_Impl, const OFFSET: isize>() -> IComObjectPool2Events_Vtbl {
1773 unsafe extern "system" fn OnObjPoolPutObject2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPool2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, nreason: i32, dwavailable: u32, oid: u64) -> ::windows::core::HRESULT {
1774 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1775 let this = (*this).get_impl();
1776 this.OnObjPoolPutObject2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&nreason), ::core::mem::transmute_copy(&dwavailable), ::core::mem::transmute_copy(&oid)).into()
1777 }
1778 unsafe extern "system" fn OnObjPoolGetObject2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPool2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, dwavailable: u32, oid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1779 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1780 let this = (*this).get_impl();
1781 this.OnObjPoolGetObject2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&dwavailable), ::core::mem::transmute_copy(&oid), ::core::mem::transmute_copy(&guidpartition)).into()
1782 }
1783 unsafe extern "system" fn OnObjPoolRecycleToTx2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPool2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64) -> ::windows::core::HRESULT {
1784 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1785 let this = (*this).get_impl();
1786 this.OnObjPoolRecycleToTx2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&objid)).into()
1787 }
1788 unsafe extern "system" fn OnObjPoolGetFromTx2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPool2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64, guidpartition: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1789 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1790 let this = (*this).get_impl();
1791 this.OnObjPoolGetFromTx2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&objid), ::core::mem::transmute_copy(&guidpartition)).into()
1792 }
1793 Self {
1794 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1795 OnObjPoolPutObject2: OnObjPoolPutObject2::<Identity, Impl, OFFSET>,
1796 OnObjPoolGetObject2: OnObjPoolGetObject2::<Identity, Impl, OFFSET>,
1797 OnObjPoolRecycleToTx2: OnObjPoolRecycleToTx2::<Identity, Impl, OFFSET>,
1798 OnObjPoolGetFromTx2: OnObjPoolGetFromTx2::<Identity, Impl, OFFSET>,
1799 }
1800 }
1801 pub fn matches(iid: &windows::core::GUID) -> bool {
1802 iid == &<IComObjectPool2Events as ::windows::core::ComInterface>::IID
1803 }
1804}
1805#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1806pub trait IComObjectPoolEvents_Impl: Sized {
1807 fn OnObjPoolPutObject(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, nreason: i32, dwavailable: u32, oid: u64) -> ::windows::core::Result<()>;
1808 fn OnObjPoolGetObject(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, dwavailable: u32, oid: u64) -> ::windows::core::Result<()>;
1809 fn OnObjPoolRecycleToTx(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64) -> ::windows::core::Result<()>;
1810 fn OnObjPoolGetFromTx(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64) -> ::windows::core::Result<()>;
1811}
1812impl ::windows::core::RuntimeName for IComObjectPoolEvents {}
1813impl IComObjectPoolEvents_Vtbl {
1814 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents_Impl, const OFFSET: isize>() -> IComObjectPoolEvents_Vtbl {
1815 unsafe extern "system" fn OnObjPoolPutObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, nreason: i32, dwavailable: u32, oid: u64) -> ::windows::core::HRESULT {
1816 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1817 let this = (*this).get_impl();
1818 this.OnObjPoolPutObject(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&nreason), ::core::mem::transmute_copy(&dwavailable), ::core::mem::transmute_copy(&oid)).into()
1819 }
1820 unsafe extern "system" fn OnObjPoolGetObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, dwavailable: u32, oid: u64) -> ::windows::core::HRESULT {
1821 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1822 let this = (*this).get_impl();
1823 this.OnObjPoolGetObject(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&dwavailable), ::core::mem::transmute_copy(&oid)).into()
1824 }
1825 unsafe extern "system" fn OnObjPoolRecycleToTx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64) -> ::windows::core::HRESULT {
1826 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1827 let this = (*this).get_impl();
1828 this.OnObjPoolRecycleToTx(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&objid)).into()
1829 }
1830 unsafe extern "system" fn OnObjPoolGetFromTx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, guidobject: *const ::windows::core::GUID, guidtx: *const ::windows::core::GUID, objid: u64) -> ::windows::core::HRESULT {
1831 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1832 let this = (*this).get_impl();
1833 this.OnObjPoolGetFromTx(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&objid)).into()
1834 }
1835 Self {
1836 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1837 OnObjPoolPutObject: OnObjPoolPutObject::<Identity, Impl, OFFSET>,
1838 OnObjPoolGetObject: OnObjPoolGetObject::<Identity, Impl, OFFSET>,
1839 OnObjPoolRecycleToTx: OnObjPoolRecycleToTx::<Identity, Impl, OFFSET>,
1840 OnObjPoolGetFromTx: OnObjPoolGetFromTx::<Identity, Impl, OFFSET>,
1841 }
1842 }
1843 pub fn matches(iid: &windows::core::GUID) -> bool {
1844 iid == &<IComObjectPoolEvents as ::windows::core::ComInterface>::IID
1845 }
1846}
1847#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1848pub trait IComObjectPoolEvents2_Impl: Sized {
1849 fn OnObjPoolCreateObject(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, dwobjscreated: u32, oid: u64) -> ::windows::core::Result<()>;
1850 fn OnObjPoolDestroyObject(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, dwobjscreated: u32, oid: u64) -> ::windows::core::Result<()>;
1851 fn OnObjPoolCreateDecision(&self, pinfo: *const COMSVCSEVENTINFO, dwthreadswaiting: u32, dwavail: u32, dwcreated: u32, dwmin: u32, dwmax: u32) -> ::windows::core::Result<()>;
1852 fn OnObjPoolTimeout(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, guidactivity: *const ::windows::core::GUID, dwtimeout: u32) -> ::windows::core::Result<()>;
1853 fn OnObjPoolCreatePool(&self, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, dwmin: u32, dwmax: u32, dwtimeout: u32) -> ::windows::core::Result<()>;
1854}
1855impl ::windows::core::RuntimeName for IComObjectPoolEvents2 {}
1856impl IComObjectPoolEvents2_Vtbl {
1857 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents2_Impl, const OFFSET: isize>() -> IComObjectPoolEvents2_Vtbl {
1858 unsafe extern "system" fn OnObjPoolCreateObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, dwobjscreated: u32, oid: u64) -> ::windows::core::HRESULT {
1859 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1860 let this = (*this).get_impl();
1861 this.OnObjPoolCreateObject(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&dwobjscreated), ::core::mem::transmute_copy(&oid)).into()
1862 }
1863 unsafe extern "system" fn OnObjPoolDestroyObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, dwobjscreated: u32, oid: u64) -> ::windows::core::HRESULT {
1864 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1865 let this = (*this).get_impl();
1866 this.OnObjPoolDestroyObject(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&dwobjscreated), ::core::mem::transmute_copy(&oid)).into()
1867 }
1868 unsafe extern "system" fn OnObjPoolCreateDecision<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, dwthreadswaiting: u32, dwavail: u32, dwcreated: u32, dwmin: u32, dwmax: u32) -> ::windows::core::HRESULT {
1869 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1870 let this = (*this).get_impl();
1871 this.OnObjPoolCreateDecision(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&dwthreadswaiting), ::core::mem::transmute_copy(&dwavail), ::core::mem::transmute_copy(&dwcreated), ::core::mem::transmute_copy(&dwmin), ::core::mem::transmute_copy(&dwmax)).into()
1872 }
1873 unsafe extern "system" fn OnObjPoolTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, guidactivity: *const ::windows::core::GUID, dwtimeout: u32) -> ::windows::core::HRESULT {
1874 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1875 let this = (*this).get_impl();
1876 this.OnObjPoolTimeout(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&dwtimeout)).into()
1877 }
1878 unsafe extern "system" fn OnObjPoolCreatePool<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComObjectPoolEvents2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidobject: *const ::windows::core::GUID, dwmin: u32, dwmax: u32, dwtimeout: u32) -> ::windows::core::HRESULT {
1879 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1880 let this = (*this).get_impl();
1881 this.OnObjPoolCreatePool(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidobject), ::core::mem::transmute_copy(&dwmin), ::core::mem::transmute_copy(&dwmax), ::core::mem::transmute_copy(&dwtimeout)).into()
1882 }
1883 Self {
1884 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1885 OnObjPoolCreateObject: OnObjPoolCreateObject::<Identity, Impl, OFFSET>,
1886 OnObjPoolDestroyObject: OnObjPoolDestroyObject::<Identity, Impl, OFFSET>,
1887 OnObjPoolCreateDecision: OnObjPoolCreateDecision::<Identity, Impl, OFFSET>,
1888 OnObjPoolTimeout: OnObjPoolTimeout::<Identity, Impl, OFFSET>,
1889 OnObjPoolCreatePool: OnObjPoolCreatePool::<Identity, Impl, OFFSET>,
1890 }
1891 }
1892 pub fn matches(iid: &windows::core::GUID) -> bool {
1893 iid == &<IComObjectPoolEvents2 as ::windows::core::ComInterface>::IID
1894 }
1895}
1896#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
1897pub trait IComQCEvents_Impl: Sized {
1898 fn OnQCRecord(&self, pinfo: *const COMSVCSEVENTINFO, objid: u64, szqueue: &::windows::core::PCWSTR, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, msmqhr: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1899 fn OnQCQueueOpen(&self, pinfo: *const COMSVCSEVENTINFO, szqueue: &::windows::core::PCWSTR, queueid: u64, hr: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1900 fn OnQCReceive(&self, pinfo: *const COMSVCSEVENTINFO, queueid: u64, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, hr: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1901 fn OnQCReceiveFail(&self, pinfo: *const COMSVCSEVENTINFO, queueid: u64, msmqhr: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1902 fn OnQCMoveToReTryQueue(&self, pinfo: *const COMSVCSEVENTINFO, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, retryindex: u32) -> ::windows::core::Result<()>;
1903 fn OnQCMoveToDeadQueue(&self, pinfo: *const COMSVCSEVENTINFO, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
1904 fn OnQCPlayback(&self, pinfo: *const COMSVCSEVENTINFO, objid: u64, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, hr: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
1905}
1906impl ::windows::core::RuntimeName for IComQCEvents {}
1907impl IComQCEvents_Vtbl {
1908 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>() -> IComQCEvents_Vtbl {
1909 unsafe extern "system" fn OnQCRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objid: u64, szqueue: ::windows::core::PCWSTR, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, msmqhr: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1910 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1911 let this = (*this).get_impl();
1912 this.OnQCRecord(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objid), ::core::mem::transmute(&szqueue), ::core::mem::transmute_copy(&guidmsgid), ::core::mem::transmute_copy(&guidworkflowid), ::core::mem::transmute_copy(&msmqhr)).into()
1913 }
1914 unsafe extern "system" fn OnQCQueueOpen<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, szqueue: ::windows::core::PCWSTR, queueid: u64, hr: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1915 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1916 let this = (*this).get_impl();
1917 this.OnQCQueueOpen(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute(&szqueue), ::core::mem::transmute_copy(&queueid), ::core::mem::transmute_copy(&hr)).into()
1918 }
1919 unsafe extern "system" fn OnQCReceive<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, queueid: u64, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, hr: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1920 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1921 let this = (*this).get_impl();
1922 this.OnQCReceive(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&queueid), ::core::mem::transmute_copy(&guidmsgid), ::core::mem::transmute_copy(&guidworkflowid), ::core::mem::transmute_copy(&hr)).into()
1923 }
1924 unsafe extern "system" fn OnQCReceiveFail<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, queueid: u64, msmqhr: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1925 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1926 let this = (*this).get_impl();
1927 this.OnQCReceiveFail(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&queueid), ::core::mem::transmute_copy(&msmqhr)).into()
1928 }
1929 unsafe extern "system" fn OnQCMoveToReTryQueue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, retryindex: u32) -> ::windows::core::HRESULT {
1930 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1931 let this = (*this).get_impl();
1932 this.OnQCMoveToReTryQueue(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidmsgid), ::core::mem::transmute_copy(&guidworkflowid), ::core::mem::transmute_copy(&retryindex)).into()
1933 }
1934 unsafe extern "system" fn OnQCMoveToDeadQueue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
1935 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1936 let this = (*this).get_impl();
1937 this.OnQCMoveToDeadQueue(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidmsgid), ::core::mem::transmute_copy(&guidworkflowid)).into()
1938 }
1939 unsafe extern "system" fn OnQCPlayback<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComQCEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objid: u64, guidmsgid: *const ::windows::core::GUID, guidworkflowid: *const ::windows::core::GUID, hr: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
1940 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1941 let this = (*this).get_impl();
1942 this.OnQCPlayback(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objid), ::core::mem::transmute_copy(&guidmsgid), ::core::mem::transmute_copy(&guidworkflowid), ::core::mem::transmute_copy(&hr)).into()
1943 }
1944 Self {
1945 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
1946 OnQCRecord: OnQCRecord::<Identity, Impl, OFFSET>,
1947 OnQCQueueOpen: OnQCQueueOpen::<Identity, Impl, OFFSET>,
1948 OnQCReceive: OnQCReceive::<Identity, Impl, OFFSET>,
1949 OnQCReceiveFail: OnQCReceiveFail::<Identity, Impl, OFFSET>,
1950 OnQCMoveToReTryQueue: OnQCMoveToReTryQueue::<Identity, Impl, OFFSET>,
1951 OnQCMoveToDeadQueue: OnQCMoveToDeadQueue::<Identity, Impl, OFFSET>,
1952 OnQCPlayback: OnQCPlayback::<Identity, Impl, OFFSET>,
1953 }
1954 }
1955 pub fn matches(iid: &windows::core::GUID) -> bool {
1956 iid == &<IComQCEvents as ::windows::core::ComInterface>::IID
1957 }
1958}
1959#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
1960#[cfg(feature = "Win32_Foundation")]
1961pub trait IComResourceEvents_Impl: Sized {
1962 fn OnResourceCreate(&self, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: &::windows::core::PCWSTR, resid: u64, enlisted: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
1963 fn OnResourceAllocate(&self, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: &::windows::core::PCWSTR, resid: u64, enlisted: super::super::Foundation::BOOL, numrated: u32, rating: u32) -> ::windows::core::Result<()>;
1964 fn OnResourceRecycle(&self, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: &::windows::core::PCWSTR, resid: u64) -> ::windows::core::Result<()>;
1965 fn OnResourceDestroy(&self, pinfo: *const COMSVCSEVENTINFO, objectid: u64, hr: ::windows::core::HRESULT, psztype: &::windows::core::PCWSTR, resid: u64) -> ::windows::core::Result<()>;
1966 fn OnResourceTrack(&self, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: &::windows::core::PCWSTR, resid: u64, enlisted: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
1967}
1968#[cfg(feature = "Win32_Foundation")]
1969impl ::windows::core::RuntimeName for IComResourceEvents {}
1970#[cfg(feature = "Win32_Foundation")]
1971impl IComResourceEvents_Vtbl {
1972 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComResourceEvents_Impl, const OFFSET: isize>() -> IComResourceEvents_Vtbl {
1973 unsafe extern "system" fn OnResourceCreate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComResourceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: ::windows::core::PCWSTR, resid: u64, enlisted: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1975 let this = (*this).get_impl();
1976 this.OnResourceCreate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute(&psztype), ::core::mem::transmute_copy(&resid), ::core::mem::transmute_copy(&enlisted)).into()
1977 }
1978 unsafe extern "system" fn OnResourceAllocate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComResourceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: ::windows::core::PCWSTR, resid: u64, enlisted: super::super::Foundation::BOOL, numrated: u32, rating: u32) -> ::windows::core::HRESULT {
1979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1980 let this = (*this).get_impl();
1981 this.OnResourceAllocate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute(&psztype), ::core::mem::transmute_copy(&resid), ::core::mem::transmute_copy(&enlisted), ::core::mem::transmute_copy(&numrated), ::core::mem::transmute_copy(&rating)).into()
1982 }
1983 unsafe extern "system" fn OnResourceRecycle<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComResourceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: ::windows::core::PCWSTR, resid: u64) -> ::windows::core::HRESULT {
1984 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1985 let this = (*this).get_impl();
1986 this.OnResourceRecycle(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute(&psztype), ::core::mem::transmute_copy(&resid)).into()
1987 }
1988 unsafe extern "system" fn OnResourceDestroy<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComResourceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objectid: u64, hr: ::windows::core::HRESULT, psztype: ::windows::core::PCWSTR, resid: u64) -> ::windows::core::HRESULT {
1989 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1990 let this = (*this).get_impl();
1991 this.OnResourceDestroy(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute_copy(&hr), ::core::mem::transmute(&psztype), ::core::mem::transmute_copy(&resid)).into()
1992 }
1993 unsafe extern "system" fn OnResourceTrack<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComResourceEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, objectid: u64, psztype: ::windows::core::PCWSTR, resid: u64, enlisted: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
1994 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
1995 let this = (*this).get_impl();
1996 this.OnResourceTrack(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute(&psztype), ::core::mem::transmute_copy(&resid), ::core::mem::transmute_copy(&enlisted)).into()
1997 }
1998 Self {
1999 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2000 OnResourceCreate: OnResourceCreate::<Identity, Impl, OFFSET>,
2001 OnResourceAllocate: OnResourceAllocate::<Identity, Impl, OFFSET>,
2002 OnResourceRecycle: OnResourceRecycle::<Identity, Impl, OFFSET>,
2003 OnResourceDestroy: OnResourceDestroy::<Identity, Impl, OFFSET>,
2004 OnResourceTrack: OnResourceTrack::<Identity, Impl, OFFSET>,
2005 }
2006 }
2007 pub fn matches(iid: &windows::core::GUID) -> bool {
2008 iid == &<IComResourceEvents as ::windows::core::ComInterface>::IID
2009 }
2010}
2011#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2012#[cfg(feature = "Win32_Foundation")]
2013pub trait IComSecurityEvents_Impl: Sized {
2014 fn OnAuthenticate(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, objectid: u64, guidiid: *const ::windows::core::GUID, imeth: u32, cbbyteorig: u32, psidoriginaluser: *const u8, cbbytecur: u32, psidcurrentuser: *const u8, bcurrentuserinpersonatinginproc: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2015 fn OnAuthenticateFail(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, objectid: u64, guidiid: *const ::windows::core::GUID, imeth: u32, cbbyteorig: u32, psidoriginaluser: *const u8, cbbytecur: u32, psidcurrentuser: *const u8, bcurrentuserinpersonatinginproc: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2016}
2017#[cfg(feature = "Win32_Foundation")]
2018impl ::windows::core::RuntimeName for IComSecurityEvents {}
2019#[cfg(feature = "Win32_Foundation")]
2020impl IComSecurityEvents_Vtbl {
2021 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComSecurityEvents_Impl, const OFFSET: isize>() -> IComSecurityEvents_Vtbl {
2022 unsafe extern "system" fn OnAuthenticate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComSecurityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, objectid: u64, guidiid: *const ::windows::core::GUID, imeth: u32, cbbyteorig: u32, psidoriginaluser: *const u8, cbbytecur: u32, psidcurrentuser: *const u8, bcurrentuserinpersonatinginproc: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2023 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2024 let this = (*this).get_impl();
2025 this.OnAuthenticate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute_copy(&guidiid), ::core::mem::transmute_copy(&imeth), ::core::mem::transmute_copy(&cbbyteorig), ::core::mem::transmute_copy(&psidoriginaluser), ::core::mem::transmute_copy(&cbbytecur), ::core::mem::transmute_copy(&psidcurrentuser), ::core::mem::transmute_copy(&bcurrentuserinpersonatinginproc)).into()
2026 }
2027 unsafe extern "system" fn OnAuthenticateFail<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComSecurityEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, objectid: u64, guidiid: *const ::windows::core::GUID, imeth: u32, cbbyteorig: u32, psidoriginaluser: *const u8, cbbytecur: u32, psidcurrentuser: *const u8, bcurrentuserinpersonatinginproc: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2028 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2029 let this = (*this).get_impl();
2030 this.OnAuthenticateFail(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&objectid), ::core::mem::transmute_copy(&guidiid), ::core::mem::transmute_copy(&imeth), ::core::mem::transmute_copy(&cbbyteorig), ::core::mem::transmute_copy(&psidoriginaluser), ::core::mem::transmute_copy(&cbbytecur), ::core::mem::transmute_copy(&psidcurrentuser), ::core::mem::transmute_copy(&bcurrentuserinpersonatinginproc)).into()
2031 }
2032 Self {
2033 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2034 OnAuthenticate: OnAuthenticate::<Identity, Impl, OFFSET>,
2035 OnAuthenticateFail: OnAuthenticateFail::<Identity, Impl, OFFSET>,
2036 }
2037 }
2038 pub fn matches(iid: &windows::core::GUID) -> bool {
2039 iid == &<IComSecurityEvents as ::windows::core::ComInterface>::IID
2040 }
2041}
2042#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2043pub trait IComStaThreadPoolKnobs_Impl: Sized {
2044 fn SetMinThreadCount(&self, minthreads: u32) -> ::windows::core::Result<()>;
2045 fn GetMinThreadCount(&self) -> ::windows::core::Result<u32>;
2046 fn SetMaxThreadCount(&self, maxthreads: u32) -> ::windows::core::Result<()>;
2047 fn GetMaxThreadCount(&self) -> ::windows::core::Result<u32>;
2048 fn SetActivityPerThread(&self, activitiesperthread: u32) -> ::windows::core::Result<()>;
2049 fn GetActivityPerThread(&self) -> ::windows::core::Result<u32>;
2050 fn SetActivityRatio(&self, activityratio: f64) -> ::windows::core::Result<()>;
2051 fn GetActivityRatio(&self) -> ::windows::core::Result<f64>;
2052 fn GetThreadCount(&self) -> ::windows::core::Result<u32>;
2053 fn GetQueueDepth(&self) -> ::windows::core::Result<u32>;
2054 fn SetQueueDepth(&self, dwqdepth: i32) -> ::windows::core::Result<()>;
2055}
2056impl ::windows::core::RuntimeName for IComStaThreadPoolKnobs {}
2057impl IComStaThreadPoolKnobs_Vtbl {
2058 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>() -> IComStaThreadPoolKnobs_Vtbl {
2059 unsafe extern "system" fn SetMinThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minthreads: u32) -> ::windows::core::HRESULT {
2060 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2061 let this = (*this).get_impl();
2062 this.SetMinThreadCount(::core::mem::transmute_copy(&minthreads)).into()
2063 }
2064 unsafe extern "system" fn GetMinThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, minthreads: *mut u32) -> ::windows::core::HRESULT {
2065 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2066 let this = (*this).get_impl();
2067 match this.GetMinThreadCount() {
2068 ::core::result::Result::Ok(ok__) => {
2069 ::core::ptr::write(minthreads, ::core::mem::transmute(ok__));
2070 ::windows::core::HRESULT(0)
2071 }
2072 ::core::result::Result::Err(err) => err.into(),
2073 }
2074 }
2075 unsafe extern "system" fn SetMaxThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxthreads: u32) -> ::windows::core::HRESULT {
2076 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2077 let this = (*this).get_impl();
2078 this.SetMaxThreadCount(::core::mem::transmute_copy(&maxthreads)).into()
2079 }
2080 unsafe extern "system" fn GetMaxThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, maxthreads: *mut u32) -> ::windows::core::HRESULT {
2081 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2082 let this = (*this).get_impl();
2083 match this.GetMaxThreadCount() {
2084 ::core::result::Result::Ok(ok__) => {
2085 ::core::ptr::write(maxthreads, ::core::mem::transmute(ok__));
2086 ::windows::core::HRESULT(0)
2087 }
2088 ::core::result::Result::Err(err) => err.into(),
2089 }
2090 }
2091 unsafe extern "system" fn SetActivityPerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, activitiesperthread: u32) -> ::windows::core::HRESULT {
2092 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2093 let this = (*this).get_impl();
2094 this.SetActivityPerThread(::core::mem::transmute_copy(&activitiesperthread)).into()
2095 }
2096 unsafe extern "system" fn GetActivityPerThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, activitiesperthread: *mut u32) -> ::windows::core::HRESULT {
2097 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2098 let this = (*this).get_impl();
2099 match this.GetActivityPerThread() {
2100 ::core::result::Result::Ok(ok__) => {
2101 ::core::ptr::write(activitiesperthread, ::core::mem::transmute(ok__));
2102 ::windows::core::HRESULT(0)
2103 }
2104 ::core::result::Result::Err(err) => err.into(),
2105 }
2106 }
2107 unsafe extern "system" fn SetActivityRatio<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, activityratio: f64) -> ::windows::core::HRESULT {
2108 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2109 let this = (*this).get_impl();
2110 this.SetActivityRatio(::core::mem::transmute_copy(&activityratio)).into()
2111 }
2112 unsafe extern "system" fn GetActivityRatio<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, activityratio: *mut f64) -> ::windows::core::HRESULT {
2113 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2114 let this = (*this).get_impl();
2115 match this.GetActivityRatio() {
2116 ::core::result::Result::Ok(ok__) => {
2117 ::core::ptr::write(activityratio, ::core::mem::transmute(ok__));
2118 ::windows::core::HRESULT(0)
2119 }
2120 ::core::result::Result::Err(err) => err.into(),
2121 }
2122 }
2123 unsafe extern "system" fn GetThreadCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwthreads: *mut u32) -> ::windows::core::HRESULT {
2124 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2125 let this = (*this).get_impl();
2126 match this.GetThreadCount() {
2127 ::core::result::Result::Ok(ok__) => {
2128 ::core::ptr::write(pdwthreads, ::core::mem::transmute(ok__));
2129 ::windows::core::HRESULT(0)
2130 }
2131 ::core::result::Result::Err(err) => err.into(),
2132 }
2133 }
2134 unsafe extern "system" fn GetQueueDepth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwqdepth: *mut u32) -> ::windows::core::HRESULT {
2135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2136 let this = (*this).get_impl();
2137 match this.GetQueueDepth() {
2138 ::core::result::Result::Ok(ok__) => {
2139 ::core::ptr::write(pdwqdepth, ::core::mem::transmute(ok__));
2140 ::windows::core::HRESULT(0)
2141 }
2142 ::core::result::Result::Err(err) => err.into(),
2143 }
2144 }
2145 unsafe extern "system" fn SetQueueDepth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwqdepth: i32) -> ::windows::core::HRESULT {
2146 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2147 let this = (*this).get_impl();
2148 this.SetQueueDepth(::core::mem::transmute_copy(&dwqdepth)).into()
2149 }
2150 Self {
2151 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2152 SetMinThreadCount: SetMinThreadCount::<Identity, Impl, OFFSET>,
2153 GetMinThreadCount: GetMinThreadCount::<Identity, Impl, OFFSET>,
2154 SetMaxThreadCount: SetMaxThreadCount::<Identity, Impl, OFFSET>,
2155 GetMaxThreadCount: GetMaxThreadCount::<Identity, Impl, OFFSET>,
2156 SetActivityPerThread: SetActivityPerThread::<Identity, Impl, OFFSET>,
2157 GetActivityPerThread: GetActivityPerThread::<Identity, Impl, OFFSET>,
2158 SetActivityRatio: SetActivityRatio::<Identity, Impl, OFFSET>,
2159 GetActivityRatio: GetActivityRatio::<Identity, Impl, OFFSET>,
2160 GetThreadCount: GetThreadCount::<Identity, Impl, OFFSET>,
2161 GetQueueDepth: GetQueueDepth::<Identity, Impl, OFFSET>,
2162 SetQueueDepth: SetQueueDepth::<Identity, Impl, OFFSET>,
2163 }
2164 }
2165 pub fn matches(iid: &windows::core::GUID) -> bool {
2166 iid == &<IComStaThreadPoolKnobs as ::windows::core::ComInterface>::IID
2167 }
2168}
2169#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2170#[cfg(feature = "Win32_Foundation")]
2171pub trait IComStaThreadPoolKnobs2_Impl: Sized + IComStaThreadPoolKnobs_Impl {
2172 fn GetMaxCPULoad(&self) -> ::windows::core::Result<u32>;
2173 fn SetMaxCPULoad(&self, pdwload: i32) -> ::windows::core::Result<()>;
2174 fn GetCPUMetricEnabled(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
2175 fn SetCPUMetricEnabled(&self, bmetricenabled: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2176 fn GetCreateThreadsAggressively(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
2177 fn SetCreateThreadsAggressively(&self, bmetricenabled: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2178 fn GetMaxCSR(&self) -> ::windows::core::Result<u32>;
2179 fn SetMaxCSR(&self, dwcsr: i32) -> ::windows::core::Result<()>;
2180 fn GetWaitTimeForThreadCleanup(&self) -> ::windows::core::Result<u32>;
2181 fn SetWaitTimeForThreadCleanup(&self, dwthreadcleanupwaittime: i32) -> ::windows::core::Result<()>;
2182}
2183#[cfg(feature = "Win32_Foundation")]
2184impl ::windows::core::RuntimeName for IComStaThreadPoolKnobs2 {}
2185#[cfg(feature = "Win32_Foundation")]
2186impl IComStaThreadPoolKnobs2_Vtbl {
2187 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>() -> IComStaThreadPoolKnobs2_Vtbl {
2188 unsafe extern "system" fn GetMaxCPULoad<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwload: *mut u32) -> ::windows::core::HRESULT {
2189 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2190 let this = (*this).get_impl();
2191 match this.GetMaxCPULoad() {
2192 ::core::result::Result::Ok(ok__) => {
2193 ::core::ptr::write(pdwload, ::core::mem::transmute(ok__));
2194 ::windows::core::HRESULT(0)
2195 }
2196 ::core::result::Result::Err(err) => err.into(),
2197 }
2198 }
2199 unsafe extern "system" fn SetMaxCPULoad<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwload: i32) -> ::windows::core::HRESULT {
2200 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2201 let this = (*this).get_impl();
2202 this.SetMaxCPULoad(::core::mem::transmute_copy(&pdwload)).into()
2203 }
2204 unsafe extern "system" fn GetCPUMetricEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbmetricenabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2205 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2206 let this = (*this).get_impl();
2207 match this.GetCPUMetricEnabled() {
2208 ::core::result::Result::Ok(ok__) => {
2209 ::core::ptr::write(pbmetricenabled, ::core::mem::transmute(ok__));
2210 ::windows::core::HRESULT(0)
2211 }
2212 ::core::result::Result::Err(err) => err.into(),
2213 }
2214 }
2215 unsafe extern "system" fn SetCPUMetricEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bmetricenabled: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2216 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2217 let this = (*this).get_impl();
2218 this.SetCPUMetricEnabled(::core::mem::transmute_copy(&bmetricenabled)).into()
2219 }
2220 unsafe extern "system" fn GetCreateThreadsAggressively<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbmetricenabled: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2221 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2222 let this = (*this).get_impl();
2223 match this.GetCreateThreadsAggressively() {
2224 ::core::result::Result::Ok(ok__) => {
2225 ::core::ptr::write(pbmetricenabled, ::core::mem::transmute(ok__));
2226 ::windows::core::HRESULT(0)
2227 }
2228 ::core::result::Result::Err(err) => err.into(),
2229 }
2230 }
2231 unsafe extern "system" fn SetCreateThreadsAggressively<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bmetricenabled: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2232 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2233 let this = (*this).get_impl();
2234 this.SetCreateThreadsAggressively(::core::mem::transmute_copy(&bmetricenabled)).into()
2235 }
2236 unsafe extern "system" fn GetMaxCSR<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcsr: *mut u32) -> ::windows::core::HRESULT {
2237 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2238 let this = (*this).get_impl();
2239 match this.GetMaxCSR() {
2240 ::core::result::Result::Ok(ok__) => {
2241 ::core::ptr::write(pdwcsr, ::core::mem::transmute(ok__));
2242 ::windows::core::HRESULT(0)
2243 }
2244 ::core::result::Result::Err(err) => err.into(),
2245 }
2246 }
2247 unsafe extern "system" fn SetMaxCSR<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcsr: i32) -> ::windows::core::HRESULT {
2248 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2249 let this = (*this).get_impl();
2250 this.SetMaxCSR(::core::mem::transmute_copy(&dwcsr)).into()
2251 }
2252 unsafe extern "system" fn GetWaitTimeForThreadCleanup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwthreadcleanupwaittime: *mut u32) -> ::windows::core::HRESULT {
2253 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2254 let this = (*this).get_impl();
2255 match this.GetWaitTimeForThreadCleanup() {
2256 ::core::result::Result::Ok(ok__) => {
2257 ::core::ptr::write(pdwthreadcleanupwaittime, ::core::mem::transmute(ok__));
2258 ::windows::core::HRESULT(0)
2259 }
2260 ::core::result::Result::Err(err) => err.into(),
2261 }
2262 }
2263 unsafe extern "system" fn SetWaitTimeForThreadCleanup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComStaThreadPoolKnobs2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwthreadcleanupwaittime: i32) -> ::windows::core::HRESULT {
2264 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2265 let this = (*this).get_impl();
2266 this.SetWaitTimeForThreadCleanup(::core::mem::transmute_copy(&dwthreadcleanupwaittime)).into()
2267 }
2268 Self {
2269 base__: IComStaThreadPoolKnobs_Vtbl::new::<Identity, Impl, OFFSET>(),
2270 GetMaxCPULoad: GetMaxCPULoad::<Identity, Impl, OFFSET>,
2271 SetMaxCPULoad: SetMaxCPULoad::<Identity, Impl, OFFSET>,
2272 GetCPUMetricEnabled: GetCPUMetricEnabled::<Identity, Impl, OFFSET>,
2273 SetCPUMetricEnabled: SetCPUMetricEnabled::<Identity, Impl, OFFSET>,
2274 GetCreateThreadsAggressively: GetCreateThreadsAggressively::<Identity, Impl, OFFSET>,
2275 SetCreateThreadsAggressively: SetCreateThreadsAggressively::<Identity, Impl, OFFSET>,
2276 GetMaxCSR: GetMaxCSR::<Identity, Impl, OFFSET>,
2277 SetMaxCSR: SetMaxCSR::<Identity, Impl, OFFSET>,
2278 GetWaitTimeForThreadCleanup: GetWaitTimeForThreadCleanup::<Identity, Impl, OFFSET>,
2279 SetWaitTimeForThreadCleanup: SetWaitTimeForThreadCleanup::<Identity, Impl, OFFSET>,
2280 }
2281 }
2282 pub fn matches(iid: &windows::core::GUID) -> bool {
2283 iid == &<IComStaThreadPoolKnobs2 as ::windows::core::ComInterface>::IID || iid == &<IComStaThreadPoolKnobs as ::windows::core::ComInterface>::IID
2284 }
2285}
2286#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2287pub trait IComThreadEvents_Impl: Sized {
2288 fn OnThreadStart(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, dwthread: u32, dwtheadcnt: u32) -> ::windows::core::Result<()>;
2289 fn OnThreadTerminate(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, dwthread: u32, dwtheadcnt: u32) -> ::windows::core::Result<()>;
2290 fn OnThreadBindToApartment(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, aptid: u64, dwactcnt: u32, dwlowcnt: u32) -> ::windows::core::Result<()>;
2291 fn OnThreadUnBind(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, aptid: u64, dwactcnt: u32) -> ::windows::core::Result<()>;
2292 fn OnThreadWorkEnque(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32) -> ::windows::core::Result<()>;
2293 fn OnThreadWorkPrivate(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64) -> ::windows::core::Result<()>;
2294 fn OnThreadWorkPublic(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32) -> ::windows::core::Result<()>;
2295 fn OnThreadWorkRedirect(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32, threadnum: u64) -> ::windows::core::Result<()>;
2296 fn OnThreadWorkReject(&self, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32) -> ::windows::core::Result<()>;
2297 fn OnThreadAssignApartment(&self, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, aptid: u64) -> ::windows::core::Result<()>;
2298 fn OnThreadUnassignApartment(&self, pinfo: *const COMSVCSEVENTINFO, aptid: u64) -> ::windows::core::Result<()>;
2299}
2300impl ::windows::core::RuntimeName for IComThreadEvents {}
2301impl IComThreadEvents_Vtbl {
2302 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>() -> IComThreadEvents_Vtbl {
2303 unsafe extern "system" fn OnThreadStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, dwthread: u32, dwtheadcnt: u32) -> ::windows::core::HRESULT {
2304 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2305 let this = (*this).get_impl();
2306 this.OnThreadStart(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&dwtheadcnt)).into()
2307 }
2308 unsafe extern "system" fn OnThreadTerminate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, dwthread: u32, dwtheadcnt: u32) -> ::windows::core::HRESULT {
2309 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2310 let this = (*this).get_impl();
2311 this.OnThreadTerminate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&dwthread), ::core::mem::transmute_copy(&dwtheadcnt)).into()
2312 }
2313 unsafe extern "system" fn OnThreadBindToApartment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, aptid: u64, dwactcnt: u32, dwlowcnt: u32) -> ::windows::core::HRESULT {
2314 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2315 let this = (*this).get_impl();
2316 this.OnThreadBindToApartment(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&aptid), ::core::mem::transmute_copy(&dwactcnt), ::core::mem::transmute_copy(&dwlowcnt)).into()
2317 }
2318 unsafe extern "system" fn OnThreadUnBind<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, aptid: u64, dwactcnt: u32) -> ::windows::core::HRESULT {
2319 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2320 let this = (*this).get_impl();
2321 this.OnThreadUnBind(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&aptid), ::core::mem::transmute_copy(&dwactcnt)).into()
2322 }
2323 unsafe extern "system" fn OnThreadWorkEnque<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32) -> ::windows::core::HRESULT {
2324 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2325 let this = (*this).get_impl();
2326 this.OnThreadWorkEnque(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&msgworkid), ::core::mem::transmute_copy(&queuelen)).into()
2327 }
2328 unsafe extern "system" fn OnThreadWorkPrivate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64) -> ::windows::core::HRESULT {
2329 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2330 let this = (*this).get_impl();
2331 this.OnThreadWorkPrivate(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&msgworkid)).into()
2332 }
2333 unsafe extern "system" fn OnThreadWorkPublic<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32) -> ::windows::core::HRESULT {
2334 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2335 let this = (*this).get_impl();
2336 this.OnThreadWorkPublic(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&msgworkid), ::core::mem::transmute_copy(&queuelen)).into()
2337 }
2338 unsafe extern "system" fn OnThreadWorkRedirect<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32, threadnum: u64) -> ::windows::core::HRESULT {
2339 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2340 let this = (*this).get_impl();
2341 this.OnThreadWorkRedirect(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&msgworkid), ::core::mem::transmute_copy(&queuelen), ::core::mem::transmute_copy(&threadnum)).into()
2342 }
2343 unsafe extern "system" fn OnThreadWorkReject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, threadid: u64, msgworkid: u64, queuelen: u32) -> ::windows::core::HRESULT {
2344 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2345 let this = (*this).get_impl();
2346 this.OnThreadWorkReject(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&threadid), ::core::mem::transmute_copy(&msgworkid), ::core::mem::transmute_copy(&queuelen)).into()
2347 }
2348 unsafe extern "system" fn OnThreadAssignApartment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidactivity: *const ::windows::core::GUID, aptid: u64) -> ::windows::core::HRESULT {
2349 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2350 let this = (*this).get_impl();
2351 this.OnThreadAssignApartment(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidactivity), ::core::mem::transmute_copy(&aptid)).into()
2352 }
2353 unsafe extern "system" fn OnThreadUnassignApartment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComThreadEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, aptid: u64) -> ::windows::core::HRESULT {
2354 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2355 let this = (*this).get_impl();
2356 this.OnThreadUnassignApartment(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&aptid)).into()
2357 }
2358 Self {
2359 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2360 OnThreadStart: OnThreadStart::<Identity, Impl, OFFSET>,
2361 OnThreadTerminate: OnThreadTerminate::<Identity, Impl, OFFSET>,
2362 OnThreadBindToApartment: OnThreadBindToApartment::<Identity, Impl, OFFSET>,
2363 OnThreadUnBind: OnThreadUnBind::<Identity, Impl, OFFSET>,
2364 OnThreadWorkEnque: OnThreadWorkEnque::<Identity, Impl, OFFSET>,
2365 OnThreadWorkPrivate: OnThreadWorkPrivate::<Identity, Impl, OFFSET>,
2366 OnThreadWorkPublic: OnThreadWorkPublic::<Identity, Impl, OFFSET>,
2367 OnThreadWorkRedirect: OnThreadWorkRedirect::<Identity, Impl, OFFSET>,
2368 OnThreadWorkReject: OnThreadWorkReject::<Identity, Impl, OFFSET>,
2369 OnThreadAssignApartment: OnThreadAssignApartment::<Identity, Impl, OFFSET>,
2370 OnThreadUnassignApartment: OnThreadUnassignApartment::<Identity, Impl, OFFSET>,
2371 }
2372 }
2373 pub fn matches(iid: &windows::core::GUID) -> bool {
2374 iid == &<IComThreadEvents as ::windows::core::ComInterface>::IID
2375 }
2376}
2377#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2378pub trait IComTrackingInfoCollection_Impl: Sized {
2379 fn Type(&self) -> ::windows::core::Result<TRACKING_COLL_TYPE>;
2380 fn Count(&self) -> ::windows::core::Result<u32>;
2381 fn Item(&self, ulindex: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
2382}
2383impl ::windows::core::RuntimeName for IComTrackingInfoCollection {}
2384impl IComTrackingInfoCollection_Vtbl {
2385 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoCollection_Impl, const OFFSET: isize>() -> IComTrackingInfoCollection_Vtbl {
2386 unsafe extern "system" fn Type<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptype: *mut TRACKING_COLL_TYPE) -> ::windows::core::HRESULT {
2387 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2388 let this = (*this).get_impl();
2389 match this.Type() {
2390 ::core::result::Result::Ok(ok__) => {
2391 ::core::ptr::write(ptype, ::core::mem::transmute(ok__));
2392 ::windows::core::HRESULT(0)
2393 }
2394 ::core::result::Result::Err(err) => err.into(),
2395 }
2396 }
2397 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut u32) -> ::windows::core::HRESULT {
2398 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2399 let this = (*this).get_impl();
2400 match this.Count() {
2401 ::core::result::Result::Ok(ok__) => {
2402 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
2403 ::windows::core::HRESULT(0)
2404 }
2405 ::core::result::Result::Err(err) => err.into(),
2406 }
2407 }
2408 unsafe extern "system" fn Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoCollection_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulindex: u32, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2409 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2410 let this = (*this).get_impl();
2411 this.Item(::core::mem::transmute_copy(&ulindex), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
2412 }
2413 Self {
2414 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2415 Type: Type::<Identity, Impl, OFFSET>,
2416 Count: Count::<Identity, Impl, OFFSET>,
2417 Item: Item::<Identity, Impl, OFFSET>,
2418 }
2419 }
2420 pub fn matches(iid: &windows::core::GUID) -> bool {
2421 iid == &<IComTrackingInfoCollection as ::windows::core::ComInterface>::IID
2422 }
2423}
2424#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2425pub trait IComTrackingInfoEvents_Impl: Sized {
2426 fn OnNewTrackingInfo(&self, ptoplevelcollection: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
2427}
2428impl ::windows::core::RuntimeName for IComTrackingInfoEvents {}
2429impl IComTrackingInfoEvents_Vtbl {
2430 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoEvents_Impl, const OFFSET: isize>() -> IComTrackingInfoEvents_Vtbl {
2431 unsafe extern "system" fn OnNewTrackingInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptoplevelcollection: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2432 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2433 let this = (*this).get_impl();
2434 this.OnNewTrackingInfo(::windows::core::from_raw_borrowed(&ptoplevelcollection)).into()
2435 }
2436 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnNewTrackingInfo: OnNewTrackingInfo::<Identity, Impl, OFFSET> }
2437 }
2438 pub fn matches(iid: &windows::core::GUID) -> bool {
2439 iid == &<IComTrackingInfoEvents as ::windows::core::ComInterface>::IID
2440 }
2441}
2442#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2443#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2444pub trait IComTrackingInfoObject_Impl: Sized {
2445 fn GetValue(&self, szpropertyname: &::windows::core::PCWSTR) -> ::windows::core::Result<super::Com::VARIANT>;
2446}
2447#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2448impl ::windows::core::RuntimeName for IComTrackingInfoObject {}
2449#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2450impl IComTrackingInfoObject_Vtbl {
2451 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoObject_Impl, const OFFSET: isize>() -> IComTrackingInfoObject_Vtbl {
2452 unsafe extern "system" fn GetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoObject_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szpropertyname: ::windows::core::PCWSTR, pvarout: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
2453 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2454 let this = (*this).get_impl();
2455 match this.GetValue(::core::mem::transmute(&szpropertyname)) {
2456 ::core::result::Result::Ok(ok__) => {
2457 ::core::ptr::write(pvarout, ::core::mem::transmute(ok__));
2458 ::windows::core::HRESULT(0)
2459 }
2460 ::core::result::Result::Err(err) => err.into(),
2461 }
2462 }
2463 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetValue: GetValue::<Identity, Impl, OFFSET> }
2464 }
2465 pub fn matches(iid: &windows::core::GUID) -> bool {
2466 iid == &<IComTrackingInfoObject as ::windows::core::ComInterface>::IID
2467 }
2468}
2469#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2470pub trait IComTrackingInfoProperties_Impl: Sized {
2471 fn PropCount(&self) -> ::windows::core::Result<u32>;
2472 fn GetPropName(&self, ulindex: u32) -> ::windows::core::Result<::windows::core::PWSTR>;
2473}
2474impl ::windows::core::RuntimeName for IComTrackingInfoProperties {}
2475impl IComTrackingInfoProperties_Vtbl {
2476 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoProperties_Impl, const OFFSET: isize>() -> IComTrackingInfoProperties_Vtbl {
2477 unsafe extern "system" fn PropCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcount: *mut u32) -> ::windows::core::HRESULT {
2478 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2479 let this = (*this).get_impl();
2480 match this.PropCount() {
2481 ::core::result::Result::Ok(ok__) => {
2482 ::core::ptr::write(pcount, ::core::mem::transmute(ok__));
2483 ::windows::core::HRESULT(0)
2484 }
2485 ::core::result::Result::Err(err) => err.into(),
2486 }
2487 }
2488 unsafe extern "system" fn GetPropName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTrackingInfoProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ulindex: u32, ppszpropname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT {
2489 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2490 let this = (*this).get_impl();
2491 match this.GetPropName(::core::mem::transmute_copy(&ulindex)) {
2492 ::core::result::Result::Ok(ok__) => {
2493 ::core::ptr::write(ppszpropname, ::core::mem::transmute(ok__));
2494 ::windows::core::HRESULT(0)
2495 }
2496 ::core::result::Result::Err(err) => err.into(),
2497 }
2498 }
2499 Self {
2500 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2501 PropCount: PropCount::<Identity, Impl, OFFSET>,
2502 GetPropName: GetPropName::<Identity, Impl, OFFSET>,
2503 }
2504 }
2505 pub fn matches(iid: &windows::core::GUID) -> bool {
2506 iid == &<IComTrackingInfoProperties as ::windows::core::ComInterface>::IID
2507 }
2508}
2509#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2510#[cfg(feature = "Win32_Foundation")]
2511pub trait IComTransaction2Events_Impl: Sized {
2512 fn OnTransactionStart2(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, froot: super::super::Foundation::BOOL, nisolationlevel: i32) -> ::windows::core::Result<()>;
2513 fn OnTransactionPrepare2(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, fvoteyes: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2514 fn OnTransactionAbort2(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
2515 fn OnTransactionCommit2(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
2516}
2517#[cfg(feature = "Win32_Foundation")]
2518impl ::windows::core::RuntimeName for IComTransaction2Events {}
2519#[cfg(feature = "Win32_Foundation")]
2520impl IComTransaction2Events_Vtbl {
2521 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransaction2Events_Impl, const OFFSET: isize>() -> IComTransaction2Events_Vtbl {
2522 unsafe extern "system" fn OnTransactionStart2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransaction2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, froot: super::super::Foundation::BOOL, nisolationlevel: i32) -> ::windows::core::HRESULT {
2523 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2524 let this = (*this).get_impl();
2525 this.OnTransactionStart2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&tsid), ::core::mem::transmute_copy(&froot), ::core::mem::transmute_copy(&nisolationlevel)).into()
2526 }
2527 unsafe extern "system" fn OnTransactionPrepare2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransaction2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, fvoteyes: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2528 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2529 let this = (*this).get_impl();
2530 this.OnTransactionPrepare2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&fvoteyes)).into()
2531 }
2532 unsafe extern "system" fn OnTransactionAbort2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransaction2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
2533 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2534 let this = (*this).get_impl();
2535 this.OnTransactionAbort2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx)).into()
2536 }
2537 unsafe extern "system" fn OnTransactionCommit2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransaction2Events_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
2538 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2539 let this = (*this).get_impl();
2540 this.OnTransactionCommit2(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx)).into()
2541 }
2542 Self {
2543 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2544 OnTransactionStart2: OnTransactionStart2::<Identity, Impl, OFFSET>,
2545 OnTransactionPrepare2: OnTransactionPrepare2::<Identity, Impl, OFFSET>,
2546 OnTransactionAbort2: OnTransactionAbort2::<Identity, Impl, OFFSET>,
2547 OnTransactionCommit2: OnTransactionCommit2::<Identity, Impl, OFFSET>,
2548 }
2549 }
2550 pub fn matches(iid: &windows::core::GUID) -> bool {
2551 iid == &<IComTransaction2Events as ::windows::core::ComInterface>::IID
2552 }
2553}
2554#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2555#[cfg(feature = "Win32_Foundation")]
2556pub trait IComTransactionEvents_Impl: Sized {
2557 fn OnTransactionStart(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, froot: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2558 fn OnTransactionPrepare(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, fvoteyes: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2559 fn OnTransactionAbort(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
2560 fn OnTransactionCommit(&self, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
2561}
2562#[cfg(feature = "Win32_Foundation")]
2563impl ::windows::core::RuntimeName for IComTransactionEvents {}
2564#[cfg(feature = "Win32_Foundation")]
2565impl IComTransactionEvents_Vtbl {
2566 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransactionEvents_Impl, const OFFSET: isize>() -> IComTransactionEvents_Vtbl {
2567 unsafe extern "system" fn OnTransactionStart<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransactionEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, tsid: *const ::windows::core::GUID, froot: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2568 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2569 let this = (*this).get_impl();
2570 this.OnTransactionStart(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&tsid), ::core::mem::transmute_copy(&froot)).into()
2571 }
2572 unsafe extern "system" fn OnTransactionPrepare<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransactionEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID, fvoteyes: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2573 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2574 let this = (*this).get_impl();
2575 this.OnTransactionPrepare(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx), ::core::mem::transmute_copy(&fvoteyes)).into()
2576 }
2577 unsafe extern "system" fn OnTransactionAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransactionEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
2578 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2579 let this = (*this).get_impl();
2580 this.OnTransactionAbort(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx)).into()
2581 }
2582 unsafe extern "system" fn OnTransactionCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComTransactionEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, guidtx: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
2583 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2584 let this = (*this).get_impl();
2585 this.OnTransactionCommit(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&guidtx)).into()
2586 }
2587 Self {
2588 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2589 OnTransactionStart: OnTransactionStart::<Identity, Impl, OFFSET>,
2590 OnTransactionPrepare: OnTransactionPrepare::<Identity, Impl, OFFSET>,
2591 OnTransactionAbort: OnTransactionAbort::<Identity, Impl, OFFSET>,
2592 OnTransactionCommit: OnTransactionCommit::<Identity, Impl, OFFSET>,
2593 }
2594 }
2595 pub fn matches(iid: &windows::core::GUID) -> bool {
2596 iid == &<IComTransactionEvents as ::windows::core::ComInterface>::IID
2597 }
2598}
2599#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2600#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2601pub trait IComUserEvent_Impl: Sized {
2602 fn OnUserEvent(&self, pinfo: *const COMSVCSEVENTINFO, pvarevent: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
2603}
2604#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2605impl ::windows::core::RuntimeName for IComUserEvent {}
2606#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2607impl IComUserEvent_Vtbl {
2608 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComUserEvent_Impl, const OFFSET: isize>() -> IComUserEvent_Vtbl {
2609 unsafe extern "system" fn OnUserEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IComUserEvent_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *const COMSVCSEVENTINFO, pvarevent: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
2610 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2611 let this = (*this).get_impl();
2612 this.OnUserEvent(::core::mem::transmute_copy(&pinfo), ::core::mem::transmute_copy(&pvarevent)).into()
2613 }
2614 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnUserEvent: OnUserEvent::<Identity, Impl, OFFSET> }
2615 }
2616 pub fn matches(iid: &windows::core::GUID) -> bool {
2617 iid == &<IComUserEvent as ::windows::core::ComInterface>::IID
2618 }
2619}
2620#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2621#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2622pub trait IContextProperties_Impl: Sized {
2623 fn Count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
2624 fn GetProperty(&self, name: &::windows::core::BSTR, pproperty: *mut super::Com::VARIANT) -> ::windows::core::Result<()>;
2625 fn EnumNames(&self) -> ::windows::core::Result<IEnumNames>;
2626 fn SetProperty(&self, name: &::windows::core::BSTR, property: &super::Com::VARIANT) -> ::windows::core::Result<()>;
2627 fn RemoveProperty(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<()>;
2628}
2629#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2630impl ::windows::core::RuntimeName for IContextProperties {}
2631#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2632impl IContextProperties_Vtbl {
2633 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextProperties_Impl, const OFFSET: isize>() -> IContextProperties_Vtbl {
2634 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
2635 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2636 let this = (*this).get_impl();
2637 this.Count(::core::mem::transmute_copy(&plcount)).into()
2638 }
2639 unsafe extern "system" fn GetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, pproperty: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
2640 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2641 let this = (*this).get_impl();
2642 this.GetProperty(::core::mem::transmute(&name), ::core::mem::transmute_copy(&pproperty)).into()
2643 }
2644 unsafe extern "system" fn EnumNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2645 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2646 let this = (*this).get_impl();
2647 match this.EnumNames() {
2648 ::core::result::Result::Ok(ok__) => {
2649 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
2650 ::windows::core::HRESULT(0)
2651 }
2652 ::core::result::Result::Err(err) => err.into(),
2653 }
2654 }
2655 unsafe extern "system" fn SetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, property: super::Com::VARIANT) -> ::windows::core::HRESULT {
2656 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2657 let this = (*this).get_impl();
2658 this.SetProperty(::core::mem::transmute(&name), ::core::mem::transmute(&property)).into()
2659 }
2660 unsafe extern "system" fn RemoveProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
2661 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2662 let this = (*this).get_impl();
2663 this.RemoveProperty(::core::mem::transmute(&name)).into()
2664 }
2665 Self {
2666 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2667 Count: Count::<Identity, Impl, OFFSET>,
2668 GetProperty: GetProperty::<Identity, Impl, OFFSET>,
2669 EnumNames: EnumNames::<Identity, Impl, OFFSET>,
2670 SetProperty: SetProperty::<Identity, Impl, OFFSET>,
2671 RemoveProperty: RemoveProperty::<Identity, Impl, OFFSET>,
2672 }
2673 }
2674 pub fn matches(iid: &windows::core::GUID) -> bool {
2675 iid == &<IContextProperties as ::windows::core::ComInterface>::IID
2676 }
2677}
2678#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2679#[cfg(feature = "Win32_Foundation")]
2680pub trait IContextSecurityPerimeter_Impl: Sized {
2681 fn GetPerimeterFlag(&self, pflag: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2682 fn SetPerimeterFlag(&self, fflag: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2683}
2684#[cfg(feature = "Win32_Foundation")]
2685impl ::windows::core::RuntimeName for IContextSecurityPerimeter {}
2686#[cfg(feature = "Win32_Foundation")]
2687impl IContextSecurityPerimeter_Vtbl {
2688 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextSecurityPerimeter_Impl, const OFFSET: isize>() -> IContextSecurityPerimeter_Vtbl {
2689 unsafe extern "system" fn GetPerimeterFlag<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextSecurityPerimeter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pflag: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2690 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2691 let this = (*this).get_impl();
2692 this.GetPerimeterFlag(::core::mem::transmute_copy(&pflag)).into()
2693 }
2694 unsafe extern "system" fn SetPerimeterFlag<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextSecurityPerimeter_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, fflag: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2695 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2696 let this = (*this).get_impl();
2697 this.SetPerimeterFlag(::core::mem::transmute_copy(&fflag)).into()
2698 }
2699 Self {
2700 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2701 GetPerimeterFlag: GetPerimeterFlag::<Identity, Impl, OFFSET>,
2702 SetPerimeterFlag: SetPerimeterFlag::<Identity, Impl, OFFSET>,
2703 }
2704 }
2705 pub fn matches(iid: &windows::core::GUID) -> bool {
2706 iid == &<IContextSecurityPerimeter as ::windows::core::ComInterface>::IID
2707 }
2708}
2709#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
2710#[cfg(feature = "Win32_Foundation")]
2711pub trait IContextState_Impl: Sized {
2712 fn SetDeactivateOnReturn(&self, bdeactivate: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2713 fn GetDeactivateOnReturn(&self, pbdeactivate: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2714 fn SetMyTransactionVote(&self, txvote: TransactionVote) -> ::windows::core::Result<()>;
2715 fn GetMyTransactionVote(&self, ptxvote: *mut TransactionVote) -> ::windows::core::Result<()>;
2716}
2717#[cfg(feature = "Win32_Foundation")]
2718impl ::windows::core::RuntimeName for IContextState {}
2719#[cfg(feature = "Win32_Foundation")]
2720impl IContextState_Vtbl {
2721 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextState_Impl, const OFFSET: isize>() -> IContextState_Vtbl {
2722 unsafe extern "system" fn SetDeactivateOnReturn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bdeactivate: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2723 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2724 let this = (*this).get_impl();
2725 this.SetDeactivateOnReturn(::core::mem::transmute_copy(&bdeactivate)).into()
2726 }
2727 unsafe extern "system" fn GetDeactivateOnReturn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbdeactivate: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2728 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2729 let this = (*this).get_impl();
2730 this.GetDeactivateOnReturn(::core::mem::transmute_copy(&pbdeactivate)).into()
2731 }
2732 unsafe extern "system" fn SetMyTransactionVote<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, txvote: TransactionVote) -> ::windows::core::HRESULT {
2733 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2734 let this = (*this).get_impl();
2735 this.SetMyTransactionVote(::core::mem::transmute_copy(&txvote)).into()
2736 }
2737 unsafe extern "system" fn GetMyTransactionVote<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IContextState_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptxvote: *mut TransactionVote) -> ::windows::core::HRESULT {
2738 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2739 let this = (*this).get_impl();
2740 this.GetMyTransactionVote(::core::mem::transmute_copy(&ptxvote)).into()
2741 }
2742 Self {
2743 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2744 SetDeactivateOnReturn: SetDeactivateOnReturn::<Identity, Impl, OFFSET>,
2745 GetDeactivateOnReturn: GetDeactivateOnReturn::<Identity, Impl, OFFSET>,
2746 SetMyTransactionVote: SetMyTransactionVote::<Identity, Impl, OFFSET>,
2747 GetMyTransactionVote: GetMyTransactionVote::<Identity, Impl, OFFSET>,
2748 }
2749 }
2750 pub fn matches(iid: &windows::core::GUID) -> bool {
2751 iid == &<IContextState as ::windows::core::ComInterface>::IID
2752 }
2753}
2754#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2755pub trait ICreateWithLocalTransaction_Impl: Sized {
2756 fn CreateInstanceWithSysTx(&self, ptransaction: ::core::option::Option<&::windows::core::IUnknown>, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
2757}
2758impl ::windows::core::RuntimeName for ICreateWithLocalTransaction {}
2759impl ICreateWithLocalTransaction_Vtbl {
2760 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICreateWithLocalTransaction_Impl, const OFFSET: isize>() -> ICreateWithLocalTransaction_Vtbl {
2761 unsafe extern "system" fn CreateInstanceWithSysTx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICreateWithLocalTransaction_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptransaction: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2762 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2763 let this = (*this).get_impl();
2764 this.CreateInstanceWithSysTx(::windows::core::from_raw_borrowed(&ptransaction), ::core::mem::transmute_copy(&rclsid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&pobject)).into()
2765 }
2766 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateInstanceWithSysTx: CreateInstanceWithSysTx::<Identity, Impl, OFFSET> }
2767 }
2768 pub fn matches(iid: &windows::core::GUID) -> bool {
2769 iid == &<ICreateWithLocalTransaction as ::windows::core::ComInterface>::IID
2770 }
2771}
2772#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
2773pub trait ICreateWithTipTransactionEx_Impl: Sized {
2774 fn CreateInstance(&self, bstrtipurl: &::windows::core::BSTR, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
2775}
2776impl ::windows::core::RuntimeName for ICreateWithTipTransactionEx {}
2777impl ICreateWithTipTransactionEx_Vtbl {
2778 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICreateWithTipTransactionEx_Impl, const OFFSET: isize>() -> ICreateWithTipTransactionEx_Vtbl {
2779 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICreateWithTipTransactionEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrtipurl: ::std::mem::MaybeUninit<::windows::core::BSTR>, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2780 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2781 let this = (*this).get_impl();
2782 this.CreateInstance(::core::mem::transmute(&bstrtipurl), ::core::mem::transmute_copy(&rclsid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&pobject)).into()
2783 }
2784 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateInstance: CreateInstance::<Identity, Impl, OFFSET> }
2785 }
2786 pub fn matches(iid: &windows::core::GUID) -> bool {
2787 iid == &<ICreateWithTipTransactionEx as ::windows::core::ComInterface>::IID
2788 }
2789}
2790#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_System_DistributedTransactionCoordinator\"`, `\"implement\"`*"]
2791#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
2792pub trait ICreateWithTransactionEx_Impl: Sized {
2793 fn CreateInstance(&self, ptransaction: ::core::option::Option<&super::DistributedTransactionCoordinator::ITransaction>, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
2794}
2795#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
2796impl ::windows::core::RuntimeName for ICreateWithTransactionEx {}
2797#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
2798impl ICreateWithTransactionEx_Vtbl {
2799 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICreateWithTransactionEx_Impl, const OFFSET: isize>() -> ICreateWithTransactionEx_Vtbl {
2800 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICreateWithTransactionEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptransaction: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2801 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2802 let this = (*this).get_impl();
2803 this.CreateInstance(::windows::core::from_raw_borrowed(&ptransaction), ::core::mem::transmute_copy(&rclsid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&pobject)).into()
2804 }
2805 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), CreateInstance: CreateInstance::<Identity, Impl, OFFSET> }
2806 }
2807 pub fn matches(iid: &windows::core::GUID) -> bool {
2808 iid == &<ICreateWithTransactionEx as ::windows::core::ComInterface>::IID
2809 }
2810}
2811#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
2812#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
2813pub trait ICrmCompensator_Impl: Sized {
2814 fn SetLogControl(&self, plogcontrol: ::core::option::Option<&ICrmLogControl>) -> ::windows::core::Result<()>;
2815 fn BeginPrepare(&self) -> ::windows::core::Result<()>;
2816 fn PrepareRecord(&self, crmlogrec: &CrmLogRecordRead) -> ::windows::core::Result<super::super::Foundation::BOOL>;
2817 fn EndPrepare(&self) -> ::windows::core::Result<super::super::Foundation::BOOL>;
2818 fn BeginCommit(&self, frecovery: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2819 fn CommitRecord(&self, crmlogrec: &CrmLogRecordRead) -> ::windows::core::Result<super::super::Foundation::BOOL>;
2820 fn EndCommit(&self) -> ::windows::core::Result<()>;
2821 fn BeginAbort(&self, frecovery: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
2822 fn AbortRecord(&self, crmlogrec: &CrmLogRecordRead) -> ::windows::core::Result<super::super::Foundation::BOOL>;
2823 fn EndAbort(&self) -> ::windows::core::Result<()>;
2824}
2825#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
2826impl ::windows::core::RuntimeName for ICrmCompensator {}
2827#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
2828impl ICrmCompensator_Vtbl {
2829 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>() -> ICrmCompensator_Vtbl {
2830 unsafe extern "system" fn SetLogControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plogcontrol: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2831 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2832 let this = (*this).get_impl();
2833 this.SetLogControl(::windows::core::from_raw_borrowed(&plogcontrol)).into()
2834 }
2835 unsafe extern "system" fn BeginPrepare<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2836 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2837 let this = (*this).get_impl();
2838 this.BeginPrepare().into()
2839 }
2840 unsafe extern "system" fn PrepareRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crmlogrec: CrmLogRecordRead, pfforget: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2841 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2842 let this = (*this).get_impl();
2843 match this.PrepareRecord(::core::mem::transmute(&crmlogrec)) {
2844 ::core::result::Result::Ok(ok__) => {
2845 ::core::ptr::write(pfforget, ::core::mem::transmute(ok__));
2846 ::windows::core::HRESULT(0)
2847 }
2848 ::core::result::Result::Err(err) => err.into(),
2849 }
2850 }
2851 unsafe extern "system" fn EndPrepare<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfoktoprepare: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2852 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2853 let this = (*this).get_impl();
2854 match this.EndPrepare() {
2855 ::core::result::Result::Ok(ok__) => {
2856 ::core::ptr::write(pfoktoprepare, ::core::mem::transmute(ok__));
2857 ::windows::core::HRESULT(0)
2858 }
2859 ::core::result::Result::Err(err) => err.into(),
2860 }
2861 }
2862 unsafe extern "system" fn BeginCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frecovery: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2863 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2864 let this = (*this).get_impl();
2865 this.BeginCommit(::core::mem::transmute_copy(&frecovery)).into()
2866 }
2867 unsafe extern "system" fn CommitRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crmlogrec: CrmLogRecordRead, pfforget: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2868 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2869 let this = (*this).get_impl();
2870 match this.CommitRecord(::core::mem::transmute(&crmlogrec)) {
2871 ::core::result::Result::Ok(ok__) => {
2872 ::core::ptr::write(pfforget, ::core::mem::transmute(ok__));
2873 ::windows::core::HRESULT(0)
2874 }
2875 ::core::result::Result::Err(err) => err.into(),
2876 }
2877 }
2878 unsafe extern "system" fn EndCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2879 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2880 let this = (*this).get_impl();
2881 this.EndCommit().into()
2882 }
2883 unsafe extern "system" fn BeginAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, frecovery: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2884 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2885 let this = (*this).get_impl();
2886 this.BeginAbort(::core::mem::transmute_copy(&frecovery)).into()
2887 }
2888 unsafe extern "system" fn AbortRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crmlogrec: CrmLogRecordRead, pfforget: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
2889 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2890 let this = (*this).get_impl();
2891 match this.AbortRecord(::core::mem::transmute(&crmlogrec)) {
2892 ::core::result::Result::Ok(ok__) => {
2893 ::core::ptr::write(pfforget, ::core::mem::transmute(ok__));
2894 ::windows::core::HRESULT(0)
2895 }
2896 ::core::result::Result::Err(err) => err.into(),
2897 }
2898 }
2899 unsafe extern "system" fn EndAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2900 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2901 let this = (*this).get_impl();
2902 this.EndAbort().into()
2903 }
2904 Self {
2905 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
2906 SetLogControl: SetLogControl::<Identity, Impl, OFFSET>,
2907 BeginPrepare: BeginPrepare::<Identity, Impl, OFFSET>,
2908 PrepareRecord: PrepareRecord::<Identity, Impl, OFFSET>,
2909 EndPrepare: EndPrepare::<Identity, Impl, OFFSET>,
2910 BeginCommit: BeginCommit::<Identity, Impl, OFFSET>,
2911 CommitRecord: CommitRecord::<Identity, Impl, OFFSET>,
2912 EndCommit: EndCommit::<Identity, Impl, OFFSET>,
2913 BeginAbort: BeginAbort::<Identity, Impl, OFFSET>,
2914 AbortRecord: AbortRecord::<Identity, Impl, OFFSET>,
2915 EndAbort: EndAbort::<Identity, Impl, OFFSET>,
2916 }
2917 }
2918 pub fn matches(iid: &windows::core::GUID) -> bool {
2919 iid == &<ICrmCompensator as ::windows::core::ComInterface>::IID
2920 }
2921}
2922#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
2923#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2924pub trait ICrmCompensatorVariants_Impl: Sized {
2925 fn SetLogControlVariants(&self, plogcontrol: ::core::option::Option<&ICrmLogControl>) -> ::windows::core::Result<()>;
2926 fn BeginPrepareVariants(&self) -> ::windows::core::Result<()>;
2927 fn PrepareRecordVariants(&self, plogrecord: *const super::Com::VARIANT) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
2928 fn EndPrepareVariants(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
2929 fn BeginCommitVariants(&self, brecovery: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2930 fn CommitRecordVariants(&self, plogrecord: *const super::Com::VARIANT) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
2931 fn EndCommitVariants(&self) -> ::windows::core::Result<()>;
2932 fn BeginAbortVariants(&self, brecovery: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
2933 fn AbortRecordVariants(&self, plogrecord: *const super::Com::VARIANT) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
2934 fn EndAbortVariants(&self) -> ::windows::core::Result<()>;
2935}
2936#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2937impl ::windows::core::RuntimeName for ICrmCompensatorVariants {}
2938#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2939impl ICrmCompensatorVariants_Vtbl {
2940 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>() -> ICrmCompensatorVariants_Vtbl {
2941 unsafe extern "system" fn SetLogControlVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plogcontrol: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2943 let this = (*this).get_impl();
2944 this.SetLogControlVariants(::windows::core::from_raw_borrowed(&plogcontrol)).into()
2945 }
2946 unsafe extern "system" fn BeginPrepareVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2947 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2948 let this = (*this).get_impl();
2949 this.BeginPrepareVariants().into()
2950 }
2951 unsafe extern "system" fn PrepareRecordVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plogrecord: *const super::Com::VARIANT, pbforget: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2952 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2953 let this = (*this).get_impl();
2954 match this.PrepareRecordVariants(::core::mem::transmute_copy(&plogrecord)) {
2955 ::core::result::Result::Ok(ok__) => {
2956 ::core::ptr::write(pbforget, ::core::mem::transmute(ok__));
2957 ::windows::core::HRESULT(0)
2958 }
2959 ::core::result::Result::Err(err) => err.into(),
2960 }
2961 }
2962 unsafe extern "system" fn EndPrepareVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pboktoprepare: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2963 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2964 let this = (*this).get_impl();
2965 match this.EndPrepareVariants() {
2966 ::core::result::Result::Ok(ok__) => {
2967 ::core::ptr::write(pboktoprepare, ::core::mem::transmute(ok__));
2968 ::windows::core::HRESULT(0)
2969 }
2970 ::core::result::Result::Err(err) => err.into(),
2971 }
2972 }
2973 unsafe extern "system" fn BeginCommitVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecovery: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2974 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2975 let this = (*this).get_impl();
2976 this.BeginCommitVariants(::core::mem::transmute_copy(&brecovery)).into()
2977 }
2978 unsafe extern "system" fn CommitRecordVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plogrecord: *const super::Com::VARIANT, pbforget: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2980 let this = (*this).get_impl();
2981 match this.CommitRecordVariants(::core::mem::transmute_copy(&plogrecord)) {
2982 ::core::result::Result::Ok(ok__) => {
2983 ::core::ptr::write(pbforget, ::core::mem::transmute(ok__));
2984 ::windows::core::HRESULT(0)
2985 }
2986 ::core::result::Result::Err(err) => err.into(),
2987 }
2988 }
2989 unsafe extern "system" fn EndCommitVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
2990 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2991 let this = (*this).get_impl();
2992 this.EndCommitVariants().into()
2993 }
2994 unsafe extern "system" fn BeginAbortVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, brecovery: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
2995 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
2996 let this = (*this).get_impl();
2997 this.BeginAbortVariants(::core::mem::transmute_copy(&brecovery)).into()
2998 }
2999 unsafe extern "system" fn AbortRecordVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plogrecord: *const super::Com::VARIANT, pbforget: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3000 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3001 let this = (*this).get_impl();
3002 match this.AbortRecordVariants(::core::mem::transmute_copy(&plogrecord)) {
3003 ::core::result::Result::Ok(ok__) => {
3004 ::core::ptr::write(pbforget, ::core::mem::transmute(ok__));
3005 ::windows::core::HRESULT(0)
3006 }
3007 ::core::result::Result::Err(err) => err.into(),
3008 }
3009 }
3010 unsafe extern "system" fn EndAbortVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmCompensatorVariants_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3011 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3012 let this = (*this).get_impl();
3013 this.EndAbortVariants().into()
3014 }
3015 Self {
3016 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3017 SetLogControlVariants: SetLogControlVariants::<Identity, Impl, OFFSET>,
3018 BeginPrepareVariants: BeginPrepareVariants::<Identity, Impl, OFFSET>,
3019 PrepareRecordVariants: PrepareRecordVariants::<Identity, Impl, OFFSET>,
3020 EndPrepareVariants: EndPrepareVariants::<Identity, Impl, OFFSET>,
3021 BeginCommitVariants: BeginCommitVariants::<Identity, Impl, OFFSET>,
3022 CommitRecordVariants: CommitRecordVariants::<Identity, Impl, OFFSET>,
3023 EndCommitVariants: EndCommitVariants::<Identity, Impl, OFFSET>,
3024 BeginAbortVariants: BeginAbortVariants::<Identity, Impl, OFFSET>,
3025 AbortRecordVariants: AbortRecordVariants::<Identity, Impl, OFFSET>,
3026 EndAbortVariants: EndAbortVariants::<Identity, Impl, OFFSET>,
3027 }
3028 }
3029 pub fn matches(iid: &windows::core::GUID) -> bool {
3030 iid == &<ICrmCompensatorVariants as ::windows::core::ComInterface>::IID
3031 }
3032}
3033#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3034#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3035pub trait ICrmFormatLogRecords_Impl: Sized {
3036 fn GetColumnCount(&self) -> ::windows::core::Result<i32>;
3037 fn GetColumnHeaders(&self) -> ::windows::core::Result<super::Com::VARIANT>;
3038 fn GetColumn(&self, crmlogrec: &CrmLogRecordRead) -> ::windows::core::Result<super::Com::VARIANT>;
3039 fn GetColumnVariants(&self, logrecord: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3040}
3041#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3042impl ::windows::core::RuntimeName for ICrmFormatLogRecords {}
3043#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3044impl ICrmFormatLogRecords_Vtbl {
3045 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmFormatLogRecords_Impl, const OFFSET: isize>() -> ICrmFormatLogRecords_Vtbl {
3046 unsafe extern "system" fn GetColumnCount<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmFormatLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcolumncount: *mut i32) -> ::windows::core::HRESULT {
3047 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3048 let this = (*this).get_impl();
3049 match this.GetColumnCount() {
3050 ::core::result::Result::Ok(ok__) => {
3051 ::core::ptr::write(plcolumncount, ::core::mem::transmute(ok__));
3052 ::windows::core::HRESULT(0)
3053 }
3054 ::core::result::Result::Err(err) => err.into(),
3055 }
3056 }
3057 unsafe extern "system" fn GetColumnHeaders<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmFormatLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pheaders: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3058 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3059 let this = (*this).get_impl();
3060 match this.GetColumnHeaders() {
3061 ::core::result::Result::Ok(ok__) => {
3062 ::core::ptr::write(pheaders, ::core::mem::transmute(ok__));
3063 ::windows::core::HRESULT(0)
3064 }
3065 ::core::result::Result::Err(err) => err.into(),
3066 }
3067 }
3068 unsafe extern "system" fn GetColumn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmFormatLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, crmlogrec: CrmLogRecordRead, pformattedlogrecord: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3069 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3070 let this = (*this).get_impl();
3071 match this.GetColumn(::core::mem::transmute(&crmlogrec)) {
3072 ::core::result::Result::Ok(ok__) => {
3073 ::core::ptr::write(pformattedlogrecord, ::core::mem::transmute(ok__));
3074 ::windows::core::HRESULT(0)
3075 }
3076 ::core::result::Result::Err(err) => err.into(),
3077 }
3078 }
3079 unsafe extern "system" fn GetColumnVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmFormatLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, logrecord: super::Com::VARIANT, pformattedlogrecord: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3080 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3081 let this = (*this).get_impl();
3082 match this.GetColumnVariants(::core::mem::transmute(&logrecord)) {
3083 ::core::result::Result::Ok(ok__) => {
3084 ::core::ptr::write(pformattedlogrecord, ::core::mem::transmute(ok__));
3085 ::windows::core::HRESULT(0)
3086 }
3087 ::core::result::Result::Err(err) => err.into(),
3088 }
3089 }
3090 Self {
3091 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3092 GetColumnCount: GetColumnCount::<Identity, Impl, OFFSET>,
3093 GetColumnHeaders: GetColumnHeaders::<Identity, Impl, OFFSET>,
3094 GetColumn: GetColumn::<Identity, Impl, OFFSET>,
3095 GetColumnVariants: GetColumnVariants::<Identity, Impl, OFFSET>,
3096 }
3097 }
3098 pub fn matches(iid: &windows::core::GUID) -> bool {
3099 iid == &<ICrmFormatLogRecords as ::windows::core::ComInterface>::IID
3100 }
3101}
3102#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3103#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3104pub trait ICrmLogControl_Impl: Sized {
3105 fn TransactionUOW(&self) -> ::windows::core::Result<::windows::core::BSTR>;
3106 fn RegisterCompensator(&self, lpcwstrprogidcompensator: &::windows::core::PCWSTR, lpcwstrdescription: &::windows::core::PCWSTR, lcrmregflags: i32) -> ::windows::core::Result<()>;
3107 fn WriteLogRecordVariants(&self, plogrecord: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
3108 fn ForceLog(&self) -> ::windows::core::Result<()>;
3109 fn ForgetLogRecord(&self) -> ::windows::core::Result<()>;
3110 fn ForceTransactionToAbort(&self) -> ::windows::core::Result<()>;
3111 fn WriteLogRecord(&self, rgblob: *const super::Com::BLOB, cblob: u32) -> ::windows::core::Result<()>;
3112}
3113#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3114impl ::windows::core::RuntimeName for ICrmLogControl {}
3115#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3116impl ICrmLogControl_Vtbl {
3117 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>() -> ICrmLogControl_Vtbl {
3118 unsafe extern "system" fn TransactionUOW<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3119 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3120 let this = (*this).get_impl();
3121 match this.TransactionUOW() {
3122 ::core::result::Result::Ok(ok__) => {
3123 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
3124 ::windows::core::HRESULT(0)
3125 }
3126 ::core::result::Result::Err(err) => err.into(),
3127 }
3128 }
3129 unsafe extern "system" fn RegisterCompensator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lpcwstrprogidcompensator: ::windows::core::PCWSTR, lpcwstrdescription: ::windows::core::PCWSTR, lcrmregflags: i32) -> ::windows::core::HRESULT {
3130 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3131 let this = (*this).get_impl();
3132 this.RegisterCompensator(::core::mem::transmute(&lpcwstrprogidcompensator), ::core::mem::transmute(&lpcwstrdescription), ::core::mem::transmute_copy(&lcrmregflags)).into()
3133 }
3134 unsafe extern "system" fn WriteLogRecordVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plogrecord: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
3135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3136 let this = (*this).get_impl();
3137 this.WriteLogRecordVariants(::core::mem::transmute_copy(&plogrecord)).into()
3138 }
3139 unsafe extern "system" fn ForceLog<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3140 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3141 let this = (*this).get_impl();
3142 this.ForceLog().into()
3143 }
3144 unsafe extern "system" fn ForgetLogRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3145 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3146 let this = (*this).get_impl();
3147 this.ForgetLogRecord().into()
3148 }
3149 unsafe extern "system" fn ForceTransactionToAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3150 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3151 let this = (*this).get_impl();
3152 this.ForceTransactionToAbort().into()
3153 }
3154 unsafe extern "system" fn WriteLogRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmLogControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rgblob: *const super::Com::BLOB, cblob: u32) -> ::windows::core::HRESULT {
3155 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3156 let this = (*this).get_impl();
3157 this.WriteLogRecord(::core::mem::transmute_copy(&rgblob), ::core::mem::transmute_copy(&cblob)).into()
3158 }
3159 Self {
3160 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3161 TransactionUOW: TransactionUOW::<Identity, Impl, OFFSET>,
3162 RegisterCompensator: RegisterCompensator::<Identity, Impl, OFFSET>,
3163 WriteLogRecordVariants: WriteLogRecordVariants::<Identity, Impl, OFFSET>,
3164 ForceLog: ForceLog::<Identity, Impl, OFFSET>,
3165 ForgetLogRecord: ForgetLogRecord::<Identity, Impl, OFFSET>,
3166 ForceTransactionToAbort: ForceTransactionToAbort::<Identity, Impl, OFFSET>,
3167 WriteLogRecord: WriteLogRecord::<Identity, Impl, OFFSET>,
3168 }
3169 }
3170 pub fn matches(iid: &windows::core::GUID) -> bool {
3171 iid == &<ICrmLogControl as ::windows::core::ComInterface>::IID
3172 }
3173}
3174#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3175#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3176pub trait ICrmMonitor_Impl: Sized {
3177 fn GetClerks(&self) -> ::windows::core::Result<ICrmMonitorClerks>;
3178 fn HoldClerk(&self, index: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3179}
3180#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3181impl ::windows::core::RuntimeName for ICrmMonitor {}
3182#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3183impl ICrmMonitor_Vtbl {
3184 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitor_Impl, const OFFSET: isize>() -> ICrmMonitor_Vtbl {
3185 unsafe extern "system" fn GetClerks<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pclerks: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3186 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3187 let this = (*this).get_impl();
3188 match this.GetClerks() {
3189 ::core::result::Result::Ok(ok__) => {
3190 ::core::ptr::write(pclerks, ::core::mem::transmute(ok__));
3191 ::windows::core::HRESULT(0)
3192 }
3193 ::core::result::Result::Err(err) => err.into(),
3194 }
3195 }
3196 unsafe extern "system" fn HoldClerk<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitor_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::Com::VARIANT, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3197 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3198 let this = (*this).get_impl();
3199 match this.HoldClerk(::core::mem::transmute(&index)) {
3200 ::core::result::Result::Ok(ok__) => {
3201 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
3202 ::windows::core::HRESULT(0)
3203 }
3204 ::core::result::Result::Err(err) => err.into(),
3205 }
3206 }
3207 Self {
3208 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3209 GetClerks: GetClerks::<Identity, Impl, OFFSET>,
3210 HoldClerk: HoldClerk::<Identity, Impl, OFFSET>,
3211 }
3212 }
3213 pub fn matches(iid: &windows::core::GUID) -> bool {
3214 iid == &<ICrmMonitor as ::windows::core::ComInterface>::IID
3215 }
3216}
3217#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3218#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3219pub trait ICrmMonitorClerks_Impl: Sized + super::Com::IDispatch_Impl {
3220 fn Item(&self, index: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3221 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
3222 fn Count(&self) -> ::windows::core::Result<i32>;
3223 fn ProgIdCompensator(&self, index: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3224 fn Description(&self, index: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3225 fn TransactionUOW(&self, index: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3226 fn ActivityId(&self, index: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3227}
3228#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3229impl ::windows::core::RuntimeName for ICrmMonitorClerks {}
3230#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3231impl ICrmMonitorClerks_Vtbl {
3232 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>() -> ICrmMonitorClerks_Vtbl {
3233 unsafe extern "system" fn Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::Com::VARIANT, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3234 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3235 let this = (*this).get_impl();
3236 match this.Item(::core::mem::transmute(&index)) {
3237 ::core::result::Result::Ok(ok__) => {
3238 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
3239 ::windows::core::HRESULT(0)
3240 }
3241 ::core::result::Result::Err(err) => err.into(),
3242 }
3243 }
3244 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3245 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3246 let this = (*this).get_impl();
3247 match this._NewEnum() {
3248 ::core::result::Result::Ok(ok__) => {
3249 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
3250 ::windows::core::HRESULT(0)
3251 }
3252 ::core::result::Result::Err(err) => err.into(),
3253 }
3254 }
3255 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
3256 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3257 let this = (*this).get_impl();
3258 match this.Count() {
3259 ::core::result::Result::Ok(ok__) => {
3260 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
3261 ::windows::core::HRESULT(0)
3262 }
3263 ::core::result::Result::Err(err) => err.into(),
3264 }
3265 }
3266 unsafe extern "system" fn ProgIdCompensator<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::Com::VARIANT, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3267 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3268 let this = (*this).get_impl();
3269 match this.ProgIdCompensator(::core::mem::transmute(&index)) {
3270 ::core::result::Result::Ok(ok__) => {
3271 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
3272 ::windows::core::HRESULT(0)
3273 }
3274 ::core::result::Result::Err(err) => err.into(),
3275 }
3276 }
3277 unsafe extern "system" fn Description<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::Com::VARIANT, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3278 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3279 let this = (*this).get_impl();
3280 match this.Description(::core::mem::transmute(&index)) {
3281 ::core::result::Result::Ok(ok__) => {
3282 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
3283 ::windows::core::HRESULT(0)
3284 }
3285 ::core::result::Result::Err(err) => err.into(),
3286 }
3287 }
3288 unsafe extern "system" fn TransactionUOW<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::Com::VARIANT, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3289 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3290 let this = (*this).get_impl();
3291 match this.TransactionUOW(::core::mem::transmute(&index)) {
3292 ::core::result::Result::Ok(ok__) => {
3293 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
3294 ::windows::core::HRESULT(0)
3295 }
3296 ::core::result::Result::Err(err) => err.into(),
3297 }
3298 }
3299 unsafe extern "system" fn ActivityId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorClerks_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: super::Com::VARIANT, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3300 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3301 let this = (*this).get_impl();
3302 match this.ActivityId(::core::mem::transmute(&index)) {
3303 ::core::result::Result::Ok(ok__) => {
3304 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
3305 ::windows::core::HRESULT(0)
3306 }
3307 ::core::result::Result::Err(err) => err.into(),
3308 }
3309 }
3310 Self {
3311 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3312 Item: Item::<Identity, Impl, OFFSET>,
3313 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
3314 Count: Count::<Identity, Impl, OFFSET>,
3315 ProgIdCompensator: ProgIdCompensator::<Identity, Impl, OFFSET>,
3316 Description: Description::<Identity, Impl, OFFSET>,
3317 TransactionUOW: TransactionUOW::<Identity, Impl, OFFSET>,
3318 ActivityId: ActivityId::<Identity, Impl, OFFSET>,
3319 }
3320 }
3321 pub fn matches(iid: &windows::core::GUID) -> bool {
3322 iid == &<ICrmMonitorClerks as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
3323 }
3324}
3325#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3326#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3327pub trait ICrmMonitorLogRecords_Impl: Sized {
3328 fn Count(&self) -> ::windows::core::Result<i32>;
3329 fn TransactionState(&self) -> ::windows::core::Result<CrmTransactionState>;
3330 fn StructuredRecords(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
3331 fn GetLogRecord(&self, dwindex: u32, pcrmlogrec: *mut CrmLogRecordRead) -> ::windows::core::Result<()>;
3332 fn GetLogRecordVariants(&self, indexnumber: &super::Com::VARIANT) -> ::windows::core::Result<super::Com::VARIANT>;
3333}
3334#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3335impl ::windows::core::RuntimeName for ICrmMonitorLogRecords {}
3336#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3337impl ICrmMonitorLogRecords_Vtbl {
3338 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorLogRecords_Impl, const OFFSET: isize>() -> ICrmMonitorLogRecords_Vtbl {
3339 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
3340 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3341 let this = (*this).get_impl();
3342 match this.Count() {
3343 ::core::result::Result::Ok(ok__) => {
3344 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
3345 ::windows::core::HRESULT(0)
3346 }
3347 ::core::result::Result::Err(err) => err.into(),
3348 }
3349 }
3350 unsafe extern "system" fn TransactionState<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut CrmTransactionState) -> ::windows::core::HRESULT {
3351 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3352 let this = (*this).get_impl();
3353 match this.TransactionState() {
3354 ::core::result::Result::Ok(ok__) => {
3355 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
3356 ::windows::core::HRESULT(0)
3357 }
3358 ::core::result::Result::Err(err) => err.into(),
3359 }
3360 }
3361 unsafe extern "system" fn StructuredRecords<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
3362 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3363 let this = (*this).get_impl();
3364 match this.StructuredRecords() {
3365 ::core::result::Result::Ok(ok__) => {
3366 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
3367 ::windows::core::HRESULT(0)
3368 }
3369 ::core::result::Result::Err(err) => err.into(),
3370 }
3371 }
3372 unsafe extern "system" fn GetLogRecord<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwindex: u32, pcrmlogrec: *mut CrmLogRecordRead) -> ::windows::core::HRESULT {
3373 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3374 let this = (*this).get_impl();
3375 this.GetLogRecord(::core::mem::transmute_copy(&dwindex), ::core::mem::transmute_copy(&pcrmlogrec)).into()
3376 }
3377 unsafe extern "system" fn GetLogRecordVariants<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ICrmMonitorLogRecords_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, indexnumber: super::Com::VARIANT, plogrecord: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3378 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3379 let this = (*this).get_impl();
3380 match this.GetLogRecordVariants(::core::mem::transmute(&indexnumber)) {
3381 ::core::result::Result::Ok(ok__) => {
3382 ::core::ptr::write(plogrecord, ::core::mem::transmute(ok__));
3383 ::windows::core::HRESULT(0)
3384 }
3385 ::core::result::Result::Err(err) => err.into(),
3386 }
3387 }
3388 Self {
3389 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3390 Count: Count::<Identity, Impl, OFFSET>,
3391 TransactionState: TransactionState::<Identity, Impl, OFFSET>,
3392 StructuredRecords: StructuredRecords::<Identity, Impl, OFFSET>,
3393 GetLogRecord: GetLogRecord::<Identity, Impl, OFFSET>,
3394 GetLogRecordVariants: GetLogRecordVariants::<Identity, Impl, OFFSET>,
3395 }
3396 }
3397 pub fn matches(iid: &windows::core::GUID) -> bool {
3398 iid == &<ICrmMonitorLogRecords as ::windows::core::ComInterface>::IID
3399 }
3400}
3401#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3402#[cfg(feature = "Win32_Foundation")]
3403pub trait IDispenserDriver_Impl: Sized {
3404 fn CreateResource(&self, restypid: usize, presid: *mut usize, psecsfreebeforedestroy: *mut i32) -> ::windows::core::Result<()>;
3405 fn RateResource(&self, restypid: usize, resid: usize, frequirestransactionenlistment: super::super::Foundation::BOOL, prating: *mut u32) -> ::windows::core::Result<()>;
3406 fn EnlistResource(&self, resid: usize, transid: usize) -> ::windows::core::Result<()>;
3407 fn ResetResource(&self, resid: usize) -> ::windows::core::Result<()>;
3408 fn DestroyResource(&self, resid: usize) -> ::windows::core::Result<()>;
3409 fn DestroyResourceS(&self, resid: *mut u16) -> ::windows::core::Result<()>;
3410}
3411#[cfg(feature = "Win32_Foundation")]
3412impl ::windows::core::RuntimeName for IDispenserDriver {}
3413#[cfg(feature = "Win32_Foundation")]
3414impl IDispenserDriver_Vtbl {
3415 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>() -> IDispenserDriver_Vtbl {
3416 unsafe extern "system" fn CreateResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restypid: usize, presid: *mut usize, psecsfreebeforedestroy: *mut i32) -> ::windows::core::HRESULT {
3417 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3418 let this = (*this).get_impl();
3419 this.CreateResource(::core::mem::transmute_copy(&restypid), ::core::mem::transmute_copy(&presid), ::core::mem::transmute_copy(&psecsfreebeforedestroy)).into()
3420 }
3421 unsafe extern "system" fn RateResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, restypid: usize, resid: usize, frequirestransactionenlistment: super::super::Foundation::BOOL, prating: *mut u32) -> ::windows::core::HRESULT {
3422 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3423 let this = (*this).get_impl();
3424 this.RateResource(::core::mem::transmute_copy(&restypid), ::core::mem::transmute_copy(&resid), ::core::mem::transmute_copy(&frequirestransactionenlistment), ::core::mem::transmute_copy(&prating)).into()
3425 }
3426 unsafe extern "system" fn EnlistResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resid: usize, transid: usize) -> ::windows::core::HRESULT {
3427 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3428 let this = (*this).get_impl();
3429 this.EnlistResource(::core::mem::transmute_copy(&resid), ::core::mem::transmute_copy(&transid)).into()
3430 }
3431 unsafe extern "system" fn ResetResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resid: usize) -> ::windows::core::HRESULT {
3432 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3433 let this = (*this).get_impl();
3434 this.ResetResource(::core::mem::transmute_copy(&resid)).into()
3435 }
3436 unsafe extern "system" fn DestroyResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resid: usize) -> ::windows::core::HRESULT {
3437 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3438 let this = (*this).get_impl();
3439 this.DestroyResource(::core::mem::transmute_copy(&resid)).into()
3440 }
3441 unsafe extern "system" fn DestroyResourceS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserDriver_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, resid: *mut u16) -> ::windows::core::HRESULT {
3442 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3443 let this = (*this).get_impl();
3444 this.DestroyResourceS(::core::mem::transmute_copy(&resid)).into()
3445 }
3446 Self {
3447 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3448 CreateResource: CreateResource::<Identity, Impl, OFFSET>,
3449 RateResource: RateResource::<Identity, Impl, OFFSET>,
3450 EnlistResource: EnlistResource::<Identity, Impl, OFFSET>,
3451 ResetResource: ResetResource::<Identity, Impl, OFFSET>,
3452 DestroyResource: DestroyResource::<Identity, Impl, OFFSET>,
3453 DestroyResourceS: DestroyResourceS::<Identity, Impl, OFFSET>,
3454 }
3455 }
3456 pub fn matches(iid: &windows::core::GUID) -> bool {
3457 iid == &<IDispenserDriver as ::windows::core::ComInterface>::IID
3458 }
3459}
3460#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
3461pub trait IDispenserManager_Impl: Sized {
3462 fn RegisterDispenser(&self, __midl__idispensermanager0000: ::core::option::Option<&IDispenserDriver>, szdispensername: &::windows::core::PCWSTR) -> ::windows::core::Result<IHolder>;
3463 fn GetContext(&self, __midl__idispensermanager0002: *mut usize, __midl__idispensermanager0003: *mut usize) -> ::windows::core::Result<()>;
3464}
3465impl ::windows::core::RuntimeName for IDispenserManager {}
3466impl IDispenserManager_Vtbl {
3467 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserManager_Impl, const OFFSET: isize>() -> IDispenserManager_Vtbl {
3468 unsafe extern "system" fn RegisterDispenser<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__idispensermanager0000: *mut ::core::ffi::c_void, szdispensername: ::windows::core::PCWSTR, __midl__idispensermanager0001: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3469 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3470 let this = (*this).get_impl();
3471 match this.RegisterDispenser(::windows::core::from_raw_borrowed(&__midl__idispensermanager0000), ::core::mem::transmute(&szdispensername)) {
3472 ::core::result::Result::Ok(ok__) => {
3473 ::core::ptr::write(__midl__idispensermanager0001, ::core::mem::transmute(ok__));
3474 ::windows::core::HRESULT(0)
3475 }
3476 ::core::result::Result::Err(err) => err.into(),
3477 }
3478 }
3479 unsafe extern "system" fn GetContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IDispenserManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__idispensermanager0002: *mut usize, __midl__idispensermanager0003: *mut usize) -> ::windows::core::HRESULT {
3480 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3481 let this = (*this).get_impl();
3482 this.GetContext(::core::mem::transmute_copy(&__midl__idispensermanager0002), ::core::mem::transmute_copy(&__midl__idispensermanager0003)).into()
3483 }
3484 Self {
3485 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3486 RegisterDispenser: RegisterDispenser::<Identity, Impl, OFFSET>,
3487 GetContext: GetContext::<Identity, Impl, OFFSET>,
3488 }
3489 }
3490 pub fn matches(iid: &windows::core::GUID) -> bool {
3491 iid == &<IDispenserManager as ::windows::core::ComInterface>::IID
3492 }
3493}
3494#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
3495pub trait IEnumNames_Impl: Sized {
3496 fn Next(&self, celt: u32, rgname: *mut ::windows::core::BSTR, pceltfetched: *mut u32) -> ::windows::core::Result<()>;
3497 fn Skip(&self, celt: u32) -> ::windows::core::Result<()>;
3498 fn Reset(&self) -> ::windows::core::Result<()>;
3499 fn Clone(&self) -> ::windows::core::Result<IEnumNames>;
3500}
3501impl ::windows::core::RuntimeName for IEnumNames {}
3502impl IEnumNames_Vtbl {
3503 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumNames_Impl, const OFFSET: isize>() -> IEnumNames_Vtbl {
3504 unsafe extern "system" fn Next<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32, rgname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pceltfetched: *mut u32) -> ::windows::core::HRESULT {
3505 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3506 let this = (*this).get_impl();
3507 this.Next(::core::mem::transmute_copy(&celt), ::core::mem::transmute_copy(&rgname), ::core::mem::transmute_copy(&pceltfetched)).into()
3508 }
3509 unsafe extern "system" fn Skip<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT {
3510 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3511 let this = (*this).get_impl();
3512 this.Skip(::core::mem::transmute_copy(&celt)).into()
3513 }
3514 unsafe extern "system" fn Reset<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3515 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3516 let this = (*this).get_impl();
3517 this.Reset().into()
3518 }
3519 unsafe extern "system" fn Clone<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEnumNames_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3520 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3521 let this = (*this).get_impl();
3522 match this.Clone() {
3523 ::core::result::Result::Ok(ok__) => {
3524 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
3525 ::windows::core::HRESULT(0)
3526 }
3527 ::core::result::Result::Err(err) => err.into(),
3528 }
3529 }
3530 Self {
3531 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3532 Next: Next::<Identity, Impl, OFFSET>,
3533 Skip: Skip::<Identity, Impl, OFFSET>,
3534 Reset: Reset::<Identity, Impl, OFFSET>,
3535 Clone: Clone::<Identity, Impl, OFFSET>,
3536 }
3537 }
3538 pub fn matches(iid: &windows::core::GUID) -> bool {
3539 iid == &<IEnumNames as ::windows::core::ComInterface>::IID
3540 }
3541}
3542#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3543#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3544pub trait IEventServerTrace_Impl: Sized + super::Com::IDispatch_Impl {
3545 fn StartTraceGuid(&self, bstrguidevent: &::windows::core::BSTR, bstrguidfilter: &::windows::core::BSTR, lpidfilter: i32) -> ::windows::core::Result<()>;
3546 fn StopTraceGuid(&self, bstrguidevent: &::windows::core::BSTR, bstrguidfilter: &::windows::core::BSTR, lpidfilter: i32) -> ::windows::core::Result<()>;
3547 fn EnumTraceGuid(&self, plcntguids: *mut i32, pbstrguidlist: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
3548}
3549#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3550impl ::windows::core::RuntimeName for IEventServerTrace {}
3551#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3552impl IEventServerTrace_Vtbl {
3553 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEventServerTrace_Impl, const OFFSET: isize>() -> IEventServerTrace_Vtbl {
3554 unsafe extern "system" fn StartTraceGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEventServerTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrguidevent: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrguidfilter: ::std::mem::MaybeUninit<::windows::core::BSTR>, lpidfilter: i32) -> ::windows::core::HRESULT {
3555 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3556 let this = (*this).get_impl();
3557 this.StartTraceGuid(::core::mem::transmute(&bstrguidevent), ::core::mem::transmute(&bstrguidfilter), ::core::mem::transmute_copy(&lpidfilter)).into()
3558 }
3559 unsafe extern "system" fn StopTraceGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEventServerTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrguidevent: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrguidfilter: ::std::mem::MaybeUninit<::windows::core::BSTR>, lpidfilter: i32) -> ::windows::core::HRESULT {
3560 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3561 let this = (*this).get_impl();
3562 this.StopTraceGuid(::core::mem::transmute(&bstrguidevent), ::core::mem::transmute(&bstrguidfilter), ::core::mem::transmute_copy(&lpidfilter)).into()
3563 }
3564 unsafe extern "system" fn EnumTraceGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IEventServerTrace_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcntguids: *mut i32, pbstrguidlist: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3565 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3566 let this = (*this).get_impl();
3567 this.EnumTraceGuid(::core::mem::transmute_copy(&plcntguids), ::core::mem::transmute_copy(&pbstrguidlist)).into()
3568 }
3569 Self {
3570 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
3571 StartTraceGuid: StartTraceGuid::<Identity, Impl, OFFSET>,
3572 StopTraceGuid: StopTraceGuid::<Identity, Impl, OFFSET>,
3573 EnumTraceGuid: EnumTraceGuid::<Identity, Impl, OFFSET>,
3574 }
3575 }
3576 pub fn matches(iid: &windows::core::GUID) -> bool {
3577 iid == &<IEventServerTrace as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
3578 }
3579}
3580#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3581#[cfg(feature = "Win32_Foundation")]
3582pub trait IGetAppTrackerData_Impl: Sized {
3583 fn GetApplicationProcesses(&self, partitionid: *const ::windows::core::GUID, applicationid: *const ::windows::core::GUID, flags: u32, numapplicationprocesses: *mut u32, applicationprocesses: *mut *mut ApplicationProcessSummary) -> ::windows::core::Result<()>;
3584 fn GetApplicationProcessDetails(&self, applicationinstanceid: *const ::windows::core::GUID, processid: u32, flags: u32, summary: *mut ApplicationProcessSummary, statistics: *mut ApplicationProcessStatistics, recycleinfo: *mut ApplicationProcessRecycleInfo, anycomponentshangmonitored: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3585 fn GetApplicationsInProcess(&self, applicationinstanceid: *const ::windows::core::GUID, processid: u32, partitionid: *const ::windows::core::GUID, flags: u32, numapplicationsinprocess: *mut u32, applications: *mut *mut ApplicationSummary) -> ::windows::core::Result<()>;
3586 fn GetComponentsInProcess(&self, applicationinstanceid: *const ::windows::core::GUID, processid: u32, partitionid: *const ::windows::core::GUID, applicationid: *const ::windows::core::GUID, flags: u32, numcomponentsinprocess: *mut u32, components: *mut *mut ComponentSummary) -> ::windows::core::Result<()>;
3587 fn GetComponentDetails(&self, applicationinstanceid: *const ::windows::core::GUID, processid: u32, clsid: *const ::windows::core::GUID, flags: u32, summary: *mut ComponentSummary, statistics: *mut ComponentStatistics, hangmonitorinfo: *mut ComponentHangMonitorInfo) -> ::windows::core::Result<()>;
3588 fn GetTrackerDataAsCollectionObject(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
3589 fn GetSuggestedPollingInterval(&self) -> ::windows::core::Result<u32>;
3590}
3591#[cfg(feature = "Win32_Foundation")]
3592impl ::windows::core::RuntimeName for IGetAppTrackerData {}
3593#[cfg(feature = "Win32_Foundation")]
3594impl IGetAppTrackerData_Vtbl {
3595 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>() -> IGetAppTrackerData_Vtbl {
3596 unsafe extern "system" fn GetApplicationProcesses<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, partitionid: *const ::windows::core::GUID, applicationid: *const ::windows::core::GUID, flags: u32, numapplicationprocesses: *mut u32, applicationprocesses: *mut *mut ApplicationProcessSummary) -> ::windows::core::HRESULT {
3597 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3598 let this = (*this).get_impl();
3599 this.GetApplicationProcesses(::core::mem::transmute_copy(&partitionid), ::core::mem::transmute_copy(&applicationid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&numapplicationprocesses), ::core::mem::transmute_copy(&applicationprocesses)).into()
3600 }
3601 unsafe extern "system" fn GetApplicationProcessDetails<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, applicationinstanceid: *const ::windows::core::GUID, processid: u32, flags: u32, summary: *mut ApplicationProcessSummary, statistics: *mut ApplicationProcessStatistics, recycleinfo: *mut ApplicationProcessRecycleInfo, anycomponentshangmonitored: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
3602 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3603 let this = (*this).get_impl();
3604 this.GetApplicationProcessDetails(::core::mem::transmute_copy(&applicationinstanceid), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&summary), ::core::mem::transmute_copy(&statistics), ::core::mem::transmute_copy(&recycleinfo), ::core::mem::transmute_copy(&anycomponentshangmonitored)).into()
3605 }
3606 unsafe extern "system" fn GetApplicationsInProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, applicationinstanceid: *const ::windows::core::GUID, processid: u32, partitionid: *const ::windows::core::GUID, flags: u32, numapplicationsinprocess: *mut u32, applications: *mut *mut ApplicationSummary) -> ::windows::core::HRESULT {
3607 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3608 let this = (*this).get_impl();
3609 this.GetApplicationsInProcess(::core::mem::transmute_copy(&applicationinstanceid), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&partitionid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&numapplicationsinprocess), ::core::mem::transmute_copy(&applications)).into()
3610 }
3611 unsafe extern "system" fn GetComponentsInProcess<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, applicationinstanceid: *const ::windows::core::GUID, processid: u32, partitionid: *const ::windows::core::GUID, applicationid: *const ::windows::core::GUID, flags: u32, numcomponentsinprocess: *mut u32, components: *mut *mut ComponentSummary) -> ::windows::core::HRESULT {
3612 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3613 let this = (*this).get_impl();
3614 this.GetComponentsInProcess(::core::mem::transmute_copy(&applicationinstanceid), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&partitionid), ::core::mem::transmute_copy(&applicationid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&numcomponentsinprocess), ::core::mem::transmute_copy(&components)).into()
3615 }
3616 unsafe extern "system" fn GetComponentDetails<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, applicationinstanceid: *const ::windows::core::GUID, processid: u32, clsid: *const ::windows::core::GUID, flags: u32, summary: *mut ComponentSummary, statistics: *mut ComponentStatistics, hangmonitorinfo: *mut ComponentHangMonitorInfo) -> ::windows::core::HRESULT {
3617 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3618 let this = (*this).get_impl();
3619 this.GetComponentDetails(::core::mem::transmute_copy(&applicationinstanceid), ::core::mem::transmute_copy(&processid), ::core::mem::transmute_copy(&clsid), ::core::mem::transmute_copy(&flags), ::core::mem::transmute_copy(&summary), ::core::mem::transmute_copy(&statistics), ::core::mem::transmute_copy(&hangmonitorinfo)).into()
3620 }
3621 unsafe extern "system" fn GetTrackerDataAsCollectionObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, toplevelcollection: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3622 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3623 let this = (*this).get_impl();
3624 match this.GetTrackerDataAsCollectionObject() {
3625 ::core::result::Result::Ok(ok__) => {
3626 ::core::ptr::write(toplevelcollection, ::core::mem::transmute(ok__));
3627 ::windows::core::HRESULT(0)
3628 }
3629 ::core::result::Result::Err(err) => err.into(),
3630 }
3631 }
3632 unsafe extern "system" fn GetSuggestedPollingInterval<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetAppTrackerData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pollingintervalinseconds: *mut u32) -> ::windows::core::HRESULT {
3633 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3634 let this = (*this).get_impl();
3635 match this.GetSuggestedPollingInterval() {
3636 ::core::result::Result::Ok(ok__) => {
3637 ::core::ptr::write(pollingintervalinseconds, ::core::mem::transmute(ok__));
3638 ::windows::core::HRESULT(0)
3639 }
3640 ::core::result::Result::Err(err) => err.into(),
3641 }
3642 }
3643 Self {
3644 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3645 GetApplicationProcesses: GetApplicationProcesses::<Identity, Impl, OFFSET>,
3646 GetApplicationProcessDetails: GetApplicationProcessDetails::<Identity, Impl, OFFSET>,
3647 GetApplicationsInProcess: GetApplicationsInProcess::<Identity, Impl, OFFSET>,
3648 GetComponentsInProcess: GetComponentsInProcess::<Identity, Impl, OFFSET>,
3649 GetComponentDetails: GetComponentDetails::<Identity, Impl, OFFSET>,
3650 GetTrackerDataAsCollectionObject: GetTrackerDataAsCollectionObject::<Identity, Impl, OFFSET>,
3651 GetSuggestedPollingInterval: GetSuggestedPollingInterval::<Identity, Impl, OFFSET>,
3652 }
3653 }
3654 pub fn matches(iid: &windows::core::GUID) -> bool {
3655 iid == &<IGetAppTrackerData as ::windows::core::ComInterface>::IID
3656 }
3657}
3658#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3659#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3660pub trait IGetContextProperties_Impl: Sized {
3661 fn Count(&self, plcount: *mut i32) -> ::windows::core::Result<()>;
3662 fn GetProperty(&self, name: &::windows::core::BSTR, pproperty: *mut super::Com::VARIANT) -> ::windows::core::Result<()>;
3663 fn EnumNames(&self) -> ::windows::core::Result<IEnumNames>;
3664}
3665#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3666impl ::windows::core::RuntimeName for IGetContextProperties {}
3667#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3668impl IGetContextProperties_Vtbl {
3669 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetContextProperties_Impl, const OFFSET: isize>() -> IGetContextProperties_Vtbl {
3670 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
3671 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3672 let this = (*this).get_impl();
3673 this.Count(::core::mem::transmute_copy(&plcount)).into()
3674 }
3675 unsafe extern "system" fn GetProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, pproperty: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
3676 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3677 let this = (*this).get_impl();
3678 this.GetProperty(::core::mem::transmute(&name), ::core::mem::transmute_copy(&pproperty)).into()
3679 }
3680 unsafe extern "system" fn EnumNames<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetContextProperties_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3681 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3682 let this = (*this).get_impl();
3683 match this.EnumNames() {
3684 ::core::result::Result::Ok(ok__) => {
3685 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
3686 ::windows::core::HRESULT(0)
3687 }
3688 ::core::result::Result::Err(err) => err.into(),
3689 }
3690 }
3691 Self {
3692 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3693 Count: Count::<Identity, Impl, OFFSET>,
3694 GetProperty: GetProperty::<Identity, Impl, OFFSET>,
3695 EnumNames: EnumNames::<Identity, Impl, OFFSET>,
3696 }
3697 }
3698 pub fn matches(iid: &windows::core::GUID) -> bool {
3699 iid == &<IGetContextProperties as ::windows::core::ComInterface>::IID
3700 }
3701}
3702#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3703#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3704pub trait IGetSecurityCallContext_Impl: Sized + super::Com::IDispatch_Impl {
3705 fn GetSecurityCallContext(&self) -> ::windows::core::Result<ISecurityCallContext>;
3706}
3707#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3708impl ::windows::core::RuntimeName for IGetSecurityCallContext {}
3709#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3710impl IGetSecurityCallContext_Vtbl {
3711 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetSecurityCallContext_Impl, const OFFSET: isize>() -> IGetSecurityCallContext_Vtbl {
3712 unsafe extern "system" fn GetSecurityCallContext<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IGetSecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3713 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3714 let this = (*this).get_impl();
3715 match this.GetSecurityCallContext() {
3716 ::core::result::Result::Ok(ok__) => {
3717 ::core::ptr::write(ppobject, ::core::mem::transmute(ok__));
3718 ::windows::core::HRESULT(0)
3719 }
3720 ::core::result::Result::Err(err) => err.into(),
3721 }
3722 }
3723 Self { base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), GetSecurityCallContext: GetSecurityCallContext::<Identity, Impl, OFFSET> }
3724 }
3725 pub fn matches(iid: &windows::core::GUID) -> bool {
3726 iid == &<IGetSecurityCallContext as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
3727 }
3728}
3729#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3730#[cfg(feature = "Win32_Foundation")]
3731pub trait IHolder_Impl: Sized {
3732 fn AllocResource(&self, __midl__iholder0000: usize, __midl__iholder0001: *mut usize) -> ::windows::core::Result<()>;
3733 fn FreeResource(&self, __midl__iholder0002: usize) -> ::windows::core::Result<()>;
3734 fn TrackResource(&self, __midl__iholder0003: usize) -> ::windows::core::Result<()>;
3735 fn TrackResourceS(&self, __midl__iholder0004: *mut u16) -> ::windows::core::Result<()>;
3736 fn UntrackResource(&self, __midl__iholder0005: usize, __midl__iholder0006: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3737 fn UntrackResourceS(&self, __midl__iholder0007: *mut u16, __midl__iholder0008: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3738 fn Close(&self) -> ::windows::core::Result<()>;
3739 fn RequestDestroyResource(&self, __midl__iholder0009: usize) -> ::windows::core::Result<()>;
3740}
3741#[cfg(feature = "Win32_Foundation")]
3742impl ::windows::core::RuntimeName for IHolder {}
3743#[cfg(feature = "Win32_Foundation")]
3744impl IHolder_Vtbl {
3745 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>() -> IHolder_Vtbl {
3746 unsafe extern "system" fn AllocResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0000: usize, __midl__iholder0001: *mut usize) -> ::windows::core::HRESULT {
3747 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3748 let this = (*this).get_impl();
3749 this.AllocResource(::core::mem::transmute_copy(&__midl__iholder0000), ::core::mem::transmute_copy(&__midl__iholder0001)).into()
3750 }
3751 unsafe extern "system" fn FreeResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0002: usize) -> ::windows::core::HRESULT {
3752 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3753 let this = (*this).get_impl();
3754 this.FreeResource(::core::mem::transmute_copy(&__midl__iholder0002)).into()
3755 }
3756 unsafe extern "system" fn TrackResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0003: usize) -> ::windows::core::HRESULT {
3757 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3758 let this = (*this).get_impl();
3759 this.TrackResource(::core::mem::transmute_copy(&__midl__iholder0003)).into()
3760 }
3761 unsafe extern "system" fn TrackResourceS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0004: *mut u16) -> ::windows::core::HRESULT {
3762 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3763 let this = (*this).get_impl();
3764 this.TrackResourceS(::core::mem::transmute_copy(&__midl__iholder0004)).into()
3765 }
3766 unsafe extern "system" fn UntrackResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0005: usize, __midl__iholder0006: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
3767 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3768 let this = (*this).get_impl();
3769 this.UntrackResource(::core::mem::transmute_copy(&__midl__iholder0005), ::core::mem::transmute_copy(&__midl__iholder0006)).into()
3770 }
3771 unsafe extern "system" fn UntrackResourceS<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0007: *mut u16, __midl__iholder0008: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
3772 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3773 let this = (*this).get_impl();
3774 this.UntrackResourceS(::core::mem::transmute_copy(&__midl__iholder0007), ::core::mem::transmute_copy(&__midl__iholder0008)).into()
3775 }
3776 unsafe extern "system" fn Close<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3777 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3778 let this = (*this).get_impl();
3779 this.Close().into()
3780 }
3781 unsafe extern "system" fn RequestDestroyResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__iholder0009: usize) -> ::windows::core::HRESULT {
3782 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3783 let this = (*this).get_impl();
3784 this.RequestDestroyResource(::core::mem::transmute_copy(&__midl__iholder0009)).into()
3785 }
3786 Self {
3787 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3788 AllocResource: AllocResource::<Identity, Impl, OFFSET>,
3789 FreeResource: FreeResource::<Identity, Impl, OFFSET>,
3790 TrackResource: TrackResource::<Identity, Impl, OFFSET>,
3791 TrackResourceS: TrackResourceS::<Identity, Impl, OFFSET>,
3792 UntrackResource: UntrackResource::<Identity, Impl, OFFSET>,
3793 UntrackResourceS: UntrackResourceS::<Identity, Impl, OFFSET>,
3794 Close: Close::<Identity, Impl, OFFSET>,
3795 RequestDestroyResource: RequestDestroyResource::<Identity, Impl, OFFSET>,
3796 }
3797 }
3798 pub fn matches(iid: &windows::core::GUID) -> bool {
3799 iid == &<IHolder as ::windows::core::ComInterface>::IID
3800 }
3801}
3802#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3803#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3804pub trait ILBEvents_Impl: Sized {
3805 fn TargetUp(&self, bstrservername: &::windows::core::BSTR, bstrclsideng: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3806 fn TargetDown(&self, bstrservername: &::windows::core::BSTR, bstrclsideng: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3807 fn EngineDefined(&self, bstrpropname: &::windows::core::BSTR, varpropvalue: *const super::Com::VARIANT, bstrclsideng: &::windows::core::BSTR) -> ::windows::core::Result<()>;
3808}
3809#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3810impl ::windows::core::RuntimeName for ILBEvents {}
3811#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3812impl ILBEvents_Vtbl {
3813 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILBEvents_Impl, const OFFSET: isize>() -> ILBEvents_Vtbl {
3814 unsafe extern "system" fn TargetUp<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILBEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrclsideng: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3815 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3816 let this = (*this).get_impl();
3817 this.TargetUp(::core::mem::transmute(&bstrservername), ::core::mem::transmute(&bstrclsideng)).into()
3818 }
3819 unsafe extern "system" fn TargetDown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILBEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrservername: ::std::mem::MaybeUninit<::windows::core::BSTR>, bstrclsideng: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3820 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3821 let this = (*this).get_impl();
3822 this.TargetDown(::core::mem::transmute(&bstrservername), ::core::mem::transmute(&bstrclsideng)).into()
3823 }
3824 unsafe extern "system" fn EngineDefined<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ILBEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrpropname: ::std::mem::MaybeUninit<::windows::core::BSTR>, varpropvalue: *const super::Com::VARIANT, bstrclsideng: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
3825 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3826 let this = (*this).get_impl();
3827 this.EngineDefined(::core::mem::transmute(&bstrpropname), ::core::mem::transmute_copy(&varpropvalue), ::core::mem::transmute(&bstrclsideng)).into()
3828 }
3829 Self {
3830 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3831 TargetUp: TargetUp::<Identity, Impl, OFFSET>,
3832 TargetDown: TargetDown::<Identity, Impl, OFFSET>,
3833 EngineDefined: EngineDefined::<Identity, Impl, OFFSET>,
3834 }
3835 }
3836 pub fn matches(iid: &windows::core::GUID) -> bool {
3837 iid == &<ILBEvents as ::windows::core::ComInterface>::IID
3838 }
3839}
3840#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
3841pub trait IMTSActivity_Impl: Sized {
3842 fn SynchronousCall(&self, pcall: ::core::option::Option<&IMTSCall>) -> ::windows::core::Result<()>;
3843 fn AsyncCall(&self, pcall: ::core::option::Option<&IMTSCall>) -> ::windows::core::Result<()>;
3844 fn Reserved1(&self);
3845 fn BindToCurrentThread(&self) -> ::windows::core::Result<()>;
3846 fn UnbindFromThread(&self) -> ::windows::core::Result<()>;
3847}
3848impl ::windows::core::RuntimeName for IMTSActivity {}
3849impl IMTSActivity_Vtbl {
3850 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSActivity_Impl, const OFFSET: isize>() -> IMTSActivity_Vtbl {
3851 unsafe extern "system" fn SynchronousCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcall: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3852 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3853 let this = (*this).get_impl();
3854 this.SynchronousCall(::windows::core::from_raw_borrowed(&pcall)).into()
3855 }
3856 unsafe extern "system" fn AsyncCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pcall: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3857 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3858 let this = (*this).get_impl();
3859 this.AsyncCall(::windows::core::from_raw_borrowed(&pcall)).into()
3860 }
3861 unsafe extern "system" fn Reserved1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
3862 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3863 let this = (*this).get_impl();
3864 this.Reserved1()
3865 }
3866 unsafe extern "system" fn BindToCurrentThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3867 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3868 let this = (*this).get_impl();
3869 this.BindToCurrentThread().into()
3870 }
3871 unsafe extern "system" fn UnbindFromThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3872 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3873 let this = (*this).get_impl();
3874 this.UnbindFromThread().into()
3875 }
3876 Self {
3877 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3878 SynchronousCall: SynchronousCall::<Identity, Impl, OFFSET>,
3879 AsyncCall: AsyncCall::<Identity, Impl, OFFSET>,
3880 Reserved1: Reserved1::<Identity, Impl, OFFSET>,
3881 BindToCurrentThread: BindToCurrentThread::<Identity, Impl, OFFSET>,
3882 UnbindFromThread: UnbindFromThread::<Identity, Impl, OFFSET>,
3883 }
3884 }
3885 pub fn matches(iid: &windows::core::GUID) -> bool {
3886 iid == &<IMTSActivity as ::windows::core::ComInterface>::IID
3887 }
3888}
3889#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
3890pub trait IMTSCall_Impl: Sized {
3891 fn OnCall(&self) -> ::windows::core::Result<()>;
3892}
3893impl ::windows::core::RuntimeName for IMTSCall {}
3894impl IMTSCall_Vtbl {
3895 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSCall_Impl, const OFFSET: isize>() -> IMTSCall_Vtbl {
3896 unsafe extern "system" fn OnCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSCall_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3897 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3898 let this = (*this).get_impl();
3899 this.OnCall().into()
3900 }
3901 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnCall: OnCall::<Identity, Impl, OFFSET> }
3902 }
3903 pub fn matches(iid: &windows::core::GUID) -> bool {
3904 iid == &<IMTSCall as ::windows::core::ComInterface>::IID
3905 }
3906}
3907#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
3908#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3909pub trait IMTSLocator_Impl: Sized + super::Com::IDispatch_Impl {
3910 fn GetEventDispatcher(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
3911}
3912#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3913impl ::windows::core::RuntimeName for IMTSLocator {}
3914#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3915impl IMTSLocator_Vtbl {
3916 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSLocator_Impl, const OFFSET: isize>() -> IMTSLocator_Vtbl {
3917 unsafe extern "system" fn GetEventDispatcher<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMTSLocator_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3918 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3919 let this = (*this).get_impl();
3920 match this.GetEventDispatcher() {
3921 ::core::result::Result::Ok(ok__) => {
3922 ::core::ptr::write(punk, ::core::mem::transmute(ok__));
3923 ::windows::core::HRESULT(0)
3924 }
3925 ::core::result::Result::Err(err) => err.into(),
3926 }
3927 }
3928 Self { base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), GetEventDispatcher: GetEventDispatcher::<Identity, Impl, OFFSET> }
3929 }
3930 pub fn matches(iid: &windows::core::GUID) -> bool {
3931 iid == &<IMTSLocator as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
3932 }
3933}
3934#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3935#[cfg(feature = "Win32_Foundation")]
3936pub trait IManagedActivationEvents_Impl: Sized {
3937 fn CreateManagedStub(&self, pinfo: ::core::option::Option<&IManagedObjectInfo>, fdist: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3938 fn DestroyManagedStub(&self, pinfo: ::core::option::Option<&IManagedObjectInfo>) -> ::windows::core::Result<()>;
3939}
3940#[cfg(feature = "Win32_Foundation")]
3941impl ::windows::core::RuntimeName for IManagedActivationEvents {}
3942#[cfg(feature = "Win32_Foundation")]
3943impl IManagedActivationEvents_Vtbl {
3944 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedActivationEvents_Impl, const OFFSET: isize>() -> IManagedActivationEvents_Vtbl {
3945 unsafe extern "system" fn CreateManagedStub<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedActivationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *mut ::core::ffi::c_void, fdist: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
3946 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3947 let this = (*this).get_impl();
3948 this.CreateManagedStub(::windows::core::from_raw_borrowed(&pinfo), ::core::mem::transmute_copy(&fdist)).into()
3949 }
3950 unsafe extern "system" fn DestroyManagedStub<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedActivationEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pinfo: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3951 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3952 let this = (*this).get_impl();
3953 this.DestroyManagedStub(::windows::core::from_raw_borrowed(&pinfo)).into()
3954 }
3955 Self {
3956 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
3957 CreateManagedStub: CreateManagedStub::<Identity, Impl, OFFSET>,
3958 DestroyManagedStub: DestroyManagedStub::<Identity, Impl, OFFSET>,
3959 }
3960 }
3961 pub fn matches(iid: &windows::core::GUID) -> bool {
3962 iid == &<IManagedActivationEvents as ::windows::core::ComInterface>::IID
3963 }
3964}
3965#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
3966#[cfg(feature = "Win32_Foundation")]
3967pub trait IManagedObjectInfo_Impl: Sized {
3968 fn GetIUnknown(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
3969 fn GetIObjectControl(&self) -> ::windows::core::Result<IObjectControl>;
3970 fn SetInPool(&self, binpool: super::super::Foundation::BOOL, ppooledobj: ::core::option::Option<&IManagedPooledObj>) -> ::windows::core::Result<()>;
3971 fn SetWrapperStrength(&self, bstrong: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
3972}
3973#[cfg(feature = "Win32_Foundation")]
3974impl ::windows::core::RuntimeName for IManagedObjectInfo {}
3975#[cfg(feature = "Win32_Foundation")]
3976impl IManagedObjectInfo_Vtbl {
3977 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedObjectInfo_Impl, const OFFSET: isize>() -> IManagedObjectInfo_Vtbl {
3978 unsafe extern "system" fn GetIUnknown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedObjectInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3979 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3980 let this = (*this).get_impl();
3981 match this.GetIUnknown() {
3982 ::core::result::Result::Ok(ok__) => {
3983 ::core::ptr::write(punk, ::core::mem::transmute(ok__));
3984 ::windows::core::HRESULT(0)
3985 }
3986 ::core::result::Result::Err(err) => err.into(),
3987 }
3988 }
3989 unsafe extern "system" fn GetIObjectControl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedObjectInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pctrl: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
3990 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
3991 let this = (*this).get_impl();
3992 match this.GetIObjectControl() {
3993 ::core::result::Result::Ok(ok__) => {
3994 ::core::ptr::write(pctrl, ::core::mem::transmute(ok__));
3995 ::windows::core::HRESULT(0)
3996 }
3997 ::core::result::Result::Err(err) => err.into(),
3998 }
3999 }
4000 unsafe extern "system" fn SetInPool<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedObjectInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, binpool: super::super::Foundation::BOOL, ppooledobj: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4001 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4002 let this = (*this).get_impl();
4003 this.SetInPool(::core::mem::transmute_copy(&binpool), ::windows::core::from_raw_borrowed(&ppooledobj)).into()
4004 }
4005 unsafe extern "system" fn SetWrapperStrength<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedObjectInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrong: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
4006 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4007 let this = (*this).get_impl();
4008 this.SetWrapperStrength(::core::mem::transmute_copy(&bstrong)).into()
4009 }
4010 Self {
4011 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4012 GetIUnknown: GetIUnknown::<Identity, Impl, OFFSET>,
4013 GetIObjectControl: GetIObjectControl::<Identity, Impl, OFFSET>,
4014 SetInPool: SetInPool::<Identity, Impl, OFFSET>,
4015 SetWrapperStrength: SetWrapperStrength::<Identity, Impl, OFFSET>,
4016 }
4017 }
4018 pub fn matches(iid: &windows::core::GUID) -> bool {
4019 iid == &<IManagedObjectInfo as ::windows::core::ComInterface>::IID
4020 }
4021}
4022#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
4023pub trait IManagedPoolAction_Impl: Sized {
4024 fn LastRelease(&self) -> ::windows::core::Result<()>;
4025}
4026impl ::windows::core::RuntimeName for IManagedPoolAction {}
4027impl IManagedPoolAction_Vtbl {
4028 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedPoolAction_Impl, const OFFSET: isize>() -> IManagedPoolAction_Vtbl {
4029 unsafe extern "system" fn LastRelease<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedPoolAction_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4030 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4031 let this = (*this).get_impl();
4032 this.LastRelease().into()
4033 }
4034 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), LastRelease: LastRelease::<Identity, Impl, OFFSET> }
4035 }
4036 pub fn matches(iid: &windows::core::GUID) -> bool {
4037 iid == &<IManagedPoolAction as ::windows::core::ComInterface>::IID
4038 }
4039}
4040#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4041#[cfg(feature = "Win32_Foundation")]
4042pub trait IManagedPooledObj_Impl: Sized {
4043 fn SetHeld(&self, m_bheld: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
4044}
4045#[cfg(feature = "Win32_Foundation")]
4046impl ::windows::core::RuntimeName for IManagedPooledObj {}
4047#[cfg(feature = "Win32_Foundation")]
4048impl IManagedPooledObj_Vtbl {
4049 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedPooledObj_Impl, const OFFSET: isize>() -> IManagedPooledObj_Vtbl {
4050 unsafe extern "system" fn SetHeld<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IManagedPooledObj_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, m_bheld: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
4051 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4052 let this = (*this).get_impl();
4053 this.SetHeld(::core::mem::transmute_copy(&m_bheld)).into()
4054 }
4055 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), SetHeld: SetHeld::<Identity, Impl, OFFSET> }
4056 }
4057 pub fn matches(iid: &windows::core::GUID) -> bool {
4058 iid == &<IManagedPooledObj as ::windows::core::ComInterface>::IID
4059 }
4060}
4061#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4062#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4063pub trait IMessageMover_Impl: Sized + super::Com::IDispatch_Impl {
4064 fn SourcePath(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4065 fn SetSourcePath(&self, newval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4066 fn DestPath(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4067 fn SetDestPath(&self, newval: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4068 fn CommitBatchSize(&self) -> ::windows::core::Result<i32>;
4069 fn SetCommitBatchSize(&self, newval: i32) -> ::windows::core::Result<()>;
4070 fn MoveMessages(&self) -> ::windows::core::Result<i32>;
4071}
4072#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4073impl ::windows::core::RuntimeName for IMessageMover {}
4074#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4075impl IMessageMover_Vtbl {
4076 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>() -> IMessageMover_Vtbl {
4077 unsafe extern "system" fn SourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4078 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4079 let this = (*this).get_impl();
4080 match this.SourcePath() {
4081 ::core::result::Result::Ok(ok__) => {
4082 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4083 ::windows::core::HRESULT(0)
4084 }
4085 ::core::result::Result::Err(err) => err.into(),
4086 }
4087 }
4088 unsafe extern "system" fn SetSourcePath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4089 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4090 let this = (*this).get_impl();
4091 this.SetSourcePath(::core::mem::transmute(&newval)).into()
4092 }
4093 unsafe extern "system" fn DestPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4094 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4095 let this = (*this).get_impl();
4096 match this.DestPath() {
4097 ::core::result::Result::Ok(ok__) => {
4098 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4099 ::windows::core::HRESULT(0)
4100 }
4101 ::core::result::Result::Err(err) => err.into(),
4102 }
4103 }
4104 unsafe extern "system" fn SetDestPath<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4105 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4106 let this = (*this).get_impl();
4107 this.SetDestPath(::core::mem::transmute(&newval)).into()
4108 }
4109 unsafe extern "system" fn CommitBatchSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
4110 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4111 let this = (*this).get_impl();
4112 match this.CommitBatchSize() {
4113 ::core::result::Result::Ok(ok__) => {
4114 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4115 ::windows::core::HRESULT(0)
4116 }
4117 ::core::result::Result::Err(err) => err.into(),
4118 }
4119 }
4120 unsafe extern "system" fn SetCommitBatchSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, newval: i32) -> ::windows::core::HRESULT {
4121 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4122 let this = (*this).get_impl();
4123 this.SetCommitBatchSize(::core::mem::transmute_copy(&newval)).into()
4124 }
4125 unsafe extern "system" fn MoveMessages<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMessageMover_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plmessagesmoved: *mut i32) -> ::windows::core::HRESULT {
4126 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4127 let this = (*this).get_impl();
4128 match this.MoveMessages() {
4129 ::core::result::Result::Ok(ok__) => {
4130 ::core::ptr::write(plmessagesmoved, ::core::mem::transmute(ok__));
4131 ::windows::core::HRESULT(0)
4132 }
4133 ::core::result::Result::Err(err) => err.into(),
4134 }
4135 }
4136 Self {
4137 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4138 SourcePath: SourcePath::<Identity, Impl, OFFSET>,
4139 SetSourcePath: SetSourcePath::<Identity, Impl, OFFSET>,
4140 DestPath: DestPath::<Identity, Impl, OFFSET>,
4141 SetDestPath: SetDestPath::<Identity, Impl, OFFSET>,
4142 CommitBatchSize: CommitBatchSize::<Identity, Impl, OFFSET>,
4143 SetCommitBatchSize: SetCommitBatchSize::<Identity, Impl, OFFSET>,
4144 MoveMessages: MoveMessages::<Identity, Impl, OFFSET>,
4145 }
4146 }
4147 pub fn matches(iid: &windows::core::GUID) -> bool {
4148 iid == &<IMessageMover as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4149 }
4150}
4151#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4152#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4153pub trait IMtsEventInfo_Impl: Sized + super::Com::IDispatch_Impl {
4154 fn Names(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4155 fn DisplayName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4156 fn EventID(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4157 fn Count(&self) -> ::windows::core::Result<i32>;
4158 fn get_Value(&self, skey: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
4159}
4160#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4161impl ::windows::core::RuntimeName for IMtsEventInfo {}
4162#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4163impl IMtsEventInfo_Vtbl {
4164 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEventInfo_Impl, const OFFSET: isize>() -> IMtsEventInfo_Vtbl {
4165 unsafe extern "system" fn Names<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEventInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4166 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4167 let this = (*this).get_impl();
4168 match this.Names() {
4169 ::core::result::Result::Ok(ok__) => {
4170 ::core::ptr::write(punk, ::core::mem::transmute(ok__));
4171 ::windows::core::HRESULT(0)
4172 }
4173 ::core::result::Result::Err(err) => err.into(),
4174 }
4175 }
4176 unsafe extern "system" fn DisplayName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEventInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sdisplayname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4177 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4178 let this = (*this).get_impl();
4179 match this.DisplayName() {
4180 ::core::result::Result::Ok(ok__) => {
4181 ::core::ptr::write(sdisplayname, ::core::mem::transmute(ok__));
4182 ::windows::core::HRESULT(0)
4183 }
4184 ::core::result::Result::Err(err) => err.into(),
4185 }
4186 }
4187 unsafe extern "system" fn EventID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEventInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sguideventid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4188 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4189 let this = (*this).get_impl();
4190 match this.EventID() {
4191 ::core::result::Result::Ok(ok__) => {
4192 ::core::ptr::write(sguideventid, ::core::mem::transmute(ok__));
4193 ::windows::core::HRESULT(0)
4194 }
4195 ::core::result::Result::Err(err) => err.into(),
4196 }
4197 }
4198 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEventInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcount: *mut i32) -> ::windows::core::HRESULT {
4199 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4200 let this = (*this).get_impl();
4201 match this.Count() {
4202 ::core::result::Result::Ok(ok__) => {
4203 ::core::ptr::write(lcount, ::core::mem::transmute(ok__));
4204 ::windows::core::HRESULT(0)
4205 }
4206 ::core::result::Result::Err(err) => err.into(),
4207 }
4208 }
4209 unsafe extern "system" fn get_Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEventInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, skey: ::std::mem::MaybeUninit<::windows::core::BSTR>, pval: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
4210 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4211 let this = (*this).get_impl();
4212 match this.get_Value(::core::mem::transmute(&skey)) {
4213 ::core::result::Result::Ok(ok__) => {
4214 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4215 ::windows::core::HRESULT(0)
4216 }
4217 ::core::result::Result::Err(err) => err.into(),
4218 }
4219 }
4220 Self {
4221 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4222 Names: Names::<Identity, Impl, OFFSET>,
4223 DisplayName: DisplayName::<Identity, Impl, OFFSET>,
4224 EventID: EventID::<Identity, Impl, OFFSET>,
4225 Count: Count::<Identity, Impl, OFFSET>,
4226 get_Value: get_Value::<Identity, Impl, OFFSET>,
4227 }
4228 }
4229 pub fn matches(iid: &windows::core::GUID) -> bool {
4230 iid == &<IMtsEventInfo as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4231 }
4232}
4233#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4234#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4235pub trait IMtsEvents_Impl: Sized + super::Com::IDispatch_Impl {
4236 fn PackageName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4237 fn PackageGuid(&self) -> ::windows::core::Result<::windows::core::BSTR>;
4238 fn PostEvent(&self, vevent: *const super::Com::VARIANT) -> ::windows::core::Result<()>;
4239 fn FireEvents(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
4240 fn GetProcessID(&self) -> ::windows::core::Result<i32>;
4241}
4242#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4243impl ::windows::core::RuntimeName for IMtsEvents {}
4244#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4245impl IMtsEvents_Vtbl {
4246 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEvents_Impl, const OFFSET: isize>() -> IMtsEvents_Vtbl {
4247 unsafe extern "system" fn PackageName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4248 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4249 let this = (*this).get_impl();
4250 match this.PackageName() {
4251 ::core::result::Result::Ok(ok__) => {
4252 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4253 ::windows::core::HRESULT(0)
4254 }
4255 ::core::result::Result::Err(err) => err.into(),
4256 }
4257 }
4258 unsafe extern "system" fn PackageGuid<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4259 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4260 let this = (*this).get_impl();
4261 match this.PackageGuid() {
4262 ::core::result::Result::Ok(ok__) => {
4263 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4264 ::windows::core::HRESULT(0)
4265 }
4266 ::core::result::Result::Err(err) => err.into(),
4267 }
4268 }
4269 unsafe extern "system" fn PostEvent<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, vevent: *const super::Com::VARIANT) -> ::windows::core::HRESULT {
4270 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4271 let this = (*this).get_impl();
4272 this.PostEvent(::core::mem::transmute_copy(&vevent)).into()
4273 }
4274 unsafe extern "system" fn FireEvents<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4275 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4276 let this = (*this).get_impl();
4277 match this.FireEvents() {
4278 ::core::result::Result::Ok(ok__) => {
4279 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4280 ::windows::core::HRESULT(0)
4281 }
4282 ::core::result::Result::Err(err) => err.into(),
4283 }
4284 }
4285 unsafe extern "system" fn GetProcessID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows::core::HRESULT {
4286 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4287 let this = (*this).get_impl();
4288 match this.GetProcessID() {
4289 ::core::result::Result::Ok(ok__) => {
4290 ::core::ptr::write(id, ::core::mem::transmute(ok__));
4291 ::windows::core::HRESULT(0)
4292 }
4293 ::core::result::Result::Err(err) => err.into(),
4294 }
4295 }
4296 Self {
4297 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4298 PackageName: PackageName::<Identity, Impl, OFFSET>,
4299 PackageGuid: PackageGuid::<Identity, Impl, OFFSET>,
4300 PostEvent: PostEvent::<Identity, Impl, OFFSET>,
4301 FireEvents: FireEvents::<Identity, Impl, OFFSET>,
4302 GetProcessID: GetProcessID::<Identity, Impl, OFFSET>,
4303 }
4304 }
4305 pub fn matches(iid: &windows::core::GUID) -> bool {
4306 iid == &<IMtsEvents as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4307 }
4308}
4309#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4310#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4311pub trait IMtsGrp_Impl: Sized + super::Com::IDispatch_Impl {
4312 fn Count(&self) -> ::windows::core::Result<i32>;
4313 fn Item(&self, lindex: i32) -> ::windows::core::Result<::windows::core::IUnknown>;
4314 fn Refresh(&self) -> ::windows::core::Result<()>;
4315}
4316#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4317impl ::windows::core::RuntimeName for IMtsGrp {}
4318#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4319impl IMtsGrp_Vtbl {
4320 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsGrp_Impl, const OFFSET: isize>() -> IMtsGrp_Vtbl {
4321 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsGrp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut i32) -> ::windows::core::HRESULT {
4322 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4323 let this = (*this).get_impl();
4324 match this.Count() {
4325 ::core::result::Result::Ok(ok__) => {
4326 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
4327 ::windows::core::HRESULT(0)
4328 }
4329 ::core::result::Result::Err(err) => err.into(),
4330 }
4331 }
4332 unsafe extern "system" fn Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsGrp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, ppunkdispatcher: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4333 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4334 let this = (*this).get_impl();
4335 match this.Item(::core::mem::transmute_copy(&lindex)) {
4336 ::core::result::Result::Ok(ok__) => {
4337 ::core::ptr::write(ppunkdispatcher, ::core::mem::transmute(ok__));
4338 ::windows::core::HRESULT(0)
4339 }
4340 ::core::result::Result::Err(err) => err.into(),
4341 }
4342 }
4343 unsafe extern "system" fn Refresh<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IMtsGrp_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4344 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4345 let this = (*this).get_impl();
4346 this.Refresh().into()
4347 }
4348 Self {
4349 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4350 Count: Count::<Identity, Impl, OFFSET>,
4351 Item: Item::<Identity, Impl, OFFSET>,
4352 Refresh: Refresh::<Identity, Impl, OFFSET>,
4353 }
4354 }
4355 pub fn matches(iid: &windows::core::GUID) -> bool {
4356 iid == &<IMtsGrp as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4357 }
4358}
4359#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
4360pub trait IObjPool_Impl: Sized {
4361 fn Reserved1(&self);
4362 fn Reserved2(&self);
4363 fn Reserved3(&self);
4364 fn Reserved4(&self);
4365 fn PutEndTx(&self, pobj: ::core::option::Option<&::windows::core::IUnknown>);
4366 fn Reserved5(&self);
4367 fn Reserved6(&self);
4368}
4369impl ::windows::core::RuntimeName for IObjPool {}
4370impl IObjPool_Vtbl {
4371 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>() -> IObjPool_Vtbl {
4372 unsafe extern "system" fn Reserved1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4373 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4374 let this = (*this).get_impl();
4375 this.Reserved1()
4376 }
4377 unsafe extern "system" fn Reserved2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4378 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4379 let this = (*this).get_impl();
4380 this.Reserved2()
4381 }
4382 unsafe extern "system" fn Reserved3<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4383 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4384 let this = (*this).get_impl();
4385 this.Reserved3()
4386 }
4387 unsafe extern "system" fn Reserved4<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4388 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4389 let this = (*this).get_impl();
4390 this.Reserved4()
4391 }
4392 unsafe extern "system" fn PutEndTx<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pobj: *mut ::core::ffi::c_void) {
4393 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4394 let this = (*this).get_impl();
4395 this.PutEndTx(::windows::core::from_raw_borrowed(&pobj))
4396 }
4397 unsafe extern "system" fn Reserved5<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4398 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4399 let this = (*this).get_impl();
4400 this.Reserved5()
4401 }
4402 unsafe extern "system" fn Reserved6<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjPool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4403 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4404 let this = (*this).get_impl();
4405 this.Reserved6()
4406 }
4407 Self {
4408 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4409 Reserved1: Reserved1::<Identity, Impl, OFFSET>,
4410 Reserved2: Reserved2::<Identity, Impl, OFFSET>,
4411 Reserved3: Reserved3::<Identity, Impl, OFFSET>,
4412 Reserved4: Reserved4::<Identity, Impl, OFFSET>,
4413 PutEndTx: PutEndTx::<Identity, Impl, OFFSET>,
4414 Reserved5: Reserved5::<Identity, Impl, OFFSET>,
4415 Reserved6: Reserved6::<Identity, Impl, OFFSET>,
4416 }
4417 }
4418 pub fn matches(iid: &windows::core::GUID) -> bool {
4419 iid == &<IObjPool as ::windows::core::ComInterface>::IID
4420 }
4421}
4422#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
4423#[cfg(feature = "Win32_System_Com")]
4424pub trait IObjectConstruct_Impl: Sized {
4425 fn Construct(&self, pctorobj: ::core::option::Option<&super::Com::IDispatch>) -> ::windows::core::Result<()>;
4426}
4427#[cfg(feature = "Win32_System_Com")]
4428impl ::windows::core::RuntimeName for IObjectConstruct {}
4429#[cfg(feature = "Win32_System_Com")]
4430impl IObjectConstruct_Vtbl {
4431 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectConstruct_Impl, const OFFSET: isize>() -> IObjectConstruct_Vtbl {
4432 unsafe extern "system" fn Construct<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectConstruct_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pctorobj: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4433 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4434 let this = (*this).get_impl();
4435 this.Construct(::windows::core::from_raw_borrowed(&pctorobj)).into()
4436 }
4437 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), Construct: Construct::<Identity, Impl, OFFSET> }
4438 }
4439 pub fn matches(iid: &windows::core::GUID) -> bool {
4440 iid == &<IObjectConstruct as ::windows::core::ComInterface>::IID
4441 }
4442}
4443#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4444#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4445pub trait IObjectConstructString_Impl: Sized + super::Com::IDispatch_Impl {
4446 fn ConstructString(&self, pval: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4447}
4448#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4449impl ::windows::core::RuntimeName for IObjectConstructString {}
4450#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4451impl IObjectConstructString_Vtbl {
4452 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectConstructString_Impl, const OFFSET: isize>() -> IObjectConstructString_Vtbl {
4453 unsafe extern "system" fn ConstructString<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectConstructString_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4454 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4455 let this = (*this).get_impl();
4456 this.ConstructString(::core::mem::transmute_copy(&pval)).into()
4457 }
4458 Self { base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), ConstructString: ConstructString::<Identity, Impl, OFFSET> }
4459 }
4460 pub fn matches(iid: &windows::core::GUID) -> bool {
4461 iid == &<IObjectConstructString as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4462 }
4463}
4464#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4465#[cfg(feature = "Win32_Foundation")]
4466pub trait IObjectContext_Impl: Sized {
4467 fn CreateInstance(&self, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
4468 fn SetComplete(&self) -> ::windows::core::Result<()>;
4469 fn SetAbort(&self) -> ::windows::core::Result<()>;
4470 fn EnableCommit(&self) -> ::windows::core::Result<()>;
4471 fn DisableCommit(&self) -> ::windows::core::Result<()>;
4472 fn IsInTransaction(&self) -> super::super::Foundation::BOOL;
4473 fn IsSecurityEnabled(&self) -> super::super::Foundation::BOOL;
4474 fn IsCallerInRole(&self, bstrrole: &::windows::core::BSTR, pfisinrole: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
4475}
4476#[cfg(feature = "Win32_Foundation")]
4477impl ::windows::core::RuntimeName for IObjectContext {}
4478#[cfg(feature = "Win32_Foundation")]
4479impl IObjectContext_Vtbl {
4480 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>() -> IObjectContext_Vtbl {
4481 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4482 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4483 let this = (*this).get_impl();
4484 this.CreateInstance(::core::mem::transmute_copy(&rclsid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
4485 }
4486 unsafe extern "system" fn SetComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4487 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4488 let this = (*this).get_impl();
4489 this.SetComplete().into()
4490 }
4491 unsafe extern "system" fn SetAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4492 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4493 let this = (*this).get_impl();
4494 this.SetAbort().into()
4495 }
4496 unsafe extern "system" fn EnableCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4497 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4498 let this = (*this).get_impl();
4499 this.EnableCommit().into()
4500 }
4501 unsafe extern "system" fn DisableCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4502 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4503 let this = (*this).get_impl();
4504 this.DisableCommit().into()
4505 }
4506 unsafe extern "system" fn IsInTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
4507 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4508 let this = (*this).get_impl();
4509 this.IsInTransaction()
4510 }
4511 unsafe extern "system" fn IsSecurityEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
4512 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4513 let this = (*this).get_impl();
4514 this.IsSecurityEnabled()
4515 }
4516 unsafe extern "system" fn IsCallerInRole<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrrole: ::std::mem::MaybeUninit<::windows::core::BSTR>, pfisinrole: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
4517 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4518 let this = (*this).get_impl();
4519 this.IsCallerInRole(::core::mem::transmute(&bstrrole), ::core::mem::transmute_copy(&pfisinrole)).into()
4520 }
4521 Self {
4522 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4523 CreateInstance: CreateInstance::<Identity, Impl, OFFSET>,
4524 SetComplete: SetComplete::<Identity, Impl, OFFSET>,
4525 SetAbort: SetAbort::<Identity, Impl, OFFSET>,
4526 EnableCommit: EnableCommit::<Identity, Impl, OFFSET>,
4527 DisableCommit: DisableCommit::<Identity, Impl, OFFSET>,
4528 IsInTransaction: IsInTransaction::<Identity, Impl, OFFSET>,
4529 IsSecurityEnabled: IsSecurityEnabled::<Identity, Impl, OFFSET>,
4530 IsCallerInRole: IsCallerInRole::<Identity, Impl, OFFSET>,
4531 }
4532 }
4533 pub fn matches(iid: &windows::core::GUID) -> bool {
4534 iid == &<IObjectContext as ::windows::core::ComInterface>::IID
4535 }
4536}
4537#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
4538pub trait IObjectContextActivity_Impl: Sized {
4539 fn GetActivityId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4540}
4541impl ::windows::core::RuntimeName for IObjectContextActivity {}
4542impl IObjectContextActivity_Vtbl {
4543 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextActivity_Impl, const OFFSET: isize>() -> IObjectContextActivity_Vtbl {
4544 unsafe extern "system" fn GetActivityId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4545 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4546 let this = (*this).get_impl();
4547 this.GetActivityId(::core::mem::transmute_copy(&pguid)).into()
4548 }
4549 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetActivityId: GetActivityId::<Identity, Impl, OFFSET> }
4550 }
4551 pub fn matches(iid: &windows::core::GUID) -> bool {
4552 iid == &<IObjectContextActivity as ::windows::core::ComInterface>::IID
4553 }
4554}
4555#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4556#[cfg(feature = "Win32_Foundation")]
4557pub trait IObjectContextInfo_Impl: Sized {
4558 fn IsInTransaction(&self) -> super::super::Foundation::BOOL;
4559 fn GetTransaction(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4560 fn GetTransactionId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4561 fn GetActivityId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4562 fn GetContextId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4563}
4564#[cfg(feature = "Win32_Foundation")]
4565impl ::windows::core::RuntimeName for IObjectContextInfo {}
4566#[cfg(feature = "Win32_Foundation")]
4567impl IObjectContextInfo_Vtbl {
4568 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo_Impl, const OFFSET: isize>() -> IObjectContextInfo_Vtbl {
4569 unsafe extern "system" fn IsInTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
4570 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4571 let this = (*this).get_impl();
4572 this.IsInTransaction()
4573 }
4574 unsafe extern "system" fn GetTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptrans: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4575 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4576 let this = (*this).get_impl();
4577 match this.GetTransaction() {
4578 ::core::result::Result::Ok(ok__) => {
4579 ::core::ptr::write(pptrans, ::core::mem::transmute(ok__));
4580 ::windows::core::HRESULT(0)
4581 }
4582 ::core::result::Result::Err(err) => err.into(),
4583 }
4584 }
4585 unsafe extern "system" fn GetTransactionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4586 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4587 let this = (*this).get_impl();
4588 this.GetTransactionId(::core::mem::transmute_copy(&pguid)).into()
4589 }
4590 unsafe extern "system" fn GetActivityId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4591 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4592 let this = (*this).get_impl();
4593 this.GetActivityId(::core::mem::transmute_copy(&pguid)).into()
4594 }
4595 unsafe extern "system" fn GetContextId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4596 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4597 let this = (*this).get_impl();
4598 this.GetContextId(::core::mem::transmute_copy(&pguid)).into()
4599 }
4600 Self {
4601 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4602 IsInTransaction: IsInTransaction::<Identity, Impl, OFFSET>,
4603 GetTransaction: GetTransaction::<Identity, Impl, OFFSET>,
4604 GetTransactionId: GetTransactionId::<Identity, Impl, OFFSET>,
4605 GetActivityId: GetActivityId::<Identity, Impl, OFFSET>,
4606 GetContextId: GetContextId::<Identity, Impl, OFFSET>,
4607 }
4608 }
4609 pub fn matches(iid: &windows::core::GUID) -> bool {
4610 iid == &<IObjectContextInfo as ::windows::core::ComInterface>::IID
4611 }
4612}
4613#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4614#[cfg(feature = "Win32_Foundation")]
4615pub trait IObjectContextInfo2_Impl: Sized + IObjectContextInfo_Impl {
4616 fn GetPartitionId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4617 fn GetApplicationId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4618 fn GetApplicationInstanceId(&self, pguid: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
4619}
4620#[cfg(feature = "Win32_Foundation")]
4621impl ::windows::core::RuntimeName for IObjectContextInfo2 {}
4622#[cfg(feature = "Win32_Foundation")]
4623impl IObjectContextInfo2_Vtbl {
4624 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo2_Impl, const OFFSET: isize>() -> IObjectContextInfo2_Vtbl {
4625 unsafe extern "system" fn GetPartitionId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4626 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4627 let this = (*this).get_impl();
4628 this.GetPartitionId(::core::mem::transmute_copy(&pguid)).into()
4629 }
4630 unsafe extern "system" fn GetApplicationId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4631 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4632 let this = (*this).get_impl();
4633 this.GetApplicationId(::core::mem::transmute_copy(&pguid)).into()
4634 }
4635 unsafe extern "system" fn GetApplicationInstanceId<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextInfo2_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguid: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
4636 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4637 let this = (*this).get_impl();
4638 this.GetApplicationInstanceId(::core::mem::transmute_copy(&pguid)).into()
4639 }
4640 Self {
4641 base__: IObjectContextInfo_Vtbl::new::<Identity, Impl, OFFSET>(),
4642 GetPartitionId: GetPartitionId::<Identity, Impl, OFFSET>,
4643 GetApplicationId: GetApplicationId::<Identity, Impl, OFFSET>,
4644 GetApplicationInstanceId: GetApplicationInstanceId::<Identity, Impl, OFFSET>,
4645 }
4646 }
4647 pub fn matches(iid: &windows::core::GUID) -> bool {
4648 iid == &<IObjectContextInfo2 as ::windows::core::ComInterface>::IID || iid == &<IObjectContextInfo as ::windows::core::ComInterface>::IID
4649 }
4650}
4651#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
4652pub trait IObjectContextTip_Impl: Sized {
4653 fn GetTipUrl(&self, ptipurl: *mut ::windows::core::BSTR) -> ::windows::core::Result<()>;
4654}
4655impl ::windows::core::RuntimeName for IObjectContextTip {}
4656impl IObjectContextTip_Vtbl {
4657 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextTip_Impl, const OFFSET: isize>() -> IObjectContextTip_Vtbl {
4658 unsafe extern "system" fn GetTipUrl<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectContextTip_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptipurl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4659 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4660 let this = (*this).get_impl();
4661 this.GetTipUrl(::core::mem::transmute_copy(&ptipurl)).into()
4662 }
4663 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetTipUrl: GetTipUrl::<Identity, Impl, OFFSET> }
4664 }
4665 pub fn matches(iid: &windows::core::GUID) -> bool {
4666 iid == &<IObjectContextTip as ::windows::core::ComInterface>::IID
4667 }
4668}
4669#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4670#[cfg(feature = "Win32_Foundation")]
4671pub trait IObjectControl_Impl: Sized {
4672 fn Activate(&self) -> ::windows::core::Result<()>;
4673 fn Deactivate(&self);
4674 fn CanBePooled(&self) -> super::super::Foundation::BOOL;
4675}
4676#[cfg(feature = "Win32_Foundation")]
4677impl ::windows::core::RuntimeName for IObjectControl {}
4678#[cfg(feature = "Win32_Foundation")]
4679impl IObjectControl_Vtbl {
4680 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectControl_Impl, const OFFSET: isize>() -> IObjectControl_Vtbl {
4681 unsafe extern "system" fn Activate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4682 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4683 let this = (*this).get_impl();
4684 this.Activate().into()
4685 }
4686 unsafe extern "system" fn Deactivate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
4687 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4688 let this = (*this).get_impl();
4689 this.Deactivate()
4690 }
4691 unsafe extern "system" fn CanBePooled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IObjectControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL {
4692 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4693 let this = (*this).get_impl();
4694 this.CanBePooled()
4695 }
4696 Self {
4697 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4698 Activate: Activate::<Identity, Impl, OFFSET>,
4699 Deactivate: Deactivate::<Identity, Impl, OFFSET>,
4700 CanBePooled: CanBePooled::<Identity, Impl, OFFSET>,
4701 }
4702 }
4703 pub fn matches(iid: &windows::core::GUID) -> bool {
4704 iid == &<IObjectControl as ::windows::core::ComInterface>::IID
4705 }
4706}
4707#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
4708pub trait IPlaybackControl_Impl: Sized {
4709 fn FinalClientRetry(&self) -> ::windows::core::Result<()>;
4710 fn FinalServerRetry(&self) -> ::windows::core::Result<()>;
4711}
4712impl ::windows::core::RuntimeName for IPlaybackControl {}
4713impl IPlaybackControl_Vtbl {
4714 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPlaybackControl_Impl, const OFFSET: isize>() -> IPlaybackControl_Vtbl {
4715 unsafe extern "system" fn FinalClientRetry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPlaybackControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4716 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4717 let this = (*this).get_impl();
4718 this.FinalClientRetry().into()
4719 }
4720 unsafe extern "system" fn FinalServerRetry<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPlaybackControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4721 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4722 let this = (*this).get_impl();
4723 this.FinalServerRetry().into()
4724 }
4725 Self {
4726 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4727 FinalClientRetry: FinalClientRetry::<Identity, Impl, OFFSET>,
4728 FinalServerRetry: FinalServerRetry::<Identity, Impl, OFFSET>,
4729 }
4730 }
4731 pub fn matches(iid: &windows::core::GUID) -> bool {
4732 iid == &<IPlaybackControl as ::windows::core::ComInterface>::IID
4733 }
4734}
4735#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4736#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4737pub trait IPoolManager_Impl: Sized + super::Com::IDispatch_Impl {
4738 fn ShutdownPool(&self, clsidorprogid: &::windows::core::BSTR) -> ::windows::core::Result<()>;
4739}
4740#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4741impl ::windows::core::RuntimeName for IPoolManager {}
4742#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4743impl IPoolManager_Vtbl {
4744 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPoolManager_Impl, const OFFSET: isize>() -> IPoolManager_Vtbl {
4745 unsafe extern "system" fn ShutdownPool<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IPoolManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, clsidorprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
4746 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4747 let this = (*this).get_impl();
4748 this.ShutdownPool(::core::mem::transmute(&clsidorprogid)).into()
4749 }
4750 Self { base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(), ShutdownPool: ShutdownPool::<Identity, Impl, OFFSET> }
4751 }
4752 pub fn matches(iid: &windows::core::GUID) -> bool {
4753 iid == &<IPoolManager as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4754 }
4755}
4756#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
4757pub trait IProcessInitializer_Impl: Sized {
4758 fn Startup(&self, punkprocesscontrol: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
4759 fn Shutdown(&self) -> ::windows::core::Result<()>;
4760}
4761impl ::windows::core::RuntimeName for IProcessInitializer {}
4762impl IProcessInitializer_Vtbl {
4763 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessInitializer_Impl, const OFFSET: isize>() -> IProcessInitializer_Vtbl {
4764 unsafe extern "system" fn Startup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessInitializer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punkprocesscontrol: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4765 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4766 let this = (*this).get_impl();
4767 this.Startup(::windows::core::from_raw_borrowed(&punkprocesscontrol)).into()
4768 }
4769 unsafe extern "system" fn Shutdown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IProcessInitializer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4770 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4771 let this = (*this).get_impl();
4772 this.Shutdown().into()
4773 }
4774 Self {
4775 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
4776 Startup: Startup::<Identity, Impl, OFFSET>,
4777 Shutdown: Shutdown::<Identity, Impl, OFFSET>,
4778 }
4779 }
4780 pub fn matches(iid: &windows::core::GUID) -> bool {
4781 iid == &<IProcessInitializer as ::windows::core::ComInterface>::IID
4782 }
4783}
4784#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4785#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4786pub trait ISecurityCallContext_Impl: Sized + super::Com::IDispatch_Impl {
4787 fn Count(&self) -> ::windows::core::Result<i32>;
4788 fn get_Item(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
4789 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4790 fn IsCallerInRole(&self, bstrrole: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
4791 fn IsSecurityEnabled(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
4792 fn IsUserInRole(&self, puser: *const super::Com::VARIANT, bstrrole: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
4793}
4794#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4795impl ::windows::core::RuntimeName for ISecurityCallContext {}
4796#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4797impl ISecurityCallContext_Vtbl {
4798 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>() -> ISecurityCallContext_Vtbl {
4799 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4800 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4801 let this = (*this).get_impl();
4802 match this.Count() {
4803 ::core::result::Result::Ok(ok__) => {
4804 ::core::ptr::write(plcount, ::core::mem::transmute(ok__));
4805 ::windows::core::HRESULT(0)
4806 }
4807 ::core::result::Result::Err(err) => err.into(),
4808 }
4809 }
4810 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
4811 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4812 let this = (*this).get_impl();
4813 match this.get_Item(::core::mem::transmute(&name)) {
4814 ::core::result::Result::Ok(ok__) => {
4815 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
4816 ::windows::core::HRESULT(0)
4817 }
4818 ::core::result::Result::Err(err) => err.into(),
4819 }
4820 }
4821 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4822 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4823 let this = (*this).get_impl();
4824 match this._NewEnum() {
4825 ::core::result::Result::Ok(ok__) => {
4826 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
4827 ::windows::core::HRESULT(0)
4828 }
4829 ::core::result::Result::Err(err) => err.into(),
4830 }
4831 }
4832 unsafe extern "system" fn IsCallerInRole<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrrole: ::std::mem::MaybeUninit<::windows::core::BSTR>, pfinrole: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4833 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4834 let this = (*this).get_impl();
4835 match this.IsCallerInRole(::core::mem::transmute(&bstrrole)) {
4836 ::core::result::Result::Ok(ok__) => {
4837 ::core::ptr::write(pfinrole, ::core::mem::transmute(ok__));
4838 ::windows::core::HRESULT(0)
4839 }
4840 ::core::result::Result::Err(err) => err.into(),
4841 }
4842 }
4843 unsafe extern "system" fn IsSecurityEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfisenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4844 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4845 let this = (*this).get_impl();
4846 match this.IsSecurityEnabled() {
4847 ::core::result::Result::Ok(ok__) => {
4848 ::core::ptr::write(pfisenabled, ::core::mem::transmute(ok__));
4849 ::windows::core::HRESULT(0)
4850 }
4851 ::core::result::Result::Err(err) => err.into(),
4852 }
4853 }
4854 unsafe extern "system" fn IsUserInRole<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, puser: *const super::Com::VARIANT, bstrrole: ::std::mem::MaybeUninit<::windows::core::BSTR>, pfinrole: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
4855 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4856 let this = (*this).get_impl();
4857 match this.IsUserInRole(::core::mem::transmute_copy(&puser), ::core::mem::transmute(&bstrrole)) {
4858 ::core::result::Result::Ok(ok__) => {
4859 ::core::ptr::write(pfinrole, ::core::mem::transmute(ok__));
4860 ::windows::core::HRESULT(0)
4861 }
4862 ::core::result::Result::Err(err) => err.into(),
4863 }
4864 }
4865 Self {
4866 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4867 Count: Count::<Identity, Impl, OFFSET>,
4868 get_Item: get_Item::<Identity, Impl, OFFSET>,
4869 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
4870 IsCallerInRole: IsCallerInRole::<Identity, Impl, OFFSET>,
4871 IsSecurityEnabled: IsSecurityEnabled::<Identity, Impl, OFFSET>,
4872 IsUserInRole: IsUserInRole::<Identity, Impl, OFFSET>,
4873 }
4874 }
4875 pub fn matches(iid: &windows::core::GUID) -> bool {
4876 iid == &<ISecurityCallContext as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4877 }
4878}
4879#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4880#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4881pub trait ISecurityCallersColl_Impl: Sized + super::Com::IDispatch_Impl {
4882 fn Count(&self) -> ::windows::core::Result<i32>;
4883 fn get_Item(&self, lindex: i32) -> ::windows::core::Result<ISecurityIdentityColl>;
4884 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4885}
4886#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4887impl ::windows::core::RuntimeName for ISecurityCallersColl {}
4888#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4889impl ISecurityCallersColl_Vtbl {
4890 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallersColl_Impl, const OFFSET: isize>() -> ISecurityCallersColl_Vtbl {
4891 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallersColl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4892 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4893 let this = (*this).get_impl();
4894 match this.Count() {
4895 ::core::result::Result::Ok(ok__) => {
4896 ::core::ptr::write(plcount, ::core::mem::transmute(ok__));
4897 ::windows::core::HRESULT(0)
4898 }
4899 ::core::result::Result::Err(err) => err.into(),
4900 }
4901 }
4902 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallersColl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lindex: i32, pobj: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4903 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4904 let this = (*this).get_impl();
4905 match this.get_Item(::core::mem::transmute_copy(&lindex)) {
4906 ::core::result::Result::Ok(ok__) => {
4907 ::core::ptr::write(pobj, ::core::mem::transmute(ok__));
4908 ::windows::core::HRESULT(0)
4909 }
4910 ::core::result::Result::Err(err) => err.into(),
4911 }
4912 }
4913 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityCallersColl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4914 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4915 let this = (*this).get_impl();
4916 match this._NewEnum() {
4917 ::core::result::Result::Ok(ok__) => {
4918 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
4919 ::windows::core::HRESULT(0)
4920 }
4921 ::core::result::Result::Err(err) => err.into(),
4922 }
4923 }
4924 Self {
4925 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4926 Count: Count::<Identity, Impl, OFFSET>,
4927 get_Item: get_Item::<Identity, Impl, OFFSET>,
4928 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
4929 }
4930 }
4931 pub fn matches(iid: &windows::core::GUID) -> bool {
4932 iid == &<ISecurityCallersColl as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4933 }
4934}
4935#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
4936#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4937pub trait ISecurityIdentityColl_Impl: Sized + super::Com::IDispatch_Impl {
4938 fn Count(&self) -> ::windows::core::Result<i32>;
4939 fn get_Item(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
4940 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
4941}
4942#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4943impl ::windows::core::RuntimeName for ISecurityIdentityColl {}
4944#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4945impl ISecurityIdentityColl_Vtbl {
4946 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityIdentityColl_Impl, const OFFSET: isize>() -> ISecurityIdentityColl_Vtbl {
4947 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityIdentityColl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
4948 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4949 let this = (*this).get_impl();
4950 match this.Count() {
4951 ::core::result::Result::Ok(ok__) => {
4952 ::core::ptr::write(plcount, ::core::mem::transmute(ok__));
4953 ::windows::core::HRESULT(0)
4954 }
4955 ::core::result::Result::Err(err) => err.into(),
4956 }
4957 }
4958 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityIdentityColl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
4959 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4960 let this = (*this).get_impl();
4961 match this.get_Item(::core::mem::transmute(&name)) {
4962 ::core::result::Result::Ok(ok__) => {
4963 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
4964 ::windows::core::HRESULT(0)
4965 }
4966 ::core::result::Result::Err(err) => err.into(),
4967 }
4968 }
4969 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityIdentityColl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
4970 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
4971 let this = (*this).get_impl();
4972 match this._NewEnum() {
4973 ::core::result::Result::Ok(ok__) => {
4974 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
4975 ::windows::core::HRESULT(0)
4976 }
4977 ::core::result::Result::Err(err) => err.into(),
4978 }
4979 }
4980 Self {
4981 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
4982 Count: Count::<Identity, Impl, OFFSET>,
4983 get_Item: get_Item::<Identity, Impl, OFFSET>,
4984 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
4985 }
4986 }
4987 pub fn matches(iid: &windows::core::GUID) -> bool {
4988 iid == &<ISecurityIdentityColl as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
4989 }
4990}
4991#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
4992#[cfg(feature = "Win32_Foundation")]
4993pub trait ISecurityProperty_Impl: Sized {
4994 fn GetDirectCreatorSID(&self, psid: *mut super::super::Foundation::PSID) -> ::windows::core::Result<()>;
4995 fn GetOriginalCreatorSID(&self, psid: *mut super::super::Foundation::PSID) -> ::windows::core::Result<()>;
4996 fn GetDirectCallerSID(&self, psid: *mut super::super::Foundation::PSID) -> ::windows::core::Result<()>;
4997 fn GetOriginalCallerSID(&self, psid: *mut super::super::Foundation::PSID) -> ::windows::core::Result<()>;
4998 fn ReleaseSID(&self, psid: super::super::Foundation::PSID) -> ::windows::core::Result<()>;
4999}
5000#[cfg(feature = "Win32_Foundation")]
5001impl ::windows::core::RuntimeName for ISecurityProperty {}
5002#[cfg(feature = "Win32_Foundation")]
5003impl ISecurityProperty_Vtbl {
5004 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityProperty_Impl, const OFFSET: isize>() -> ISecurityProperty_Vtbl {
5005 unsafe extern "system" fn GetDirectCreatorSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psid: *mut super::super::Foundation::PSID) -> ::windows::core::HRESULT {
5006 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5007 let this = (*this).get_impl();
5008 this.GetDirectCreatorSID(::core::mem::transmute_copy(&psid)).into()
5009 }
5010 unsafe extern "system" fn GetOriginalCreatorSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psid: *mut super::super::Foundation::PSID) -> ::windows::core::HRESULT {
5011 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5012 let this = (*this).get_impl();
5013 this.GetOriginalCreatorSID(::core::mem::transmute_copy(&psid)).into()
5014 }
5015 unsafe extern "system" fn GetDirectCallerSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psid: *mut super::super::Foundation::PSID) -> ::windows::core::HRESULT {
5016 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5017 let this = (*this).get_impl();
5018 this.GetDirectCallerSID(::core::mem::transmute_copy(&psid)).into()
5019 }
5020 unsafe extern "system" fn GetOriginalCallerSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psid: *mut super::super::Foundation::PSID) -> ::windows::core::HRESULT {
5021 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5022 let this = (*this).get_impl();
5023 this.GetOriginalCallerSID(::core::mem::transmute_copy(&psid)).into()
5024 }
5025 unsafe extern "system" fn ReleaseSID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, psid: super::super::Foundation::PSID) -> ::windows::core::HRESULT {
5026 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5027 let this = (*this).get_impl();
5028 this.ReleaseSID(::core::mem::transmute_copy(&psid)).into()
5029 }
5030 Self {
5031 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5032 GetDirectCreatorSID: GetDirectCreatorSID::<Identity, Impl, OFFSET>,
5033 GetOriginalCreatorSID: GetOriginalCreatorSID::<Identity, Impl, OFFSET>,
5034 GetDirectCallerSID: GetDirectCallerSID::<Identity, Impl, OFFSET>,
5035 GetOriginalCallerSID: GetOriginalCallerSID::<Identity, Impl, OFFSET>,
5036 ReleaseSID: ReleaseSID::<Identity, Impl, OFFSET>,
5037 }
5038 }
5039 pub fn matches(iid: &windows::core::GUID) -> bool {
5040 iid == &<ISecurityProperty as ::windows::core::ComInterface>::IID
5041 }
5042}
5043#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5044pub trait ISelectCOMLBServer_Impl: Sized {
5045 fn Init(&self) -> ::windows::core::Result<()>;
5046 fn GetLBServer(&self, punk: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
5047}
5048impl ::windows::core::RuntimeName for ISelectCOMLBServer {}
5049impl ISelectCOMLBServer_Vtbl {
5050 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISelectCOMLBServer_Impl, const OFFSET: isize>() -> ISelectCOMLBServer_Vtbl {
5051 unsafe extern "system" fn Init<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISelectCOMLBServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5052 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5053 let this = (*this).get_impl();
5054 this.Init().into()
5055 }
5056 unsafe extern "system" fn GetLBServer<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISelectCOMLBServer_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, punk: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5057 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5058 let this = (*this).get_impl();
5059 this.GetLBServer(::windows::core::from_raw_borrowed(&punk)).into()
5060 }
5061 Self {
5062 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5063 Init: Init::<Identity, Impl, OFFSET>,
5064 GetLBServer: GetLBServer::<Identity, Impl, OFFSET>,
5065 }
5066 }
5067 pub fn matches(iid: &windows::core::GUID) -> bool {
5068 iid == &<ISelectCOMLBServer as ::windows::core::ComInterface>::IID
5069 }
5070}
5071#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5072pub trait ISendMethodEvents_Impl: Sized {
5073 fn SendMethodCall(&self, pidentity: *const ::core::ffi::c_void, riid: *const ::windows::core::GUID, dwmeth: u32) -> ::windows::core::Result<()>;
5074 fn SendMethodReturn(&self, pidentity: *const ::core::ffi::c_void, riid: *const ::windows::core::GUID, dwmeth: u32, hrcall: ::windows::core::HRESULT, hrserver: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
5075}
5076impl ::windows::core::RuntimeName for ISendMethodEvents {}
5077impl ISendMethodEvents_Vtbl {
5078 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISendMethodEvents_Impl, const OFFSET: isize>() -> ISendMethodEvents_Vtbl {
5079 unsafe extern "system" fn SendMethodCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISendMethodEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pidentity: *const ::core::ffi::c_void, riid: *const ::windows::core::GUID, dwmeth: u32) -> ::windows::core::HRESULT {
5080 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5081 let this = (*this).get_impl();
5082 this.SendMethodCall(::core::mem::transmute_copy(&pidentity), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&dwmeth)).into()
5083 }
5084 unsafe extern "system" fn SendMethodReturn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISendMethodEvents_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pidentity: *const ::core::ffi::c_void, riid: *const ::windows::core::GUID, dwmeth: u32, hrcall: ::windows::core::HRESULT, hrserver: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
5085 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5086 let this = (*this).get_impl();
5087 this.SendMethodReturn(::core::mem::transmute_copy(&pidentity), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&dwmeth), ::core::mem::transmute_copy(&hrcall), ::core::mem::transmute_copy(&hrserver)).into()
5088 }
5089 Self {
5090 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5091 SendMethodCall: SendMethodCall::<Identity, Impl, OFFSET>,
5092 SendMethodReturn: SendMethodReturn::<Identity, Impl, OFFSET>,
5093 }
5094 }
5095 pub fn matches(iid: &windows::core::GUID) -> bool {
5096 iid == &<ISendMethodEvents as ::windows::core::ComInterface>::IID
5097 }
5098}
5099#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5100pub trait IServiceActivity_Impl: Sized {
5101 fn SynchronousCall(&self, piservicecall: ::core::option::Option<&IServiceCall>) -> ::windows::core::Result<()>;
5102 fn AsynchronousCall(&self, piservicecall: ::core::option::Option<&IServiceCall>) -> ::windows::core::Result<()>;
5103 fn BindToCurrentThread(&self) -> ::windows::core::Result<()>;
5104 fn UnbindFromThread(&self) -> ::windows::core::Result<()>;
5105}
5106impl ::windows::core::RuntimeName for IServiceActivity {}
5107impl IServiceActivity_Vtbl {
5108 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceActivity_Impl, const OFFSET: isize>() -> IServiceActivity_Vtbl {
5109 unsafe extern "system" fn SynchronousCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piservicecall: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5110 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5111 let this = (*this).get_impl();
5112 this.SynchronousCall(::windows::core::from_raw_borrowed(&piservicecall)).into()
5113 }
5114 unsafe extern "system" fn AsynchronousCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, piservicecall: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5115 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5116 let this = (*this).get_impl();
5117 this.AsynchronousCall(::windows::core::from_raw_borrowed(&piservicecall)).into()
5118 }
5119 unsafe extern "system" fn BindToCurrentThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5120 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5121 let this = (*this).get_impl();
5122 this.BindToCurrentThread().into()
5123 }
5124 unsafe extern "system" fn UnbindFromThread<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceActivity_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5125 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5126 let this = (*this).get_impl();
5127 this.UnbindFromThread().into()
5128 }
5129 Self {
5130 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5131 SynchronousCall: SynchronousCall::<Identity, Impl, OFFSET>,
5132 AsynchronousCall: AsynchronousCall::<Identity, Impl, OFFSET>,
5133 BindToCurrentThread: BindToCurrentThread::<Identity, Impl, OFFSET>,
5134 UnbindFromThread: UnbindFromThread::<Identity, Impl, OFFSET>,
5135 }
5136 }
5137 pub fn matches(iid: &windows::core::GUID) -> bool {
5138 iid == &<IServiceActivity as ::windows::core::ComInterface>::IID
5139 }
5140}
5141#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5142pub trait IServiceCall_Impl: Sized {
5143 fn OnCall(&self) -> ::windows::core::Result<()>;
5144}
5145impl ::windows::core::RuntimeName for IServiceCall {}
5146impl IServiceCall_Vtbl {
5147 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceCall_Impl, const OFFSET: isize>() -> IServiceCall_Vtbl {
5148 unsafe extern "system" fn OnCall<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceCall_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5149 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5150 let this = (*this).get_impl();
5151 this.OnCall().into()
5152 }
5153 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), OnCall: OnCall::<Identity, Impl, OFFSET> }
5154 }
5155 pub fn matches(iid: &windows::core::GUID) -> bool {
5156 iid == &<IServiceCall as ::windows::core::ComInterface>::IID
5157 }
5158}
5159#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5160pub trait IServiceComTIIntrinsicsConfig_Impl: Sized {
5161 fn ComTIIntrinsicsConfig(&self, comtiintrinsicsconfig: CSC_COMTIIntrinsicsConfig) -> ::windows::core::Result<()>;
5162}
5163impl ::windows::core::RuntimeName for IServiceComTIIntrinsicsConfig {}
5164impl IServiceComTIIntrinsicsConfig_Vtbl {
5165 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceComTIIntrinsicsConfig_Impl, const OFFSET: isize>() -> IServiceComTIIntrinsicsConfig_Vtbl {
5166 unsafe extern "system" fn ComTIIntrinsicsConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceComTIIntrinsicsConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, comtiintrinsicsconfig: CSC_COMTIIntrinsicsConfig) -> ::windows::core::HRESULT {
5167 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5168 let this = (*this).get_impl();
5169 this.ComTIIntrinsicsConfig(::core::mem::transmute_copy(&comtiintrinsicsconfig)).into()
5170 }
5171 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ComTIIntrinsicsConfig: ComTIIntrinsicsConfig::<Identity, Impl, OFFSET> }
5172 }
5173 pub fn matches(iid: &windows::core::GUID) -> bool {
5174 iid == &<IServiceComTIIntrinsicsConfig as ::windows::core::ComInterface>::IID
5175 }
5176}
5177#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5178pub trait IServiceIISIntrinsicsConfig_Impl: Sized {
5179 fn IISIntrinsicsConfig(&self, iisintrinsicsconfig: CSC_IISIntrinsicsConfig) -> ::windows::core::Result<()>;
5180}
5181impl ::windows::core::RuntimeName for IServiceIISIntrinsicsConfig {}
5182impl IServiceIISIntrinsicsConfig_Vtbl {
5183 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceIISIntrinsicsConfig_Impl, const OFFSET: isize>() -> IServiceIISIntrinsicsConfig_Vtbl {
5184 unsafe extern "system" fn IISIntrinsicsConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceIISIntrinsicsConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, iisintrinsicsconfig: CSC_IISIntrinsicsConfig) -> ::windows::core::HRESULT {
5185 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5186 let this = (*this).get_impl();
5187 this.IISIntrinsicsConfig(::core::mem::transmute_copy(&iisintrinsicsconfig)).into()
5188 }
5189 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), IISIntrinsicsConfig: IISIntrinsicsConfig::<Identity, Impl, OFFSET> }
5190 }
5191 pub fn matches(iid: &windows::core::GUID) -> bool {
5192 iid == &<IServiceIISIntrinsicsConfig as ::windows::core::ComInterface>::IID
5193 }
5194}
5195#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5196pub trait IServiceInheritanceConfig_Impl: Sized {
5197 fn ContainingContextTreatment(&self, inheritanceconfig: CSC_InheritanceConfig) -> ::windows::core::Result<()>;
5198}
5199impl ::windows::core::RuntimeName for IServiceInheritanceConfig {}
5200impl IServiceInheritanceConfig_Vtbl {
5201 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceInheritanceConfig_Impl, const OFFSET: isize>() -> IServiceInheritanceConfig_Vtbl {
5202 unsafe extern "system" fn ContainingContextTreatment<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceInheritanceConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, inheritanceconfig: CSC_InheritanceConfig) -> ::windows::core::HRESULT {
5203 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5204 let this = (*this).get_impl();
5205 this.ContainingContextTreatment(::core::mem::transmute_copy(&inheritanceconfig)).into()
5206 }
5207 Self {
5208 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5209 ContainingContextTreatment: ContainingContextTreatment::<Identity, Impl, OFFSET>,
5210 }
5211 }
5212 pub fn matches(iid: &windows::core::GUID) -> bool {
5213 iid == &<IServiceInheritanceConfig as ::windows::core::ComInterface>::IID
5214 }
5215}
5216#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5217pub trait IServicePartitionConfig_Impl: Sized {
5218 fn PartitionConfig(&self, partitionconfig: CSC_PartitionConfig) -> ::windows::core::Result<()>;
5219 fn PartitionID(&self, guidpartitionid: *const ::windows::core::GUID) -> ::windows::core::Result<()>;
5220}
5221impl ::windows::core::RuntimeName for IServicePartitionConfig {}
5222impl IServicePartitionConfig_Vtbl {
5223 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePartitionConfig_Impl, const OFFSET: isize>() -> IServicePartitionConfig_Vtbl {
5224 unsafe extern "system" fn PartitionConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePartitionConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, partitionconfig: CSC_PartitionConfig) -> ::windows::core::HRESULT {
5225 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5226 let this = (*this).get_impl();
5227 this.PartitionConfig(::core::mem::transmute_copy(&partitionconfig)).into()
5228 }
5229 unsafe extern "system" fn PartitionID<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePartitionConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guidpartitionid: *const ::windows::core::GUID) -> ::windows::core::HRESULT {
5230 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5231 let this = (*this).get_impl();
5232 this.PartitionID(::core::mem::transmute_copy(&guidpartitionid)).into()
5233 }
5234 Self {
5235 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5236 PartitionConfig: PartitionConfig::<Identity, Impl, OFFSET>,
5237 PartitionID: PartitionID::<Identity, Impl, OFFSET>,
5238 }
5239 }
5240 pub fn matches(iid: &windows::core::GUID) -> bool {
5241 iid == &<IServicePartitionConfig as ::windows::core::ComInterface>::IID
5242 }
5243}
5244#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5245pub trait IServicePool_Impl: Sized {
5246 fn Initialize(&self, ppoolconfig: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
5247 fn GetObject(&self, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
5248 fn Shutdown(&self) -> ::windows::core::Result<()>;
5249}
5250impl ::windows::core::RuntimeName for IServicePool {}
5251impl IServicePool_Vtbl {
5252 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePool_Impl, const OFFSET: isize>() -> IServicePool_Vtbl {
5253 unsafe extern "system" fn Initialize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppoolconfig: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5254 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5255 let this = (*this).get_impl();
5256 this.Initialize(::windows::core::from_raw_borrowed(&ppoolconfig)).into()
5257 }
5258 unsafe extern "system" fn GetObject<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, riid: *const ::windows::core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5259 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5260 let this = (*this).get_impl();
5261 this.GetObject(::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&ppv)).into()
5262 }
5263 unsafe extern "system" fn Shutdown<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5264 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5265 let this = (*this).get_impl();
5266 this.Shutdown().into()
5267 }
5268 Self {
5269 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5270 Initialize: Initialize::<Identity, Impl, OFFSET>,
5271 GetObject: GetObject::<Identity, Impl, OFFSET>,
5272 Shutdown: Shutdown::<Identity, Impl, OFFSET>,
5273 }
5274 }
5275 pub fn matches(iid: &windows::core::GUID) -> bool {
5276 iid == &<IServicePool as ::windows::core::ComInterface>::IID
5277 }
5278}
5279#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"implement\"`*"]
5280#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5281pub trait IServicePoolConfig_Impl: Sized {
5282 fn SetMaxPoolSize(&self, dwmaxpool: u32) -> ::windows::core::Result<()>;
5283 fn MaxPoolSize(&self, pdwmaxpool: *mut u32) -> ::windows::core::Result<()>;
5284 fn SetMinPoolSize(&self, dwminpool: u32) -> ::windows::core::Result<()>;
5285 fn MinPoolSize(&self, pdwminpool: *mut u32) -> ::windows::core::Result<()>;
5286 fn SetCreationTimeout(&self, dwcreationtimeout: u32) -> ::windows::core::Result<()>;
5287 fn CreationTimeout(&self, pdwcreationtimeout: *mut u32) -> ::windows::core::Result<()>;
5288 fn SetTransactionAffinity(&self, ftxaffinity: super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5289 fn TransactionAffinity(&self, pftxaffinity: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
5290 fn SetClassFactory(&self, pfactory: ::core::option::Option<&super::Com::IClassFactory>) -> ::windows::core::Result<()>;
5291 fn ClassFactory(&self) -> ::windows::core::Result<super::Com::IClassFactory>;
5292}
5293#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5294impl ::windows::core::RuntimeName for IServicePoolConfig {}
5295#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
5296impl IServicePoolConfig_Vtbl {
5297 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>() -> IServicePoolConfig_Vtbl {
5298 unsafe extern "system" fn SetMaxPoolSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwmaxpool: u32) -> ::windows::core::HRESULT {
5299 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5300 let this = (*this).get_impl();
5301 this.SetMaxPoolSize(::core::mem::transmute_copy(&dwmaxpool)).into()
5302 }
5303 unsafe extern "system" fn MaxPoolSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwmaxpool: *mut u32) -> ::windows::core::HRESULT {
5304 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5305 let this = (*this).get_impl();
5306 this.MaxPoolSize(::core::mem::transmute_copy(&pdwmaxpool)).into()
5307 }
5308 unsafe extern "system" fn SetMinPoolSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwminpool: u32) -> ::windows::core::HRESULT {
5309 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5310 let this = (*this).get_impl();
5311 this.SetMinPoolSize(::core::mem::transmute_copy(&dwminpool)).into()
5312 }
5313 unsafe extern "system" fn MinPoolSize<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwminpool: *mut u32) -> ::windows::core::HRESULT {
5314 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5315 let this = (*this).get_impl();
5316 this.MinPoolSize(::core::mem::transmute_copy(&pdwminpool)).into()
5317 }
5318 unsafe extern "system" fn SetCreationTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwcreationtimeout: u32) -> ::windows::core::HRESULT {
5319 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5320 let this = (*this).get_impl();
5321 this.SetCreationTimeout(::core::mem::transmute_copy(&dwcreationtimeout)).into()
5322 }
5323 unsafe extern "system" fn CreationTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pdwcreationtimeout: *mut u32) -> ::windows::core::HRESULT {
5324 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5325 let this = (*this).get_impl();
5326 this.CreationTimeout(::core::mem::transmute_copy(&pdwcreationtimeout)).into()
5327 }
5328 unsafe extern "system" fn SetTransactionAffinity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ftxaffinity: super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5329 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5330 let this = (*this).get_impl();
5331 this.SetTransactionAffinity(::core::mem::transmute_copy(&ftxaffinity)).into()
5332 }
5333 unsafe extern "system" fn TransactionAffinity<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pftxaffinity: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
5334 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5335 let this = (*this).get_impl();
5336 this.TransactionAffinity(::core::mem::transmute_copy(&pftxaffinity)).into()
5337 }
5338 unsafe extern "system" fn SetClassFactory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfactory: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5339 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5340 let this = (*this).get_impl();
5341 this.SetClassFactory(::windows::core::from_raw_borrowed(&pfactory)).into()
5342 }
5343 unsafe extern "system" fn ClassFactory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServicePoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfactory: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5344 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5345 let this = (*this).get_impl();
5346 match this.ClassFactory() {
5347 ::core::result::Result::Ok(ok__) => {
5348 ::core::ptr::write(pfactory, ::core::mem::transmute(ok__));
5349 ::windows::core::HRESULT(0)
5350 }
5351 ::core::result::Result::Err(err) => err.into(),
5352 }
5353 }
5354 Self {
5355 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5356 SetMaxPoolSize: SetMaxPoolSize::<Identity, Impl, OFFSET>,
5357 MaxPoolSize: MaxPoolSize::<Identity, Impl, OFFSET>,
5358 SetMinPoolSize: SetMinPoolSize::<Identity, Impl, OFFSET>,
5359 MinPoolSize: MinPoolSize::<Identity, Impl, OFFSET>,
5360 SetCreationTimeout: SetCreationTimeout::<Identity, Impl, OFFSET>,
5361 CreationTimeout: CreationTimeout::<Identity, Impl, OFFSET>,
5362 SetTransactionAffinity: SetTransactionAffinity::<Identity, Impl, OFFSET>,
5363 TransactionAffinity: TransactionAffinity::<Identity, Impl, OFFSET>,
5364 SetClassFactory: SetClassFactory::<Identity, Impl, OFFSET>,
5365 ClassFactory: ClassFactory::<Identity, Impl, OFFSET>,
5366 }
5367 }
5368 pub fn matches(iid: &windows::core::GUID) -> bool {
5369 iid == &<IServicePoolConfig as ::windows::core::ComInterface>::IID
5370 }
5371}
5372#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5373pub trait IServiceSxsConfig_Impl: Sized {
5374 fn SxsConfig(&self, scsconfig: CSC_SxsConfig) -> ::windows::core::Result<()>;
5375 fn SxsName(&self, szsxsname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5376 fn SxsDirectory(&self, szsxsdirectory: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5377}
5378impl ::windows::core::RuntimeName for IServiceSxsConfig {}
5379impl IServiceSxsConfig_Vtbl {
5380 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSxsConfig_Impl, const OFFSET: isize>() -> IServiceSxsConfig_Vtbl {
5381 unsafe extern "system" fn SxsConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSxsConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, scsconfig: CSC_SxsConfig) -> ::windows::core::HRESULT {
5382 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5383 let this = (*this).get_impl();
5384 this.SxsConfig(::core::mem::transmute_copy(&scsconfig)).into()
5385 }
5386 unsafe extern "system" fn SxsName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSxsConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szsxsname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5387 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5388 let this = (*this).get_impl();
5389 this.SxsName(::core::mem::transmute(&szsxsname)).into()
5390 }
5391 unsafe extern "system" fn SxsDirectory<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSxsConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, szsxsdirectory: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5392 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5393 let this = (*this).get_impl();
5394 this.SxsDirectory(::core::mem::transmute(&szsxsdirectory)).into()
5395 }
5396 Self {
5397 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5398 SxsConfig: SxsConfig::<Identity, Impl, OFFSET>,
5399 SxsName: SxsName::<Identity, Impl, OFFSET>,
5400 SxsDirectory: SxsDirectory::<Identity, Impl, OFFSET>,
5401 }
5402 }
5403 pub fn matches(iid: &windows::core::GUID) -> bool {
5404 iid == &<IServiceSxsConfig as ::windows::core::ComInterface>::IID
5405 }
5406}
5407#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5408pub trait IServiceSynchronizationConfig_Impl: Sized {
5409 fn ConfigureSynchronization(&self, synchconfig: CSC_SynchronizationConfig) -> ::windows::core::Result<()>;
5410}
5411impl ::windows::core::RuntimeName for IServiceSynchronizationConfig {}
5412impl IServiceSynchronizationConfig_Vtbl {
5413 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSynchronizationConfig_Impl, const OFFSET: isize>() -> IServiceSynchronizationConfig_Vtbl {
5414 unsafe extern "system" fn ConfigureSynchronization<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSynchronizationConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, synchconfig: CSC_SynchronizationConfig) -> ::windows::core::HRESULT {
5415 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5416 let this = (*this).get_impl();
5417 this.ConfigureSynchronization(::core::mem::transmute_copy(&synchconfig)).into()
5418 }
5419 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), ConfigureSynchronization: ConfigureSynchronization::<Identity, Impl, OFFSET> }
5420 }
5421 pub fn matches(iid: &windows::core::GUID) -> bool {
5422 iid == &<IServiceSynchronizationConfig as ::windows::core::ComInterface>::IID
5423 }
5424}
5425#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_System_DistributedTransactionCoordinator\"`, `\"implement\"`*"]
5426#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
5427pub trait IServiceSysTxnConfig_Impl: Sized + IServiceTransactionConfig_Impl {
5428 fn ConfigureBYOTSysTxn(&self, ptxproxy: ::core::option::Option<&ITransactionProxy>) -> ::windows::core::Result<()>;
5429}
5430#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
5431impl ::windows::core::RuntimeName for IServiceSysTxnConfig {}
5432#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
5433impl IServiceSysTxnConfig_Vtbl {
5434 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSysTxnConfig_Impl, const OFFSET: isize>() -> IServiceSysTxnConfig_Vtbl {
5435 unsafe extern "system" fn ConfigureBYOTSysTxn<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceSysTxnConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptxproxy: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5436 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5437 let this = (*this).get_impl();
5438 this.ConfigureBYOTSysTxn(::windows::core::from_raw_borrowed(&ptxproxy)).into()
5439 }
5440 Self { base__: IServiceTransactionConfig_Vtbl::new::<Identity, Impl, OFFSET>(), ConfigureBYOTSysTxn: ConfigureBYOTSysTxn::<Identity, Impl, OFFSET> }
5441 }
5442 pub fn matches(iid: &windows::core::GUID) -> bool {
5443 iid == &<IServiceSysTxnConfig as ::windows::core::ComInterface>::IID || iid == &<IServiceTransactionConfigBase as ::windows::core::ComInterface>::IID || iid == &<IServiceTransactionConfig as ::windows::core::ComInterface>::IID
5444 }
5445}
5446#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5447pub trait IServiceThreadPoolConfig_Impl: Sized {
5448 fn SelectThreadPool(&self, threadpool: CSC_ThreadPool) -> ::windows::core::Result<()>;
5449 fn SetBindingInfo(&self, binding: CSC_Binding) -> ::windows::core::Result<()>;
5450}
5451impl ::windows::core::RuntimeName for IServiceThreadPoolConfig {}
5452impl IServiceThreadPoolConfig_Vtbl {
5453 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceThreadPoolConfig_Impl, const OFFSET: isize>() -> IServiceThreadPoolConfig_Vtbl {
5454 unsafe extern "system" fn SelectThreadPool<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceThreadPoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, threadpool: CSC_ThreadPool) -> ::windows::core::HRESULT {
5455 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5456 let this = (*this).get_impl();
5457 this.SelectThreadPool(::core::mem::transmute_copy(&threadpool)).into()
5458 }
5459 unsafe extern "system" fn SetBindingInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceThreadPoolConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, binding: CSC_Binding) -> ::windows::core::HRESULT {
5460 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5461 let this = (*this).get_impl();
5462 this.SetBindingInfo(::core::mem::transmute_copy(&binding)).into()
5463 }
5464 Self {
5465 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5466 SelectThreadPool: SelectThreadPool::<Identity, Impl, OFFSET>,
5467 SetBindingInfo: SetBindingInfo::<Identity, Impl, OFFSET>,
5468 }
5469 }
5470 pub fn matches(iid: &windows::core::GUID) -> bool {
5471 iid == &<IServiceThreadPoolConfig as ::windows::core::ComInterface>::IID
5472 }
5473}
5474#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5475pub trait IServiceTrackerConfig_Impl: Sized {
5476 fn TrackerConfig(&self, trackerconfig: CSC_TrackerConfig, sztrackerappname: &::windows::core::PCWSTR, sztrackerctxname: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5477}
5478impl ::windows::core::RuntimeName for IServiceTrackerConfig {}
5479impl IServiceTrackerConfig_Vtbl {
5480 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTrackerConfig_Impl, const OFFSET: isize>() -> IServiceTrackerConfig_Vtbl {
5481 unsafe extern "system" fn TrackerConfig<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTrackerConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, trackerconfig: CSC_TrackerConfig, sztrackerappname: ::windows::core::PCWSTR, sztrackerctxname: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5482 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5483 let this = (*this).get_impl();
5484 this.TrackerConfig(::core::mem::transmute_copy(&trackerconfig), ::core::mem::transmute(&sztrackerappname), ::core::mem::transmute(&sztrackerctxname)).into()
5485 }
5486 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), TrackerConfig: TrackerConfig::<Identity, Impl, OFFSET> }
5487 }
5488 pub fn matches(iid: &windows::core::GUID) -> bool {
5489 iid == &<IServiceTrackerConfig as ::windows::core::ComInterface>::IID
5490 }
5491}
5492#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_System_DistributedTransactionCoordinator\"`, `\"implement\"`*"]
5493#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
5494pub trait IServiceTransactionConfig_Impl: Sized + IServiceTransactionConfigBase_Impl {
5495 fn ConfigureBYOT(&self, pitxbyot: ::core::option::Option<&super::DistributedTransactionCoordinator::ITransaction>) -> ::windows::core::Result<()>;
5496}
5497#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
5498impl ::windows::core::RuntimeName for IServiceTransactionConfig {}
5499#[cfg(feature = "Win32_System_DistributedTransactionCoordinator")]
5500impl IServiceTransactionConfig_Vtbl {
5501 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfig_Impl, const OFFSET: isize>() -> IServiceTransactionConfig_Vtbl {
5502 unsafe extern "system" fn ConfigureBYOT<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfig_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pitxbyot: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5503 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5504 let this = (*this).get_impl();
5505 this.ConfigureBYOT(::windows::core::from_raw_borrowed(&pitxbyot)).into()
5506 }
5507 Self { base__: IServiceTransactionConfigBase_Vtbl::new::<Identity, Impl, OFFSET>(), ConfigureBYOT: ConfigureBYOT::<Identity, Impl, OFFSET> }
5508 }
5509 pub fn matches(iid: &windows::core::GUID) -> bool {
5510 iid == &<IServiceTransactionConfig as ::windows::core::ComInterface>::IID || iid == &<IServiceTransactionConfigBase as ::windows::core::ComInterface>::IID
5511 }
5512}
5513#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5514pub trait IServiceTransactionConfigBase_Impl: Sized {
5515 fn ConfigureTransaction(&self, transactionconfig: CSC_TransactionConfig) -> ::windows::core::Result<()>;
5516 fn IsolationLevel(&self, option: COMAdminTxIsolationLevelOptions) -> ::windows::core::Result<()>;
5517 fn TransactionTimeout(&self, ultimeoutsec: u32) -> ::windows::core::Result<()>;
5518 fn BringYourOwnTransaction(&self, sztipurl: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5519 fn NewTransactionDescription(&self, sztxdesc: &::windows::core::PCWSTR) -> ::windows::core::Result<()>;
5520}
5521impl ::windows::core::RuntimeName for IServiceTransactionConfigBase {}
5522impl IServiceTransactionConfigBase_Vtbl {
5523 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfigBase_Impl, const OFFSET: isize>() -> IServiceTransactionConfigBase_Vtbl {
5524 unsafe extern "system" fn ConfigureTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfigBase_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, transactionconfig: CSC_TransactionConfig) -> ::windows::core::HRESULT {
5525 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5526 let this = (*this).get_impl();
5527 this.ConfigureTransaction(::core::mem::transmute_copy(&transactionconfig)).into()
5528 }
5529 unsafe extern "system" fn IsolationLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfigBase_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, option: COMAdminTxIsolationLevelOptions) -> ::windows::core::HRESULT {
5530 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5531 let this = (*this).get_impl();
5532 this.IsolationLevel(::core::mem::transmute_copy(&option)).into()
5533 }
5534 unsafe extern "system" fn TransactionTimeout<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfigBase_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ultimeoutsec: u32) -> ::windows::core::HRESULT {
5535 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5536 let this = (*this).get_impl();
5537 this.TransactionTimeout(::core::mem::transmute_copy(&ultimeoutsec)).into()
5538 }
5539 unsafe extern "system" fn BringYourOwnTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfigBase_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sztipurl: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5540 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5541 let this = (*this).get_impl();
5542 this.BringYourOwnTransaction(::core::mem::transmute(&sztipurl)).into()
5543 }
5544 unsafe extern "system" fn NewTransactionDescription<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IServiceTransactionConfigBase_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, sztxdesc: ::windows::core::PCWSTR) -> ::windows::core::HRESULT {
5545 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5546 let this = (*this).get_impl();
5547 this.NewTransactionDescription(::core::mem::transmute(&sztxdesc)).into()
5548 }
5549 Self {
5550 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5551 ConfigureTransaction: ConfigureTransaction::<Identity, Impl, OFFSET>,
5552 IsolationLevel: IsolationLevel::<Identity, Impl, OFFSET>,
5553 TransactionTimeout: TransactionTimeout::<Identity, Impl, OFFSET>,
5554 BringYourOwnTransaction: BringYourOwnTransaction::<Identity, Impl, OFFSET>,
5555 NewTransactionDescription: NewTransactionDescription::<Identity, Impl, OFFSET>,
5556 }
5557 }
5558 pub fn matches(iid: &windows::core::GUID) -> bool {
5559 iid == &<IServiceTransactionConfigBase as ::windows::core::ComInterface>::IID
5560 }
5561}
5562#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5563#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5564pub trait ISharedProperty_Impl: Sized + super::Com::IDispatch_Impl {
5565 fn Value(&self) -> ::windows::core::Result<super::Com::VARIANT>;
5566 fn SetValue(&self, val: &super::Com::VARIANT) -> ::windows::core::Result<()>;
5567}
5568#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5569impl ::windows::core::RuntimeName for ISharedProperty {}
5570#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5571impl ISharedProperty_Vtbl {
5572 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedProperty_Impl, const OFFSET: isize>() -> ISharedProperty_Vtbl {
5573 unsafe extern "system" fn Value<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pval: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
5574 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5575 let this = (*this).get_impl();
5576 match this.Value() {
5577 ::core::result::Result::Ok(ok__) => {
5578 ::core::ptr::write(pval, ::core::mem::transmute(ok__));
5579 ::windows::core::HRESULT(0)
5580 }
5581 ::core::result::Result::Err(err) => err.into(),
5582 }
5583 }
5584 unsafe extern "system" fn SetValue<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, val: super::Com::VARIANT) -> ::windows::core::HRESULT {
5585 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5586 let this = (*this).get_impl();
5587 this.SetValue(::core::mem::transmute(&val)).into()
5588 }
5589 Self {
5590 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5591 Value: Value::<Identity, Impl, OFFSET>,
5592 SetValue: SetValue::<Identity, Impl, OFFSET>,
5593 }
5594 }
5595 pub fn matches(iid: &windows::core::GUID) -> bool {
5596 iid == &<ISharedProperty as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
5597 }
5598}
5599#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5600#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5601pub trait ISharedPropertyGroup_Impl: Sized + super::Com::IDispatch_Impl {
5602 fn CreatePropertyByPosition(&self, index: i32, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppprop: *mut ::core::option::Option<ISharedProperty>) -> ::windows::core::Result<()>;
5603 fn get_PropertyByPosition(&self, index: i32) -> ::windows::core::Result<ISharedProperty>;
5604 fn CreateProperty(&self, name: &::windows::core::BSTR, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppprop: *mut ::core::option::Option<ISharedProperty>) -> ::windows::core::Result<()>;
5605 fn get_Property(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<ISharedProperty>;
5606}
5607#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5608impl ::windows::core::RuntimeName for ISharedPropertyGroup {}
5609#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5610impl ISharedPropertyGroup_Vtbl {
5611 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroup_Impl, const OFFSET: isize>() -> ISharedPropertyGroup_Vtbl {
5612 unsafe extern "system" fn CreatePropertyByPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppprop: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5613 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5614 let this = (*this).get_impl();
5615 this.CreatePropertyByPosition(::core::mem::transmute_copy(&index), ::core::mem::transmute_copy(&fexists), ::core::mem::transmute_copy(&ppprop)).into()
5616 }
5617 unsafe extern "system" fn get_PropertyByPosition<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, index: i32, ppproperty: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5618 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5619 let this = (*this).get_impl();
5620 match this.get_PropertyByPosition(::core::mem::transmute_copy(&index)) {
5621 ::core::result::Result::Ok(ok__) => {
5622 ::core::ptr::write(ppproperty, ::core::mem::transmute(ok__));
5623 ::windows::core::HRESULT(0)
5624 }
5625 ::core::result::Result::Err(err) => err.into(),
5626 }
5627 }
5628 unsafe extern "system" fn CreateProperty<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppprop: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5629 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5630 let this = (*this).get_impl();
5631 this.CreateProperty(::core::mem::transmute(&name), ::core::mem::transmute_copy(&fexists), ::core::mem::transmute_copy(&ppprop)).into()
5632 }
5633 unsafe extern "system" fn get_Property<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroup_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppproperty: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5634 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5635 let this = (*this).get_impl();
5636 match this.get_Property(::core::mem::transmute(&name)) {
5637 ::core::result::Result::Ok(ok__) => {
5638 ::core::ptr::write(ppproperty, ::core::mem::transmute(ok__));
5639 ::windows::core::HRESULT(0)
5640 }
5641 ::core::result::Result::Err(err) => err.into(),
5642 }
5643 }
5644 Self {
5645 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5646 CreatePropertyByPosition: CreatePropertyByPosition::<Identity, Impl, OFFSET>,
5647 get_PropertyByPosition: get_PropertyByPosition::<Identity, Impl, OFFSET>,
5648 CreateProperty: CreateProperty::<Identity, Impl, OFFSET>,
5649 get_Property: get_Property::<Identity, Impl, OFFSET>,
5650 }
5651 }
5652 pub fn matches(iid: &windows::core::GUID) -> bool {
5653 iid == &<ISharedPropertyGroup as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
5654 }
5655}
5656#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5657#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5658pub trait ISharedPropertyGroupManager_Impl: Sized + super::Com::IDispatch_Impl {
5659 fn CreatePropertyGroup(&self, name: &::windows::core::BSTR, dwisomode: *mut i32, dwrelmode: *mut i32, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppgroup: *mut ::core::option::Option<ISharedPropertyGroup>) -> ::windows::core::Result<()>;
5660 fn get_Group(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<ISharedPropertyGroup>;
5661 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
5662}
5663#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5664impl ::windows::core::RuntimeName for ISharedPropertyGroupManager {}
5665#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5666impl ISharedPropertyGroupManager_Vtbl {
5667 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroupManager_Impl, const OFFSET: isize>() -> ISharedPropertyGroupManager_Vtbl {
5668 unsafe extern "system" fn CreatePropertyGroup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroupManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, dwisomode: *mut i32, dwrelmode: *mut i32, fexists: *mut super::super::Foundation::VARIANT_BOOL, ppgroup: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5669 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5670 let this = (*this).get_impl();
5671 this.CreatePropertyGroup(::core::mem::transmute(&name), ::core::mem::transmute_copy(&dwisomode), ::core::mem::transmute_copy(&dwrelmode), ::core::mem::transmute_copy(&fexists), ::core::mem::transmute_copy(&ppgroup)).into()
5672 }
5673 unsafe extern "system" fn get_Group<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroupManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, ppgroup: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5674 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5675 let this = (*this).get_impl();
5676 match this.get_Group(::core::mem::transmute(&name)) {
5677 ::core::result::Result::Ok(ok__) => {
5678 ::core::ptr::write(ppgroup, ::core::mem::transmute(ok__));
5679 ::windows::core::HRESULT(0)
5680 }
5681 ::core::result::Result::Err(err) => err.into(),
5682 }
5683 }
5684 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISharedPropertyGroupManager_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, retval: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5685 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5686 let this = (*this).get_impl();
5687 match this._NewEnum() {
5688 ::core::result::Result::Ok(ok__) => {
5689 ::core::ptr::write(retval, ::core::mem::transmute(ok__));
5690 ::windows::core::HRESULT(0)
5691 }
5692 ::core::result::Result::Err(err) => err.into(),
5693 }
5694 }
5695 Self {
5696 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5697 CreatePropertyGroup: CreatePropertyGroup::<Identity, Impl, OFFSET>,
5698 get_Group: get_Group::<Identity, Impl, OFFSET>,
5699 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
5700 }
5701 }
5702 pub fn matches(iid: &windows::core::GUID) -> bool {
5703 iid == &<ISharedPropertyGroupManager as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
5704 }
5705}
5706#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5707pub trait ISystemAppEventData_Impl: Sized {
5708 fn Startup(&self) -> ::windows::core::Result<()>;
5709 fn OnDataChanged(&self, dwpid: u32, dwmask: u32, dwnumbersinks: u32, bstrdwmethodmask: &::windows::core::BSTR, dwreason: u32, u64tracehandle: u64) -> ::windows::core::Result<()>;
5710}
5711impl ::windows::core::RuntimeName for ISystemAppEventData {}
5712impl ISystemAppEventData_Vtbl {
5713 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISystemAppEventData_Impl, const OFFSET: isize>() -> ISystemAppEventData_Vtbl {
5714 unsafe extern "system" fn Startup<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISystemAppEventData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5715 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5716 let this = (*this).get_impl();
5717 this.Startup().into()
5718 }
5719 unsafe extern "system" fn OnDataChanged<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ISystemAppEventData_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, dwpid: u32, dwmask: u32, dwnumbersinks: u32, bstrdwmethodmask: ::std::mem::MaybeUninit<::windows::core::BSTR>, dwreason: u32, u64tracehandle: u64) -> ::windows::core::HRESULT {
5720 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5721 let this = (*this).get_impl();
5722 this.OnDataChanged(::core::mem::transmute_copy(&dwpid), ::core::mem::transmute_copy(&dwmask), ::core::mem::transmute_copy(&dwnumbersinks), ::core::mem::transmute(&bstrdwmethodmask), ::core::mem::transmute_copy(&dwreason), ::core::mem::transmute_copy(&u64tracehandle)).into()
5723 }
5724 Self {
5725 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5726 Startup: Startup::<Identity, Impl, OFFSET>,
5727 OnDataChanged: OnDataChanged::<Identity, Impl, OFFSET>,
5728 }
5729 }
5730 pub fn matches(iid: &windows::core::GUID) -> bool {
5731 iid == &<ISystemAppEventData as ::windows::core::ComInterface>::IID
5732 }
5733}
5734#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5735pub trait IThreadPoolKnobs_Impl: Sized {
5736 fn GetMaxThreads(&self, plcmaxthreads: *mut i32) -> ::windows::core::Result<()>;
5737 fn GetCurrentThreads(&self, plccurrentthreads: *mut i32) -> ::windows::core::Result<()>;
5738 fn SetMaxThreads(&self, lcmaxthreads: i32) -> ::windows::core::Result<()>;
5739 fn GetDeleteDelay(&self, pmsecdeletedelay: *mut i32) -> ::windows::core::Result<()>;
5740 fn SetDeleteDelay(&self, msecdeletedelay: i32) -> ::windows::core::Result<()>;
5741 fn GetMaxQueuedRequests(&self, plcmaxqueuedrequests: *mut i32) -> ::windows::core::Result<()>;
5742 fn GetCurrentQueuedRequests(&self, plccurrentqueuedrequests: *mut i32) -> ::windows::core::Result<()>;
5743 fn SetMaxQueuedRequests(&self, lcmaxqueuedrequests: i32) -> ::windows::core::Result<()>;
5744 fn SetMinThreads(&self, lcminthreads: i32) -> ::windows::core::Result<()>;
5745 fn SetQueueDepth(&self, lcqueuedepth: i32) -> ::windows::core::Result<()>;
5746}
5747impl ::windows::core::RuntimeName for IThreadPoolKnobs {}
5748impl IThreadPoolKnobs_Vtbl {
5749 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>() -> IThreadPoolKnobs_Vtbl {
5750 unsafe extern "system" fn GetMaxThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcmaxthreads: *mut i32) -> ::windows::core::HRESULT {
5751 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5752 let this = (*this).get_impl();
5753 this.GetMaxThreads(::core::mem::transmute_copy(&plcmaxthreads)).into()
5754 }
5755 unsafe extern "system" fn GetCurrentThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plccurrentthreads: *mut i32) -> ::windows::core::HRESULT {
5756 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5757 let this = (*this).get_impl();
5758 this.GetCurrentThreads(::core::mem::transmute_copy(&plccurrentthreads)).into()
5759 }
5760 unsafe extern "system" fn SetMaxThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcmaxthreads: i32) -> ::windows::core::HRESULT {
5761 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5762 let this = (*this).get_impl();
5763 this.SetMaxThreads(::core::mem::transmute_copy(&lcmaxthreads)).into()
5764 }
5765 unsafe extern "system" fn GetDeleteDelay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pmsecdeletedelay: *mut i32) -> ::windows::core::HRESULT {
5766 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5767 let this = (*this).get_impl();
5768 this.GetDeleteDelay(::core::mem::transmute_copy(&pmsecdeletedelay)).into()
5769 }
5770 unsafe extern "system" fn SetDeleteDelay<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, msecdeletedelay: i32) -> ::windows::core::HRESULT {
5771 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5772 let this = (*this).get_impl();
5773 this.SetDeleteDelay(::core::mem::transmute_copy(&msecdeletedelay)).into()
5774 }
5775 unsafe extern "system" fn GetMaxQueuedRequests<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcmaxqueuedrequests: *mut i32) -> ::windows::core::HRESULT {
5776 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5777 let this = (*this).get_impl();
5778 this.GetMaxQueuedRequests(::core::mem::transmute_copy(&plcmaxqueuedrequests)).into()
5779 }
5780 unsafe extern "system" fn GetCurrentQueuedRequests<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plccurrentqueuedrequests: *mut i32) -> ::windows::core::HRESULT {
5781 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5782 let this = (*this).get_impl();
5783 this.GetCurrentQueuedRequests(::core::mem::transmute_copy(&plccurrentqueuedrequests)).into()
5784 }
5785 unsafe extern "system" fn SetMaxQueuedRequests<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcmaxqueuedrequests: i32) -> ::windows::core::HRESULT {
5786 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5787 let this = (*this).get_impl();
5788 this.SetMaxQueuedRequests(::core::mem::transmute_copy(&lcmaxqueuedrequests)).into()
5789 }
5790 unsafe extern "system" fn SetMinThreads<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcminthreads: i32) -> ::windows::core::HRESULT {
5791 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5792 let this = (*this).get_impl();
5793 this.SetMinThreads(::core::mem::transmute_copy(&lcminthreads)).into()
5794 }
5795 unsafe extern "system" fn SetQueueDepth<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: IThreadPoolKnobs_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, lcqueuedepth: i32) -> ::windows::core::HRESULT {
5796 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5797 let this = (*this).get_impl();
5798 this.SetQueueDepth(::core::mem::transmute_copy(&lcqueuedepth)).into()
5799 }
5800 Self {
5801 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5802 GetMaxThreads: GetMaxThreads::<Identity, Impl, OFFSET>,
5803 GetCurrentThreads: GetCurrentThreads::<Identity, Impl, OFFSET>,
5804 SetMaxThreads: SetMaxThreads::<Identity, Impl, OFFSET>,
5805 GetDeleteDelay: GetDeleteDelay::<Identity, Impl, OFFSET>,
5806 SetDeleteDelay: SetDeleteDelay::<Identity, Impl, OFFSET>,
5807 GetMaxQueuedRequests: GetMaxQueuedRequests::<Identity, Impl, OFFSET>,
5808 GetCurrentQueuedRequests: GetCurrentQueuedRequests::<Identity, Impl, OFFSET>,
5809 SetMaxQueuedRequests: SetMaxQueuedRequests::<Identity, Impl, OFFSET>,
5810 SetMinThreads: SetMinThreads::<Identity, Impl, OFFSET>,
5811 SetQueueDepth: SetQueueDepth::<Identity, Impl, OFFSET>,
5812 }
5813 }
5814 pub fn matches(iid: &windows::core::GUID) -> bool {
5815 iid == &<IThreadPoolKnobs as ::windows::core::ComInterface>::IID
5816 }
5817}
5818#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
5819#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5820pub trait ITransactionContext_Impl: Sized + super::Com::IDispatch_Impl {
5821 fn CreateInstance(&self, pszprogid: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
5822 fn Commit(&self) -> ::windows::core::Result<()>;
5823 fn Abort(&self) -> ::windows::core::Result<()>;
5824}
5825#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5826impl ::windows::core::RuntimeName for ITransactionContext {}
5827#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5828impl ITransactionContext_Vtbl {
5829 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContext_Impl, const OFFSET: isize>() -> ITransactionContext_Vtbl {
5830 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pszprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, pobject: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
5831 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5832 let this = (*this).get_impl();
5833 match this.CreateInstance(::core::mem::transmute(&pszprogid)) {
5834 ::core::result::Result::Ok(ok__) => {
5835 ::core::ptr::write(pobject, ::core::mem::transmute(ok__));
5836 ::windows::core::HRESULT(0)
5837 }
5838 ::core::result::Result::Err(err) => err.into(),
5839 }
5840 }
5841 unsafe extern "system" fn Commit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5842 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5843 let this = (*this).get_impl();
5844 this.Commit().into()
5845 }
5846 unsafe extern "system" fn Abort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5847 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5848 let this = (*this).get_impl();
5849 this.Abort().into()
5850 }
5851 Self {
5852 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
5853 CreateInstance: CreateInstance::<Identity, Impl, OFFSET>,
5854 Commit: Commit::<Identity, Impl, OFFSET>,
5855 Abort: Abort::<Identity, Impl, OFFSET>,
5856 }
5857 }
5858 pub fn matches(iid: &windows::core::GUID) -> bool {
5859 iid == &<ITransactionContext as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
5860 }
5861}
5862#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5863pub trait ITransactionContextEx_Impl: Sized {
5864 fn CreateInstance(&self, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>;
5865 fn Commit(&self) -> ::windows::core::Result<()>;
5866 fn Abort(&self) -> ::windows::core::Result<()>;
5867}
5868impl ::windows::core::RuntimeName for ITransactionContextEx {}
5869impl ITransactionContextEx_Vtbl {
5870 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContextEx_Impl, const OFFSET: isize>() -> ITransactionContextEx_Vtbl {
5871 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContextEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, rclsid: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, pobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5872 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5873 let this = (*this).get_impl();
5874 this.CreateInstance(::core::mem::transmute_copy(&rclsid), ::core::mem::transmute_copy(&riid), ::core::mem::transmute_copy(&pobject)).into()
5875 }
5876 unsafe extern "system" fn Commit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContextEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5877 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5878 let this = (*this).get_impl();
5879 this.Commit().into()
5880 }
5881 unsafe extern "system" fn Abort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionContextEx_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5882 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5883 let this = (*this).get_impl();
5884 this.Abort().into()
5885 }
5886 Self {
5887 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
5888 CreateInstance: CreateInstance::<Identity, Impl, OFFSET>,
5889 Commit: Commit::<Identity, Impl, OFFSET>,
5890 Abort: Abort::<Identity, Impl, OFFSET>,
5891 }
5892 }
5893 pub fn matches(iid: &windows::core::GUID) -> bool {
5894 iid == &<ITransactionContextEx as ::windows::core::ComInterface>::IID
5895 }
5896}
5897#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
5898pub trait ITransactionProperty_Impl: Sized {
5899 fn Reserved1(&self);
5900 fn Reserved2(&self);
5901 fn Reserved3(&self);
5902 fn Reserved4(&self);
5903 fn Reserved5(&self);
5904 fn Reserved6(&self);
5905 fn Reserved7(&self);
5906 fn Reserved8(&self);
5907 fn Reserved9(&self);
5908 fn GetTransactionResourcePool(&self) -> ::windows::core::Result<ITransactionResourcePool>;
5909 fn Reserved10(&self);
5910 fn Reserved11(&self);
5911 fn Reserved12(&self);
5912 fn Reserved13(&self);
5913 fn Reserved14(&self);
5914 fn Reserved15(&self);
5915 fn Reserved16(&self);
5916 fn Reserved17(&self);
5917}
5918impl ::windows::core::RuntimeName for ITransactionProperty {}
5919impl ITransactionProperty_Vtbl {
5920 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>() -> ITransactionProperty_Vtbl {
5921 unsafe extern "system" fn Reserved1<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5922 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5923 let this = (*this).get_impl();
5924 this.Reserved1()
5925 }
5926 unsafe extern "system" fn Reserved2<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5927 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5928 let this = (*this).get_impl();
5929 this.Reserved2()
5930 }
5931 unsafe extern "system" fn Reserved3<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5932 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5933 let this = (*this).get_impl();
5934 this.Reserved3()
5935 }
5936 unsafe extern "system" fn Reserved4<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5937 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5938 let this = (*this).get_impl();
5939 this.Reserved4()
5940 }
5941 unsafe extern "system" fn Reserved5<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5942 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5943 let this = (*this).get_impl();
5944 this.Reserved5()
5945 }
5946 unsafe extern "system" fn Reserved6<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5947 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5948 let this = (*this).get_impl();
5949 this.Reserved6()
5950 }
5951 unsafe extern "system" fn Reserved7<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5952 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5953 let this = (*this).get_impl();
5954 this.Reserved7()
5955 }
5956 unsafe extern "system" fn Reserved8<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5957 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5958 let this = (*this).get_impl();
5959 this.Reserved8()
5960 }
5961 unsafe extern "system" fn Reserved9<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5962 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5963 let this = (*this).get_impl();
5964 this.Reserved9()
5965 }
5966 unsafe extern "system" fn GetTransactionResourcePool<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pptxpool: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
5967 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5968 let this = (*this).get_impl();
5969 match this.GetTransactionResourcePool() {
5970 ::core::result::Result::Ok(ok__) => {
5971 ::core::ptr::write(pptxpool, ::core::mem::transmute(ok__));
5972 ::windows::core::HRESULT(0)
5973 }
5974 ::core::result::Result::Err(err) => err.into(),
5975 }
5976 }
5977 unsafe extern "system" fn Reserved10<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5978 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5979 let this = (*this).get_impl();
5980 this.Reserved10()
5981 }
5982 unsafe extern "system" fn Reserved11<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5983 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5984 let this = (*this).get_impl();
5985 this.Reserved11()
5986 }
5987 unsafe extern "system" fn Reserved12<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5988 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5989 let this = (*this).get_impl();
5990 this.Reserved12()
5991 }
5992 unsafe extern "system" fn Reserved13<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5993 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5994 let this = (*this).get_impl();
5995 this.Reserved13()
5996 }
5997 unsafe extern "system" fn Reserved14<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
5998 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
5999 let this = (*this).get_impl();
6000 this.Reserved14()
6001 }
6002 unsafe extern "system" fn Reserved15<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
6003 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6004 let this = (*this).get_impl();
6005 this.Reserved15()
6006 }
6007 unsafe extern "system" fn Reserved16<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
6008 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6009 let this = (*this).get_impl();
6010 this.Reserved16()
6011 }
6012 unsafe extern "system" fn Reserved17<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) {
6013 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6014 let this = (*this).get_impl();
6015 this.Reserved17()
6016 }
6017 Self {
6018 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6019 Reserved1: Reserved1::<Identity, Impl, OFFSET>,
6020 Reserved2: Reserved2::<Identity, Impl, OFFSET>,
6021 Reserved3: Reserved3::<Identity, Impl, OFFSET>,
6022 Reserved4: Reserved4::<Identity, Impl, OFFSET>,
6023 Reserved5: Reserved5::<Identity, Impl, OFFSET>,
6024 Reserved6: Reserved6::<Identity, Impl, OFFSET>,
6025 Reserved7: Reserved7::<Identity, Impl, OFFSET>,
6026 Reserved8: Reserved8::<Identity, Impl, OFFSET>,
6027 Reserved9: Reserved9::<Identity, Impl, OFFSET>,
6028 GetTransactionResourcePool: GetTransactionResourcePool::<Identity, Impl, OFFSET>,
6029 Reserved10: Reserved10::<Identity, Impl, OFFSET>,
6030 Reserved11: Reserved11::<Identity, Impl, OFFSET>,
6031 Reserved12: Reserved12::<Identity, Impl, OFFSET>,
6032 Reserved13: Reserved13::<Identity, Impl, OFFSET>,
6033 Reserved14: Reserved14::<Identity, Impl, OFFSET>,
6034 Reserved15: Reserved15::<Identity, Impl, OFFSET>,
6035 Reserved16: Reserved16::<Identity, Impl, OFFSET>,
6036 Reserved17: Reserved17::<Identity, Impl, OFFSET>,
6037 }
6038 }
6039 pub fn matches(iid: &windows::core::GUID) -> bool {
6040 iid == &<ITransactionProperty as ::windows::core::ComInterface>::IID
6041 }
6042}
6043#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_DistributedTransactionCoordinator\"`, `\"implement\"`*"]
6044#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_DistributedTransactionCoordinator"))]
6045pub trait ITransactionProxy_Impl: Sized {
6046 fn Commit(&self, guid: &::windows::core::GUID) -> ::windows::core::Result<()>;
6047 fn Abort(&self) -> ::windows::core::Result<()>;
6048 fn Promote(&self) -> ::windows::core::Result<super::DistributedTransactionCoordinator::ITransaction>;
6049 fn CreateVoter(&self, ptxasync: ::core::option::Option<&super::DistributedTransactionCoordinator::ITransactionVoterNotifyAsync2>) -> ::windows::core::Result<super::DistributedTransactionCoordinator::ITransactionVoterBallotAsync2>;
6050 fn GetIsolationLevel(&self, __midl__itransactionproxy0000: *mut i32) -> ::windows::core::Result<()>;
6051 fn GetIdentifier(&self, pbstridentifier: *mut ::windows::core::GUID) -> ::windows::core::Result<()>;
6052 fn IsReusable(&self, pfisreusable: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>;
6053}
6054#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_DistributedTransactionCoordinator"))]
6055impl ::windows::core::RuntimeName for ITransactionProxy {}
6056#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_DistributedTransactionCoordinator"))]
6057impl ITransactionProxy_Vtbl {
6058 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>() -> ITransactionProxy_Vtbl {
6059 unsafe extern "system" fn Commit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, guid: ::windows::core::GUID) -> ::windows::core::HRESULT {
6060 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6061 let this = (*this).get_impl();
6062 this.Commit(::core::mem::transmute(&guid)).into()
6063 }
6064 unsafe extern "system" fn Abort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6065 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6066 let this = (*this).get_impl();
6067 this.Abort().into()
6068 }
6069 unsafe extern "system" fn Promote<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptransaction: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6070 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6071 let this = (*this).get_impl();
6072 match this.Promote() {
6073 ::core::result::Result::Ok(ok__) => {
6074 ::core::ptr::write(ptransaction, ::core::mem::transmute(ok__));
6075 ::windows::core::HRESULT(0)
6076 }
6077 ::core::result::Result::Err(err) => err.into(),
6078 }
6079 }
6080 unsafe extern "system" fn CreateVoter<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ptxasync: *mut ::core::ffi::c_void, ppballot: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6081 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6082 let this = (*this).get_impl();
6083 match this.CreateVoter(::windows::core::from_raw_borrowed(&ptxasync)) {
6084 ::core::result::Result::Ok(ok__) => {
6085 ::core::ptr::write(ppballot, ::core::mem::transmute(ok__));
6086 ::windows::core::HRESULT(0)
6087 }
6088 ::core::result::Result::Err(err) => err.into(),
6089 }
6090 }
6091 unsafe extern "system" fn GetIsolationLevel<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, __midl__itransactionproxy0000: *mut i32) -> ::windows::core::HRESULT {
6092 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6093 let this = (*this).get_impl();
6094 this.GetIsolationLevel(::core::mem::transmute_copy(&__midl__itransactionproxy0000)).into()
6095 }
6096 unsafe extern "system" fn GetIdentifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbstridentifier: *mut ::windows::core::GUID) -> ::windows::core::HRESULT {
6097 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6098 let this = (*this).get_impl();
6099 this.GetIdentifier(::core::mem::transmute_copy(&pbstridentifier)).into()
6100 }
6101 unsafe extern "system" fn IsReusable<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionProxy_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pfisreusable: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT {
6102 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6103 let this = (*this).get_impl();
6104 this.IsReusable(::core::mem::transmute_copy(&pfisreusable)).into()
6105 }
6106 Self {
6107 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6108 Commit: Commit::<Identity, Impl, OFFSET>,
6109 Abort: Abort::<Identity, Impl, OFFSET>,
6110 Promote: Promote::<Identity, Impl, OFFSET>,
6111 CreateVoter: CreateVoter::<Identity, Impl, OFFSET>,
6112 GetIsolationLevel: GetIsolationLevel::<Identity, Impl, OFFSET>,
6113 GetIdentifier: GetIdentifier::<Identity, Impl, OFFSET>,
6114 IsReusable: IsReusable::<Identity, Impl, OFFSET>,
6115 }
6116 }
6117 pub fn matches(iid: &windows::core::GUID) -> bool {
6118 iid == &<ITransactionProxy as ::windows::core::ComInterface>::IID
6119 }
6120}
6121#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
6122pub trait ITransactionResourcePool_Impl: Sized {
6123 fn PutResource(&self, ppool: ::core::option::Option<&IObjPool>, punk: ::core::option::Option<&::windows::core::IUnknown>) -> ::windows::core::Result<()>;
6124 fn GetResource(&self, ppool: ::core::option::Option<&IObjPool>) -> ::windows::core::Result<::windows::core::IUnknown>;
6125}
6126impl ::windows::core::RuntimeName for ITransactionResourcePool {}
6127impl ITransactionResourcePool_Vtbl {
6128 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionResourcePool_Impl, const OFFSET: isize>() -> ITransactionResourcePool_Vtbl {
6129 unsafe extern "system" fn PutResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionResourcePool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppool: *mut ::core::ffi::c_void, punk: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6130 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6131 let this = (*this).get_impl();
6132 this.PutResource(::windows::core::from_raw_borrowed(&ppool), ::windows::core::from_raw_borrowed(&punk)).into()
6133 }
6134 unsafe extern "system" fn GetResource<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionResourcePool_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppool: *mut ::core::ffi::c_void, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6135 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6136 let this = (*this).get_impl();
6137 match this.GetResource(::windows::core::from_raw_borrowed(&ppool)) {
6138 ::core::result::Result::Ok(ok__) => {
6139 ::core::ptr::write(ppunk, ::core::mem::transmute(ok__));
6140 ::windows::core::HRESULT(0)
6141 }
6142 ::core::result::Result::Err(err) => err.into(),
6143 }
6144 }
6145 Self {
6146 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6147 PutResource: PutResource::<Identity, Impl, OFFSET>,
6148 GetResource: GetResource::<Identity, Impl, OFFSET>,
6149 }
6150 }
6151 pub fn matches(iid: &windows::core::GUID) -> bool {
6152 iid == &<ITransactionResourcePool as ::windows::core::ComInterface>::IID
6153 }
6154}
6155#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
6156pub trait ITransactionStatus_Impl: Sized {
6157 fn SetTransactionStatus(&self, hrstatus: ::windows::core::HRESULT) -> ::windows::core::Result<()>;
6158 fn GetTransactionStatus(&self, phrstatus: *mut ::windows::core::HRESULT) -> ::windows::core::Result<()>;
6159}
6160impl ::windows::core::RuntimeName for ITransactionStatus {}
6161impl ITransactionStatus_Vtbl {
6162 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionStatus_Impl, const OFFSET: isize>() -> ITransactionStatus_Vtbl {
6163 unsafe extern "system" fn SetTransactionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, hrstatus: ::windows::core::HRESULT) -> ::windows::core::HRESULT {
6164 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6165 let this = (*this).get_impl();
6166 this.SetTransactionStatus(::core::mem::transmute_copy(&hrstatus)).into()
6167 }
6168 unsafe extern "system" fn GetTransactionStatus<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITransactionStatus_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, phrstatus: *mut ::windows::core::HRESULT) -> ::windows::core::HRESULT {
6169 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6170 let this = (*this).get_impl();
6171 this.GetTransactionStatus(::core::mem::transmute_copy(&phrstatus)).into()
6172 }
6173 Self {
6174 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6175 SetTransactionStatus: SetTransactionStatus::<Identity, Impl, OFFSET>,
6176 GetTransactionStatus: GetTransactionStatus::<Identity, Impl, OFFSET>,
6177 }
6178 }
6179 pub fn matches(iid: &windows::core::GUID) -> bool {
6180 iid == &<ITransactionStatus as ::windows::core::ComInterface>::IID
6181 }
6182}
6183#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"implement\"`*"]
6184pub trait ITxProxyHolder_Impl: Sized {
6185 fn GetIdentifier(&self, pguidltx: *mut ::windows::core::GUID);
6186}
6187impl ::windows::core::RuntimeName for ITxProxyHolder {}
6188impl ITxProxyHolder_Vtbl {
6189 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITxProxyHolder_Impl, const OFFSET: isize>() -> ITxProxyHolder_Vtbl {
6190 unsafe extern "system" fn GetIdentifier<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ITxProxyHolder_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pguidltx: *mut ::windows::core::GUID) {
6191 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6192 let this = (*this).get_impl();
6193 this.GetIdentifier(::core::mem::transmute_copy(&pguidltx))
6194 }
6195 Self { base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(), GetIdentifier: GetIdentifier::<Identity, Impl, OFFSET> }
6196 }
6197 pub fn matches(iid: &windows::core::GUID) -> bool {
6198 iid == &<ITxProxyHolder as ::windows::core::ComInterface>::IID
6199 }
6200}
6201#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6202#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6203pub trait ObjectContext_Impl: Sized + super::Com::IDispatch_Impl {
6204 fn CreateInstance(&self, bstrprogid: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
6205 fn SetComplete(&self) -> ::windows::core::Result<()>;
6206 fn SetAbort(&self) -> ::windows::core::Result<()>;
6207 fn EnableCommit(&self) -> ::windows::core::Result<()>;
6208 fn DisableCommit(&self) -> ::windows::core::Result<()>;
6209 fn IsInTransaction(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
6210 fn IsSecurityEnabled(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
6211 fn IsCallerInRole(&self, bstrrole: &::windows::core::BSTR) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>;
6212 fn Count(&self) -> ::windows::core::Result<i32>;
6213 fn get_Item(&self, name: &::windows::core::BSTR) -> ::windows::core::Result<super::Com::VARIANT>;
6214 fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown>;
6215 fn Security(&self) -> ::windows::core::Result<SecurityProperty>;
6216 fn ContextInfo(&self) -> ::windows::core::Result<ContextInfo>;
6217}
6218#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6219impl ::windows::core::RuntimeName for ObjectContext {}
6220#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6221impl ObjectContext_Vtbl {
6222 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>() -> ObjectContext_Vtbl {
6223 unsafe extern "system" fn CreateInstance<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrprogid: ::std::mem::MaybeUninit<::windows::core::BSTR>, pobject: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
6224 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6225 let this = (*this).get_impl();
6226 match this.CreateInstance(::core::mem::transmute(&bstrprogid)) {
6227 ::core::result::Result::Ok(ok__) => {
6228 ::core::ptr::write(pobject, ::core::mem::transmute(ok__));
6229 ::windows::core::HRESULT(0)
6230 }
6231 ::core::result::Result::Err(err) => err.into(),
6232 }
6233 }
6234 unsafe extern "system" fn SetComplete<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6235 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6236 let this = (*this).get_impl();
6237 this.SetComplete().into()
6238 }
6239 unsafe extern "system" fn SetAbort<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6240 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6241 let this = (*this).get_impl();
6242 this.SetAbort().into()
6243 }
6244 unsafe extern "system" fn EnableCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6245 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6246 let this = (*this).get_impl();
6247 this.EnableCommit().into()
6248 }
6249 unsafe extern "system" fn DisableCommit<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6250 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6251 let this = (*this).get_impl();
6252 this.DisableCommit().into()
6253 }
6254 unsafe extern "system" fn IsInTransaction<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbisintx: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6255 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6256 let this = (*this).get_impl();
6257 match this.IsInTransaction() {
6258 ::core::result::Result::Ok(ok__) => {
6259 ::core::ptr::write(pbisintx, ::core::mem::transmute(ok__));
6260 ::windows::core::HRESULT(0)
6261 }
6262 ::core::result::Result::Err(err) => err.into(),
6263 }
6264 }
6265 unsafe extern "system" fn IsSecurityEnabled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbisenabled: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6266 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6267 let this = (*this).get_impl();
6268 match this.IsSecurityEnabled() {
6269 ::core::result::Result::Ok(ok__) => {
6270 ::core::ptr::write(pbisenabled, ::core::mem::transmute(ok__));
6271 ::windows::core::HRESULT(0)
6272 }
6273 ::core::result::Result::Err(err) => err.into(),
6274 }
6275 }
6276 unsafe extern "system" fn IsCallerInRole<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrrole: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbinrole: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6277 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6278 let this = (*this).get_impl();
6279 match this.IsCallerInRole(::core::mem::transmute(&bstrrole)) {
6280 ::core::result::Result::Ok(ok__) => {
6281 ::core::ptr::write(pbinrole, ::core::mem::transmute(ok__));
6282 ::windows::core::HRESULT(0)
6283 }
6284 ::core::result::Result::Err(err) => err.into(),
6285 }
6286 }
6287 unsafe extern "system" fn Count<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, plcount: *mut i32) -> ::windows::core::HRESULT {
6288 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6289 let this = (*this).get_impl();
6290 match this.Count() {
6291 ::core::result::Result::Ok(ok__) => {
6292 ::core::ptr::write(plcount, ::core::mem::transmute(ok__));
6293 ::windows::core::HRESULT(0)
6294 }
6295 ::core::result::Result::Err(err) => err.into(),
6296 }
6297 }
6298 unsafe extern "system" fn get_Item<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, pitem: *mut super::Com::VARIANT) -> ::windows::core::HRESULT {
6299 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6300 let this = (*this).get_impl();
6301 match this.get_Item(::core::mem::transmute(&name)) {
6302 ::core::result::Result::Ok(ok__) => {
6303 ::core::ptr::write(pitem, ::core::mem::transmute(ok__));
6304 ::windows::core::HRESULT(0)
6305 }
6306 ::core::result::Result::Err(err) => err.into(),
6307 }
6308 }
6309 unsafe extern "system" fn _NewEnum<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6310 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6311 let this = (*this).get_impl();
6312 match this._NewEnum() {
6313 ::core::result::Result::Ok(ok__) => {
6314 ::core::ptr::write(ppenum, ::core::mem::transmute(ok__));
6315 ::windows::core::HRESULT(0)
6316 }
6317 ::core::result::Result::Err(err) => err.into(),
6318 }
6319 }
6320 unsafe extern "system" fn Security<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppsecurityproperty: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6321 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6322 let this = (*this).get_impl();
6323 match this.Security() {
6324 ::core::result::Result::Ok(ok__) => {
6325 ::core::ptr::write(ppsecurityproperty, ::core::mem::transmute(ok__));
6326 ::windows::core::HRESULT(0)
6327 }
6328 ::core::result::Result::Err(err) => err.into(),
6329 }
6330 }
6331 unsafe extern "system" fn ContextInfo<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectContext_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, ppcontextinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6332 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6333 let this = (*this).get_impl();
6334 match this.ContextInfo() {
6335 ::core::result::Result::Ok(ok__) => {
6336 ::core::ptr::write(ppcontextinfo, ::core::mem::transmute(ok__));
6337 ::windows::core::HRESULT(0)
6338 }
6339 ::core::result::Result::Err(err) => err.into(),
6340 }
6341 }
6342 Self {
6343 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6344 CreateInstance: CreateInstance::<Identity, Impl, OFFSET>,
6345 SetComplete: SetComplete::<Identity, Impl, OFFSET>,
6346 SetAbort: SetAbort::<Identity, Impl, OFFSET>,
6347 EnableCommit: EnableCommit::<Identity, Impl, OFFSET>,
6348 DisableCommit: DisableCommit::<Identity, Impl, OFFSET>,
6349 IsInTransaction: IsInTransaction::<Identity, Impl, OFFSET>,
6350 IsSecurityEnabled: IsSecurityEnabled::<Identity, Impl, OFFSET>,
6351 IsCallerInRole: IsCallerInRole::<Identity, Impl, OFFSET>,
6352 Count: Count::<Identity, Impl, OFFSET>,
6353 get_Item: get_Item::<Identity, Impl, OFFSET>,
6354 _NewEnum: _NewEnum::<Identity, Impl, OFFSET>,
6355 Security: Security::<Identity, Impl, OFFSET>,
6356 ContextInfo: ContextInfo::<Identity, Impl, OFFSET>,
6357 }
6358 }
6359 pub fn matches(iid: &windows::core::GUID) -> bool {
6360 iid == &<ObjectContext as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
6361 }
6362}
6363#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"implement\"`*"]
6364#[cfg(feature = "Win32_Foundation")]
6365pub trait ObjectControl_Impl: Sized {
6366 fn Activate(&self) -> ::windows::core::Result<()>;
6367 fn Deactivate(&self) -> ::windows::core::Result<()>;
6368 fn CanBePooled(&self, pbpoolable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>;
6369}
6370#[cfg(feature = "Win32_Foundation")]
6371impl ::windows::core::RuntimeName for ObjectControl {}
6372#[cfg(feature = "Win32_Foundation")]
6373impl ObjectControl_Vtbl {
6374 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectControl_Impl, const OFFSET: isize>() -> ObjectControl_Vtbl {
6375 unsafe extern "system" fn Activate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6376 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6377 let this = (*this).get_impl();
6378 this.Activate().into()
6379 }
6380 unsafe extern "system" fn Deactivate<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
6381 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6382 let this = (*this).get_impl();
6383 this.Deactivate().into()
6384 }
6385 unsafe extern "system" fn CanBePooled<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: ObjectControl_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, pbpoolable: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT {
6386 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6387 let this = (*this).get_impl();
6388 this.CanBePooled(::core::mem::transmute_copy(&pbpoolable)).into()
6389 }
6390 Self {
6391 base__: ::windows::core::IUnknown_Vtbl::new::<Identity, OFFSET>(),
6392 Activate: Activate::<Identity, Impl, OFFSET>,
6393 Deactivate: Deactivate::<Identity, Impl, OFFSET>,
6394 CanBePooled: CanBePooled::<Identity, Impl, OFFSET>,
6395 }
6396 }
6397 pub fn matches(iid: &windows::core::GUID) -> bool {
6398 iid == &<ObjectControl as ::windows::core::ComInterface>::IID
6399 }
6400}
6401#[doc = "*Required features: `\"Win32_System_ComponentServices\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`, `\"implement\"`*"]
6402#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6403pub trait SecurityProperty_Impl: Sized + super::Com::IDispatch_Impl {
6404 fn GetDirectCallerName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
6405 fn GetDirectCreatorName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
6406 fn GetOriginalCallerName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
6407 fn GetOriginalCreatorName(&self) -> ::windows::core::Result<::windows::core::BSTR>;
6408}
6409#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6410impl ::windows::core::RuntimeName for SecurityProperty {}
6411#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6412impl SecurityProperty_Vtbl {
6413 pub const fn new<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: SecurityProperty_Impl, const OFFSET: isize>() -> SecurityProperty_Vtbl {
6414 unsafe extern "system" fn GetDirectCallerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: SecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6415 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6416 let this = (*this).get_impl();
6417 match this.GetDirectCallerName() {
6418 ::core::result::Result::Ok(ok__) => {
6419 ::core::ptr::write(bstrusername, ::core::mem::transmute(ok__));
6420 ::windows::core::HRESULT(0)
6421 }
6422 ::core::result::Result::Err(err) => err.into(),
6423 }
6424 }
6425 unsafe extern "system" fn GetDirectCreatorName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: SecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6426 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6427 let this = (*this).get_impl();
6428 match this.GetDirectCreatorName() {
6429 ::core::result::Result::Ok(ok__) => {
6430 ::core::ptr::write(bstrusername, ::core::mem::transmute(ok__));
6431 ::windows::core::HRESULT(0)
6432 }
6433 ::core::result::Result::Err(err) => err.into(),
6434 }
6435 }
6436 unsafe extern "system" fn GetOriginalCallerName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: SecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6437 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6438 let this = (*this).get_impl();
6439 match this.GetOriginalCallerName() {
6440 ::core::result::Result::Ok(ok__) => {
6441 ::core::ptr::write(bstrusername, ::core::mem::transmute(ok__));
6442 ::windows::core::HRESULT(0)
6443 }
6444 ::core::result::Result::Err(err) => err.into(),
6445 }
6446 }
6447 unsafe extern "system" fn GetOriginalCreatorName<Identity: ::windows::core::IUnknownImpl<Impl = Impl>, Impl: SecurityProperty_Impl, const OFFSET: isize>(this: *mut ::core::ffi::c_void, bstrusername: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT {
6448 let this = (this as *const *const ()).offset(OFFSET) as *const Identity;
6449 let this = (*this).get_impl();
6450 match this.GetOriginalCreatorName() {
6451 ::core::result::Result::Ok(ok__) => {
6452 ::core::ptr::write(bstrusername, ::core::mem::transmute(ok__));
6453 ::windows::core::HRESULT(0)
6454 }
6455 ::core::result::Result::Err(err) => err.into(),
6456 }
6457 }
6458 Self {
6459 base__: super::Com::IDispatch_Vtbl::new::<Identity, Impl, OFFSET>(),
6460 GetDirectCallerName: GetDirectCallerName::<Identity, Impl, OFFSET>,
6461 GetDirectCreatorName: GetDirectCreatorName::<Identity, Impl, OFFSET>,
6462 GetOriginalCallerName: GetOriginalCallerName::<Identity, Impl, OFFSET>,
6463 GetOriginalCreatorName: GetOriginalCreatorName::<Identity, Impl, OFFSET>,
6464 }
6465 }
6466 pub fn matches(iid: &windows::core::GUID) -> bool {
6467 iid == &<SecurityProperty as ::windows::core::ComInterface>::IID || iid == &<super::Com::IDispatch as ::windows::core::ComInterface>::IID
6468 }
6469}