1#[cfg(feature = "Win32_System_Com_CallObj")]
2#[doc = "Required features: `\"Win32_System_Com_CallObj\"`"]
3pub mod CallObj;
4#[cfg(feature = "Win32_System_Com_ChannelCredentials")]
5#[doc = "Required features: `\"Win32_System_Com_ChannelCredentials\"`"]
6pub mod ChannelCredentials;
7#[cfg(feature = "Win32_System_Com_Events")]
8#[doc = "Required features: `\"Win32_System_Com_Events\"`"]
9pub mod Events;
10#[cfg(feature = "Win32_System_Com_Marshal")]
11#[doc = "Required features: `\"Win32_System_Com_Marshal\"`"]
12pub mod Marshal;
13#[cfg(feature = "Win32_System_Com_StructuredStorage")]
14#[doc = "Required features: `\"Win32_System_Com_StructuredStorage\"`"]
15pub mod StructuredStorage;
16#[cfg(feature = "Win32_System_Com_UI")]
17#[doc = "Required features: `\"Win32_System_Com_UI\"`"]
18pub mod UI;
19#[cfg(feature = "Win32_System_Com_Urlmon")]
20#[doc = "Required features: `\"Win32_System_Com_Urlmon\"`"]
21pub mod Urlmon;
22#[inline]
23pub unsafe fn BindMoniker<P0, T>(pmk: P0, grfopt: u32) -> ::windows_core::Result<T>
24where
25 P0: ::windows_core::IntoParam<IMoniker>,
26 T: ::windows_core::ComInterface,
27{
28 ::windows_targets::link!("ole32.dll" "system" fn BindMoniker(pmk : * mut::core::ffi::c_void, grfopt : u32, iidresult : *const ::windows_core::GUID, ppvresult : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
29 let mut result__: *mut c_void = ::std::ptr::null_mut();
30 BindMoniker(pmk:pmk.into_param().abi(), grfopt, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
31}
32#[inline]
33pub unsafe fn CLSIDFromProgID<P0>(lpszprogid: P0) -> ::windows_core::Result<::windows_core::GUID>
34where
35 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
36{
37 ::windows_targets::link!("ole32.dll" "system" fn CLSIDFromProgID(lpszprogid : ::windows_core::PCWSTR, lpclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
38 let mut result__: GUID = ::std::mem::zeroed();
39 CLSIDFromProgID(lpszprogid:lpszprogid.into_param().abi(), &mut result__).from_abi(result__)
40}
41#[inline]
42pub unsafe fn CLSIDFromProgIDEx<P0>(lpszprogid: P0) -> ::windows_core::Result<::windows_core::GUID>
43where
44 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
45{
46 ::windows_targets::link!("ole32.dll" "system" fn CLSIDFromProgIDEx(lpszprogid : ::windows_core::PCWSTR, lpclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
47 let mut result__: GUID = ::std::mem::zeroed();
48 CLSIDFromProgIDEx(lpszprogid:lpszprogid.into_param().abi(), &mut result__).from_abi(result__)
49}
50#[inline]
51pub unsafe fn CLSIDFromString<P0>(lpsz: P0) -> ::windows_core::Result<::windows_core::GUID>
52where
53 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
54{
55 ::windows_targets::link!("ole32.dll" "system" fn CLSIDFromString(lpsz : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
56 let mut result__: GUID = ::std::mem::zeroed();
57 CLSIDFromString(lpsz:lpsz.into_param().abi(), &mut result__).from_abi(result__)
58}
59#[inline]
60pub unsafe fn CoAddRefServerProcess() -> u32 {
61 ::windows_targets::link!("ole32.dll" "system" fn CoAddRefServerProcess() -> u32);
62 CoAddRefServerProcess()
63}
64#[inline]
65pub unsafe fn CoAllowSetForegroundWindow<P0>(punk: P0, lpvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()>
66where
67 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
68{
69 ::windows_targets::link!("ole32.dll" "system" fn CoAllowSetForegroundWindow(punk : * mut::core::ffi::c_void, lpvreserved : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
70 CoAllowSetForegroundWindow(punk:punk.into_param().abi(), ::core::mem::transmute(src:lpvreserved.unwrap_or(::std::ptr::null()))).ok()
71}
72#[inline]
73pub unsafe fn CoAllowUnmarshalerCLSID(clsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
74 ::windows_targets::link!("ole32.dll" "system" fn CoAllowUnmarshalerCLSID(clsid : *const ::windows_core::GUID) -> ::windows_core::HRESULT);
75 CoAllowUnmarshalerCLSID(clsid).ok()
76}
77#[inline]
78pub unsafe fn CoBuildVersion() -> u32 {
79 ::windows_targets::link!("ole32.dll" "system" fn CoBuildVersion() -> u32);
80 CoBuildVersion()
81}
82#[inline]
83pub unsafe fn CoCancelCall(dwthreadid: u32, ultimeout: u32) -> ::windows_core::Result<()> {
84 ::windows_targets::link!("ole32.dll" "system" fn CoCancelCall(dwthreadid : u32, ultimeout : u32) -> ::windows_core::HRESULT);
85 CoCancelCall(dwthreadid, ultimeout).ok()
86}
87#[inline]
88pub unsafe fn CoCopyProxy<P0>(pproxy: P0) -> ::windows_core::Result<::windows_core::IUnknown>
89where
90 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
91{
92 ::windows_targets::link!("ole32.dll" "system" fn CoCopyProxy(pproxy : * mut::core::ffi::c_void, ppcopy : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
93 let mut result__: *mut c_void = ::std::mem::zeroed();
94 CoCopyProxy(pproxy:pproxy.into_param().abi(), &mut result__).from_abi(result__)
95}
96#[inline]
97pub unsafe fn CoCreateFreeThreadedMarshaler<P0>(punkouter: P0) -> ::windows_core::Result<::windows_core::IUnknown>
98where
99 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
100{
101 ::windows_targets::link!("ole32.dll" "system" fn CoCreateFreeThreadedMarshaler(punkouter : * mut::core::ffi::c_void, ppunkmarshal : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
102 let mut result__: *mut c_void = ::std::mem::zeroed();
103 CoCreateFreeThreadedMarshaler(punkouter:punkouter.into_param().abi(), &mut result__).from_abi(result__)
104}
105#[inline]
106pub unsafe fn CoCreateGuid() -> ::windows_core::Result<::windows_core::GUID> {
107 ::windows_targets::link!("ole32.dll" "system" fn CoCreateGuid(pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
108 let mut result__: GUID = ::std::mem::zeroed();
109 CoCreateGuid(&mut result__).from_abi(result__)
110}
111#[inline]
112pub unsafe fn CoCreateInstance<P0, T>(rclsid: *const ::windows_core::GUID, punkouter: P0, dwclscontext: CLSCTX) -> ::windows_core::Result<T>
113where
114 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
115 T: ::windows_core::ComInterface,
116{
117 ::windows_targets::link!("ole32.dll" "system" fn CoCreateInstance(rclsid : *const ::windows_core::GUID, punkouter : * mut::core::ffi::c_void, dwclscontext : CLSCTX, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
118 let mut result__: *mut c_void = ::std::ptr::null_mut();
119 CoCreateInstance(rclsid, punkouter:punkouter.into_param().abi(), dwclscontext, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
120}
121#[inline]
122pub unsafe fn CoCreateInstanceEx<P0>(clsid: *const ::windows_core::GUID, punkouter: P0, dwclsctx: CLSCTX, pserverinfo: ::core::option::Option<*const COSERVERINFO>, presults: &mut [MULTI_QI]) -> ::windows_core::Result<()>
123where
124 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
125{
126 ::windows_targets::link!("ole32.dll" "system" fn CoCreateInstanceEx(clsid : *const ::windows_core::GUID, punkouter : * mut::core::ffi::c_void, dwclsctx : CLSCTX, pserverinfo : *const COSERVERINFO, dwcount : u32, presults : *mut MULTI_QI) -> ::windows_core::HRESULT);
127 CoCreateInstanceEx(clsid, punkouter:punkouter.into_param().abi(), dwclsctx, ::core::mem::transmute(pserverinfo.unwrap_or(::std::ptr::null())), dwcount:presults.len().try_into().unwrap(), ::core::mem::transmute(src:presults.as_ptr())).ok()
128}
129#[inline]
130pub unsafe fn CoCreateInstanceFromApp<P0>(clsid: *const ::windows_core::GUID, punkouter: P0, dwclsctx: CLSCTX, reserved: ::core::option::Option<*const ::core::ffi::c_void>, presults: &mut [MULTI_QI]) -> ::windows_core::Result<()>
131where
132 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
133{
134 ::windows_targets::link!("ole32.dll" "system" fn CoCreateInstanceFromApp(clsid : *const ::windows_core::GUID, punkouter : * mut::core::ffi::c_void, dwclsctx : CLSCTX, reserved : *const ::core::ffi::c_void, dwcount : u32, presults : *mut MULTI_QI) -> ::windows_core::HRESULT);
135 CoCreateInstanceFromApp(clsid, punkouter:punkouter.into_param().abi(), dwclsctx, ::core::mem::transmute(reserved.unwrap_or(::std::ptr::null())), dwcount:presults.len().try_into().unwrap(), ::core::mem::transmute(src:presults.as_ptr())).ok()
136}
137#[inline]
138pub unsafe fn CoDecrementMTAUsage<P0>(cookie: P0) -> ::windows_core::Result<()>
139where
140 P0: ::windows_core::IntoParam<CO_MTA_USAGE_COOKIE>,
141{
142 ::windows_targets::link!("ole32.dll" "system" fn CoDecrementMTAUsage(cookie : CO_MTA_USAGE_COOKIE) -> ::windows_core::HRESULT);
143 CoDecrementMTAUsage(cookie:cookie.into_param().abi()).ok()
144}
145#[inline]
146pub unsafe fn CoDisableCallCancellation(preserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
147 ::windows_targets::link!("ole32.dll" "system" fn CoDisableCallCancellation(preserved : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
148 CoDisableCallCancellation(::core::mem::transmute(src:preserved.unwrap_or(::std::ptr::null()))).ok()
149}
150#[inline]
151pub unsafe fn CoDisconnectContext(dwtimeout: u32) -> ::windows_core::Result<()> {
152 ::windows_targets::link!("ole32.dll" "system" fn CoDisconnectContext(dwtimeout : u32) -> ::windows_core::HRESULT);
153 CoDisconnectContext(dwtimeout).ok()
154}
155#[inline]
156pub unsafe fn CoDisconnectObject<P0>(punk: P0, dwreserved: u32) -> ::windows_core::Result<()>
157where
158 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
159{
160 ::windows_targets::link!("ole32.dll" "system" fn CoDisconnectObject(punk : * mut::core::ffi::c_void, dwreserved : u32) -> ::windows_core::HRESULT);
161 CoDisconnectObject(punk:punk.into_param().abi(), dwreserved).ok()
162}
163#[doc = "Required features: `\"Win32_Foundation\"`"]
164#[cfg(feature = "Win32_Foundation")]
165#[inline]
166pub unsafe fn CoDosDateTimeToFileTime(ndosdate: u16, ndostime: u16, lpfiletime: *mut super::super::Foundation::FILETIME) -> super::super::Foundation::BOOL {
167 ::windows_targets::link!("ole32.dll" "system" fn CoDosDateTimeToFileTime(ndosdate : u16, ndostime : u16, lpfiletime : *mut super::super::Foundation:: FILETIME) -> super::super::Foundation:: BOOL);
168 CoDosDateTimeToFileTime(ndosdate, ndostime, lpfiletime)
169}
170#[inline]
171pub unsafe fn CoEnableCallCancellation(preserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
172 ::windows_targets::link!("ole32.dll" "system" fn CoEnableCallCancellation(preserved : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
173 CoEnableCallCancellation(::core::mem::transmute(src:preserved.unwrap_or(::std::ptr::null()))).ok()
174}
175#[doc = "Required features: `\"Win32_Foundation\"`"]
176#[cfg(feature = "Win32_Foundation")]
177#[inline]
178pub unsafe fn CoFileTimeNow() -> ::windows_core::Result<super::super::Foundation::FILETIME> {
179 ::windows_targets::link!("ole32.dll" "system" fn CoFileTimeNow(lpfiletime : *mut super::super::Foundation:: FILETIME) -> ::windows_core::HRESULT);
180 let mut result__: FILETIME = ::std::mem::zeroed();
181 CoFileTimeNow(&mut result__).from_abi(result__)
182}
183#[doc = "Required features: `\"Win32_Foundation\"`"]
184#[cfg(feature = "Win32_Foundation")]
185#[inline]
186pub unsafe fn CoFileTimeToDosDateTime(lpfiletime: *const super::super::Foundation::FILETIME, lpdosdate: *mut u16, lpdostime: *mut u16) -> super::super::Foundation::BOOL {
187 ::windows_targets::link!("ole32.dll" "system" fn CoFileTimeToDosDateTime(lpfiletime : *const super::super::Foundation:: FILETIME, lpdosdate : *mut u16, lpdostime : *mut u16) -> super::super::Foundation:: BOOL);
188 CoFileTimeToDosDateTime(lpfiletime, lpdosdate, lpdostime)
189}
190#[inline]
191pub unsafe fn CoFreeAllLibraries() {
192 ::windows_targets::link!("ole32.dll" "system" fn CoFreeAllLibraries() -> ());
193 CoFreeAllLibraries()
194}
195#[doc = "Required features: `\"Win32_Foundation\"`"]
196#[cfg(feature = "Win32_Foundation")]
197#[inline]
198pub unsafe fn CoFreeLibrary<P0>(hinst: P0)
199where
200 P0: ::windows_core::IntoParam<super::super::Foundation::HINSTANCE>,
201{
202 ::windows_targets::link!("ole32.dll" "system" fn CoFreeLibrary(hinst : super::super::Foundation:: HINSTANCE) -> ());
203 CoFreeLibrary(hinst:hinst.into_param().abi())
204}
205#[inline]
206pub unsafe fn CoFreeUnusedLibraries() {
207 ::windows_targets::link!("ole32.dll" "system" fn CoFreeUnusedLibraries() -> ());
208 CoFreeUnusedLibraries()
209}
210#[inline]
211pub unsafe fn CoFreeUnusedLibrariesEx(dwunloaddelay: u32, dwreserved: u32) {
212 ::windows_targets::link!("ole32.dll" "system" fn CoFreeUnusedLibrariesEx(dwunloaddelay : u32, dwreserved : u32) -> ());
213 CoFreeUnusedLibrariesEx(dwunloaddelay, dwreserved)
214}
215#[inline]
216pub unsafe fn CoGetApartmentType(papttype: *mut APTTYPE, paptqualifier: *mut APTTYPEQUALIFIER) -> ::windows_core::Result<()> {
217 ::windows_targets::link!("ole32.dll" "system" fn CoGetApartmentType(papttype : *mut APTTYPE, paptqualifier : *mut APTTYPEQUALIFIER) -> ::windows_core::HRESULT);
218 CoGetApartmentType(papttype, paptqualifier).ok()
219}
220#[inline]
221pub unsafe fn CoGetCallContext<T>() -> ::windows_core::Result<T>
222where
223 T: ::windows_core::ComInterface,
224{
225 ::windows_targets::link!("ole32.dll" "system" fn CoGetCallContext(riid : *const ::windows_core::GUID, ppinterface : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
226 let mut result__: *mut c_void = ::std::ptr::null_mut();
227 CoGetCallContext(&<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
228}
229#[inline]
230pub unsafe fn CoGetCallerTID() -> ::windows_core::Result<u32> {
231 ::windows_targets::link!("ole32.dll" "system" fn CoGetCallerTID(lpdwtid : *mut u32) -> ::windows_core::HRESULT);
232 let mut result__: u32 = ::std::mem::zeroed();
233 CoGetCallerTID(&mut result__).from_abi(result__)
234}
235#[inline]
236pub unsafe fn CoGetCancelObject<T>(dwthreadid: u32) -> ::windows_core::Result<T>
237where
238 T: ::windows_core::ComInterface,
239{
240 ::windows_targets::link!("ole32.dll" "system" fn CoGetCancelObject(dwthreadid : u32, iid : *const ::windows_core::GUID, ppunk : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
241 let mut result__: *mut c_void = ::std::ptr::null_mut();
242 CoGetCancelObject(dwthreadid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
243}
244#[inline]
245pub unsafe fn CoGetClassObject<T>(rclsid: *const ::windows_core::GUID, dwclscontext: CLSCTX, pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<T>
246where
247 T: ::windows_core::ComInterface,
248{
249 ::windows_targets::link!("ole32.dll" "system" fn CoGetClassObject(rclsid : *const ::windows_core::GUID, dwclscontext : u32, pvreserved : *const ::core::ffi::c_void, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
250 let mut result__: *mut c_void = ::std::ptr::null_mut();
251 CoGetClassObject(rclsid, dwclscontext:dwclscontext.0 as _, ::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
252}
253#[inline]
254pub unsafe fn CoGetContextToken() -> ::windows_core::Result<usize> {
255 ::windows_targets::link!("ole32.dll" "system" fn CoGetContextToken(ptoken : *mut usize) -> ::windows_core::HRESULT);
256 let mut result__: usize = ::std::mem::zeroed();
257 CoGetContextToken(&mut result__).from_abi(result__)
258}
259#[inline]
260pub unsafe fn CoGetCurrentLogicalThreadId() -> ::windows_core::Result<::windows_core::GUID> {
261 ::windows_targets::link!("ole32.dll" "system" fn CoGetCurrentLogicalThreadId(pguid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
262 let mut result__: GUID = ::std::mem::zeroed();
263 CoGetCurrentLogicalThreadId(&mut result__).from_abi(result__)
264}
265#[inline]
266pub unsafe fn CoGetCurrentProcess() -> u32 {
267 ::windows_targets::link!("ole32.dll" "system" fn CoGetCurrentProcess() -> u32);
268 CoGetCurrentProcess()
269}
270#[inline]
271pub unsafe fn CoGetMalloc(dwmemcontext: u32) -> ::windows_core::Result<IMalloc> {
272 ::windows_targets::link!("ole32.dll" "system" fn CoGetMalloc(dwmemcontext : u32, ppmalloc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
273 let mut result__: *mut c_void = ::std::mem::zeroed();
274 CoGetMalloc(dwmemcontext, &mut result__).from_abi(result__)
275}
276#[inline]
277pub unsafe fn CoGetObject<P0, T>(pszname: P0, pbindoptions: ::core::option::Option<*const BIND_OPTS>) -> ::windows_core::Result<T>
278where
279 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
280 T: ::windows_core::ComInterface,
281{
282 ::windows_targets::link!("ole32.dll" "system" fn CoGetObject(pszname : ::windows_core::PCWSTR, pbindoptions : *const BIND_OPTS, riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
283 let mut result__: *mut c_void = ::std::ptr::null_mut();
284 CoGetObject(pszname:pszname.into_param().abi(), ::core::mem::transmute(pbindoptions.unwrap_or(::std::ptr::null())), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
285}
286#[inline]
287pub unsafe fn CoGetObjectContext<T>() -> ::windows_core::Result<T>
288where
289 T: ::windows_core::ComInterface,
290{
291 ::windows_targets::link!("ole32.dll" "system" fn CoGetObjectContext(riid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
292 let mut result__: *mut c_void = ::std::ptr::null_mut();
293 CoGetObjectContext(&<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
294}
295#[inline]
296pub unsafe fn CoGetPSClsid(riid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> {
297 ::windows_targets::link!("ole32.dll" "system" fn CoGetPSClsid(riid : *const ::windows_core::GUID, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
298 let mut result__: GUID = ::std::mem::zeroed();
299 CoGetPSClsid(riid, &mut result__).from_abi(result__)
300}
301#[doc = "Required features: `\"Win32_Security\"`"]
302#[cfg(feature = "Win32_Security")]
303#[inline]
304pub unsafe fn CoGetSystemSecurityPermissions(comsdtype: COMSD, ppsd: *mut super::super::Security::PSECURITY_DESCRIPTOR) -> ::windows_core::Result<()> {
305 ::windows_targets::link!("ole32.dll" "system" fn CoGetSystemSecurityPermissions(comsdtype : COMSD, ppsd : *mut super::super::Security:: PSECURITY_DESCRIPTOR) -> ::windows_core::HRESULT);
306 CoGetSystemSecurityPermissions(comsdtype, ppsd).ok()
307}
308#[inline]
309pub unsafe fn CoGetTreatAsClass(clsidold: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> {
310 ::windows_targets::link!("ole32.dll" "system" fn CoGetTreatAsClass(clsidold : *const ::windows_core::GUID, pclsidnew : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
311 let mut result__: GUID = ::std::mem::zeroed();
312 CoGetTreatAsClass(clsidold, &mut result__).from_abi(result__)
313}
314#[inline]
315pub unsafe fn CoImpersonateClient() -> ::windows_core::Result<()> {
316 ::windows_targets::link!("ole32.dll" "system" fn CoImpersonateClient() -> ::windows_core::HRESULT);
317 CoImpersonateClient().ok()
318}
319#[inline]
320pub unsafe fn CoIncrementMTAUsage() -> ::windows_core::Result<CO_MTA_USAGE_COOKIE> {
321 ::windows_targets::link!("ole32.dll" "system" fn CoIncrementMTAUsage(pcookie : *mut CO_MTA_USAGE_COOKIE) -> ::windows_core::HRESULT);
322 let mut result__: CO_MTA_USAGE_COOKIE = ::std::mem::zeroed();
323 CoIncrementMTAUsage(&mut result__).from_abi(result__)
324}
325#[inline]
326pub unsafe fn CoInitialize(pvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
327 ::windows_targets::link!("ole32.dll" "system" fn CoInitialize(pvreserved : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
328 CoInitialize(::core::mem::transmute(src:pvreserved.unwrap_or(::std::ptr::null()))).ok()
329}
330#[inline]
331pub unsafe fn CoInitializeEx(pvreserved: ::core::option::Option<*const ::core::ffi::c_void>, dwcoinit: COINIT) -> ::windows_core::Result<()> {
332 ::windows_targets::link!("ole32.dll" "system" fn CoInitializeEx(pvreserved : *const ::core::ffi::c_void, dwcoinit : u32) -> ::windows_core::HRESULT);
333 CoInitializeEx(::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null())), dwcoinit:dwcoinit.0 as _).ok()
334}
335#[doc = "Required features: `\"Win32_Security\"`"]
336#[cfg(feature = "Win32_Security")]
337#[inline]
338pub unsafe fn CoInitializeSecurity<P0>(psecdesc: P0, cauthsvc: i32, asauthsvc: ::core::option::Option<*const SOLE_AUTHENTICATION_SERVICE>, preserved1: ::core::option::Option<*const ::core::ffi::c_void>, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthlist: ::core::option::Option<*const ::core::ffi::c_void>, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES, preserved3: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()>
339where
340 P0: ::windows_core::IntoParam<super::super::Security::PSECURITY_DESCRIPTOR>,
341{
342 ::windows_targets::link!("ole32.dll" "system" fn CoInitializeSecurity(psecdesc : super::super::Security:: PSECURITY_DESCRIPTOR, cauthsvc : i32, asauthsvc : *const SOLE_AUTHENTICATION_SERVICE, preserved1 : *const ::core::ffi::c_void, dwauthnlevel : RPC_C_AUTHN_LEVEL, dwimplevel : RPC_C_IMP_LEVEL, pauthlist : *const ::core::ffi::c_void, dwcapabilities : u32, preserved3 : *const ::core::ffi::c_void) -> ::windows_core::HRESULT);
343 CoInitializeSecurity(psecdesc:psecdesc.into_param().abi(), cauthsvc, ::core::mem::transmute(asauthsvc.unwrap_or(::std::ptr::null())), ::core::mem::transmute(preserved1.unwrap_or(::std::ptr::null())), dwauthnlevel, dwimplevel, ::core::mem::transmute(pauthlist.unwrap_or(::std::ptr::null())), dwcapabilities:dwcapabilities.0 as _, ::core::mem::transmute(src:preserved3.unwrap_or(::std::ptr::null()))).ok()
344}
345#[inline]
346pub unsafe fn CoInstall<P0, P1>(pbc: P0, dwflags: u32, pclassspec: *const uCLSSPEC, pquery: *const QUERYCONTEXT, pszcodebase: P1) -> ::windows_core::Result<()>
347where
348 P0: ::windows_core::IntoParam<IBindCtx>,
349 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
350{
351 ::windows_targets::link!("ole32.dll" "system" fn CoInstall(pbc : * mut::core::ffi::c_void, dwflags : u32, pclassspec : *const uCLSSPEC, pquery : *const QUERYCONTEXT, pszcodebase : ::windows_core::PCWSTR) -> ::windows_core::HRESULT);
352 CoInstall(pbc:pbc.into_param().abi(), dwflags, pclassspec, pquery, pszcodebase:pszcodebase.into_param().abi()).ok()
353}
354#[inline]
355pub unsafe fn CoInvalidateRemoteMachineBindings<P0>(pszmachinename: P0) -> ::windows_core::Result<()>
356where
357 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
358{
359 ::windows_targets::link!("ole32.dll" "system" fn CoInvalidateRemoteMachineBindings(pszmachinename : ::windows_core::PCWSTR) -> ::windows_core::HRESULT);
360 CoInvalidateRemoteMachineBindings(pszmachinename:pszmachinename.into_param().abi()).ok()
361}
362#[doc = "Required features: `\"Win32_Foundation\"`"]
363#[cfg(feature = "Win32_Foundation")]
364#[inline]
365pub unsafe fn CoIsHandlerConnected<P0>(punk: P0) -> super::super::Foundation::BOOL
366where
367 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
368{
369 ::windows_targets::link!("ole32.dll" "system" fn CoIsHandlerConnected(punk : * mut::core::ffi::c_void) -> super::super::Foundation:: BOOL);
370 CoIsHandlerConnected(punk:punk.into_param().abi())
371}
372#[doc = "Required features: `\"Win32_Foundation\"`"]
373#[cfg(feature = "Win32_Foundation")]
374#[inline]
375pub unsafe fn CoIsOle1Class(rclsid: *const ::windows_core::GUID) -> super::super::Foundation::BOOL {
376 ::windows_targets::link!("ole32.dll" "system" fn CoIsOle1Class(rclsid : *const ::windows_core::GUID) -> super::super::Foundation:: BOOL);
377 CoIsOle1Class(rclsid)
378}
379#[doc = "Required features: `\"Win32_Foundation\"`"]
380#[cfg(feature = "Win32_Foundation")]
381#[inline]
382pub unsafe fn CoLoadLibrary<P0, P1>(lpszlibname: P0, bautofree: P1) -> super::super::Foundation::HINSTANCE
383where
384 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
385 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
386{
387 ::windows_targets::link!("ole32.dll" "system" fn CoLoadLibrary(lpszlibname : ::windows_core::PCWSTR, bautofree : super::super::Foundation:: BOOL) -> super::super::Foundation:: HINSTANCE);
388 CoLoadLibrary(lpszlibname:lpszlibname.into_param().abi(), bautofree:bautofree.into_param().abi())
389}
390#[doc = "Required features: `\"Win32_Foundation\"`"]
391#[cfg(feature = "Win32_Foundation")]
392#[inline]
393pub unsafe fn CoLockObjectExternal<P0, P1, P2>(punk: P0, flock: P1, flastunlockreleases: P2) -> ::windows_core::Result<()>
394where
395 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
396 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
397 P2: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
398{
399 ::windows_targets::link!("ole32.dll" "system" fn CoLockObjectExternal(punk : * mut::core::ffi::c_void, flock : super::super::Foundation:: BOOL, flastunlockreleases : super::super::Foundation:: BOOL) -> ::windows_core::HRESULT);
400 CoLockObjectExternal(punk:punk.into_param().abi(), flock:flock.into_param().abi(), flastunlockreleases:flastunlockreleases.into_param().abi()).ok()
401}
402#[inline]
403pub unsafe fn CoQueryAuthenticationServices(pcauthsvc: *mut u32, asauthsvc: *mut *mut SOLE_AUTHENTICATION_SERVICE) -> ::windows_core::Result<()> {
404 ::windows_targets::link!("ole32.dll" "system" fn CoQueryAuthenticationServices(pcauthsvc : *mut u32, asauthsvc : *mut *mut SOLE_AUTHENTICATION_SERVICE) -> ::windows_core::HRESULT);
405 CoQueryAuthenticationServices(pcauthsvc, asauthsvc).ok()
406}
407#[inline]
408pub unsafe fn CoQueryClientBlanket(pauthnsvc: ::core::option::Option<*mut u32>, pauthzsvc: ::core::option::Option<*mut u32>, pserverprincname: ::core::option::Option<*mut ::windows_core::PWSTR>, pauthnlevel: ::core::option::Option<*mut u32>, pimplevel: ::core::option::Option<*mut u32>, pprivs: ::core::option::Option<*mut *mut ::core::ffi::c_void>, pcapabilities: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
409 ::windows_targets::link!("ole32.dll" "system" fn CoQueryClientBlanket(pauthnsvc : *mut u32, pauthzsvc : *mut u32, pserverprincname : *mut ::windows_core::PWSTR, pauthnlevel : *mut u32, pimplevel : *mut u32, pprivs : *mut *mut ::core::ffi::c_void, pcapabilities : *mut u32) -> ::windows_core::HRESULT);
410 CoQueryClientBlanketHRESULT(
411 ::core::mem::transmute(pauthnsvc.unwrap_or(::std::ptr::null_mut())),
412 ::core::mem::transmute(pauthzsvc.unwrap_or(::std::ptr::null_mut())),
413 ::core::mem::transmute(pserverprincname.unwrap_or(::std::ptr::null_mut())),
414 ::core::mem::transmute(pauthnlevel.unwrap_or(::std::ptr::null_mut())),
415 ::core::mem::transmute(pimplevel.unwrap_or(::std::ptr::null_mut())),
416 ::core::mem::transmute(pprivs.unwrap_or(::std::ptr::null_mut())),
417 ::core::mem::transmute(src:pcapabilities.unwrap_or(::std::ptr::null_mut())),
418 )
419 .ok()
420}
421#[inline]
422pub unsafe fn CoQueryProxyBlanket<P0>(pproxy: P0, pwauthnsvc: ::core::option::Option<*mut u32>, pauthzsvc: ::core::option::Option<*mut u32>, pserverprincname: ::core::option::Option<*mut ::windows_core::PWSTR>, pauthnlevel: ::core::option::Option<*mut u32>, pimplevel: ::core::option::Option<*mut u32>, pauthinfo: ::core::option::Option<*mut *mut ::core::ffi::c_void>, pcapabilites: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()>
423where
424 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
425{
426 ::windows_targets::link!("ole32.dll" "system" fn CoQueryProxyBlanket(pproxy : * mut::core::ffi::c_void, pwauthnsvc : *mut u32, pauthzsvc : *mut u32, pserverprincname : *mut ::windows_core::PWSTR, pauthnlevel : *mut u32, pimplevel : *mut u32, pauthinfo : *mut *mut ::core::ffi::c_void, pcapabilites : *mut u32) -> ::windows_core::HRESULT);
427 CoQueryProxyBlanketHRESULT(
428 pproxy:pproxy.into_param().abi(),
429 ::core::mem::transmute(pwauthnsvc.unwrap_or(::std::ptr::null_mut())),
430 ::core::mem::transmute(pauthzsvc.unwrap_or(::std::ptr::null_mut())),
431 ::core::mem::transmute(pserverprincname.unwrap_or(::std::ptr::null_mut())),
432 ::core::mem::transmute(pauthnlevel.unwrap_or(::std::ptr::null_mut())),
433 ::core::mem::transmute(pimplevel.unwrap_or(::std::ptr::null_mut())),
434 ::core::mem::transmute(pauthinfo.unwrap_or(::std::ptr::null_mut())),
435 ::core::mem::transmute(src:pcapabilites.unwrap_or(::std::ptr::null_mut())),
436 )
437 .ok()
438}
439#[inline]
440pub unsafe fn CoRegisterActivationFilter<P0>(pactivationfilter: P0) -> ::windows_core::Result<()>
441where
442 P0: ::windows_core::IntoParam<IActivationFilter>,
443{
444 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterActivationFilter(pactivationfilter : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
445 CoRegisterActivationFilter(pactivationfilter:pactivationfilter.into_param().abi()).ok()
446}
447#[inline]
448pub unsafe fn CoRegisterChannelHook<P0>(extensionuuid: *const ::windows_core::GUID, pchannelhook: P0) -> ::windows_core::Result<()>
449where
450 P0: ::windows_core::IntoParam<IChannelHook>,
451{
452 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterChannelHook(extensionuuid : *const ::windows_core::GUID, pchannelhook : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
453 CoRegisterChannelHook(extensionuuid, pchannelhook:pchannelhook.into_param().abi()).ok()
454}
455#[inline]
456pub unsafe fn CoRegisterClassObject<P0>(rclsid: *const ::windows_core::GUID, punk: P0, dwclscontext: CLSCTX, flags: REGCLS) -> ::windows_core::Result<u32>
457where
458 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
459{
460 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterClassObject(rclsid : *const ::windows_core::GUID, punk : * mut::core::ffi::c_void, dwclscontext : CLSCTX, flags : u32, lpdwregister : *mut u32) -> ::windows_core::HRESULT);
461 let mut result__: u32 = ::std::mem::zeroed();
462 CoRegisterClassObject(rclsid, punk:punk.into_param().abi(), dwclscontext, flags:flags.0 as _, &mut result__).from_abi(result__)
463}
464#[inline]
465pub unsafe fn CoRegisterDeviceCatalog<P0>(deviceinstanceid: P0) -> ::windows_core::Result<CO_DEVICE_CATALOG_COOKIE>
466where
467 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
468{
469 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterDeviceCatalog(deviceinstanceid : ::windows_core::PCWSTR, cookie : *mut CO_DEVICE_CATALOG_COOKIE) -> ::windows_core::HRESULT);
470 let mut result__: CO_DEVICE_CATALOG_COOKIE = ::std::mem::zeroed();
471 CoRegisterDeviceCatalog(deviceinstanceid:deviceinstanceid.into_param().abi(), &mut result__).from_abi(result__)
472}
473#[inline]
474pub unsafe fn CoRegisterInitializeSpy<P0>(pspy: P0) -> ::windows_core::Result<u64>
475where
476 P0: ::windows_core::IntoParam<IInitializeSpy>,
477{
478 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterInitializeSpy(pspy : * mut::core::ffi::c_void, pulicookie : *mut u64) -> ::windows_core::HRESULT);
479 let mut result__: u64 = ::std::mem::zeroed();
480 CoRegisterInitializeSpy(pspy:pspy.into_param().abi(), &mut result__).from_abi(result__)
481}
482#[inline]
483pub unsafe fn CoRegisterMallocSpy<P0>(pmallocspy: P0) -> ::windows_core::Result<()>
484where
485 P0: ::windows_core::IntoParam<IMallocSpy>,
486{
487 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterMallocSpy(pmallocspy : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
488 CoRegisterMallocSpy(pmallocspy:pmallocspy.into_param().abi()).ok()
489}
490#[inline]
491pub unsafe fn CoRegisterPSClsid(riid: *const ::windows_core::GUID, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
492 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterPSClsid(riid : *const ::windows_core::GUID, rclsid : *const ::windows_core::GUID) -> ::windows_core::HRESULT);
493 CoRegisterPSClsid(riid, rclsid).ok()
494}
495#[inline]
496pub unsafe fn CoRegisterSurrogate<P0>(psurrogate: P0) -> ::windows_core::Result<()>
497where
498 P0: ::windows_core::IntoParam<ISurrogate>,
499{
500 ::windows_targets::link!("ole32.dll" "system" fn CoRegisterSurrogate(psurrogate : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
501 CoRegisterSurrogate(psurrogate:psurrogate.into_param().abi()).ok()
502}
503#[inline]
504pub unsafe fn CoReleaseServerProcess() -> u32 {
505 ::windows_targets::link!("ole32.dll" "system" fn CoReleaseServerProcess() -> u32);
506 CoReleaseServerProcess()
507}
508#[inline]
509pub unsafe fn CoResumeClassObjects() -> ::windows_core::Result<()> {
510 ::windows_targets::link!("ole32.dll" "system" fn CoResumeClassObjects() -> ::windows_core::HRESULT);
511 CoResumeClassObjects().ok()
512}
513#[inline]
514pub unsafe fn CoRevertToSelf() -> ::windows_core::Result<()> {
515 ::windows_targets::link!("ole32.dll" "system" fn CoRevertToSelf() -> ::windows_core::HRESULT);
516 CoRevertToSelf().ok()
517}
518#[inline]
519pub unsafe fn CoRevokeClassObject(dwregister: u32) -> ::windows_core::Result<()> {
520 ::windows_targets::link!("ole32.dll" "system" fn CoRevokeClassObject(dwregister : u32) -> ::windows_core::HRESULT);
521 CoRevokeClassObject(dwregister).ok()
522}
523#[inline]
524pub unsafe fn CoRevokeDeviceCatalog<P0>(cookie: P0) -> ::windows_core::Result<()>
525where
526 P0: ::windows_core::IntoParam<CO_DEVICE_CATALOG_COOKIE>,
527{
528 ::windows_targets::link!("ole32.dll" "system" fn CoRevokeDeviceCatalog(cookie : CO_DEVICE_CATALOG_COOKIE) -> ::windows_core::HRESULT);
529 CoRevokeDeviceCatalog(cookie:cookie.into_param().abi()).ok()
530}
531#[inline]
532pub unsafe fn CoRevokeInitializeSpy(ulicookie: u64) -> ::windows_core::Result<()> {
533 ::windows_targets::link!("ole32.dll" "system" fn CoRevokeInitializeSpy(ulicookie : u64) -> ::windows_core::HRESULT);
534 CoRevokeInitializeSpy(ulicookie).ok()
535}
536#[inline]
537pub unsafe fn CoRevokeMallocSpy() -> ::windows_core::Result<()> {
538 ::windows_targets::link!("ole32.dll" "system" fn CoRevokeMallocSpy() -> ::windows_core::HRESULT);
539 CoRevokeMallocSpy().ok()
540}
541#[inline]
542pub unsafe fn CoSetCancelObject<P0>(punk: P0) -> ::windows_core::Result<()>
543where
544 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
545{
546 ::windows_targets::link!("ole32.dll" "system" fn CoSetCancelObject(punk : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
547 CoSetCancelObject(punk:punk.into_param().abi()).ok()
548}
549#[inline]
550pub unsafe fn CoSetProxyBlanket<P0, P1>(pproxy: P0, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: P1, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: ::core::option::Option<*const ::core::ffi::c_void>, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows_core::Result<()>
551where
552 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
553 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
554{
555 ::windows_targets::link!("ole32.dll" "system" fn CoSetProxyBlanket(pproxy : * mut::core::ffi::c_void, dwauthnsvc : u32, dwauthzsvc : u32, pserverprincname : ::windows_core::PCWSTR, dwauthnlevel : RPC_C_AUTHN_LEVEL, dwimplevel : RPC_C_IMP_LEVEL, pauthinfo : *const ::core::ffi::c_void, dwcapabilities : u32) -> ::windows_core::HRESULT);
556 CoSetProxyBlanket(pproxy:pproxy.into_param().abi(), dwauthnsvc, dwauthzsvc, pserverprincname:pserverprincname.into_param().abi(), dwauthnlevel, dwimplevel, ::core::mem::transmute(pauthinfo.unwrap_or(::std::ptr::null())), dwcapabilities:dwcapabilities.0 as _).ok()
557}
558#[inline]
559pub unsafe fn CoSuspendClassObjects() -> ::windows_core::Result<()> {
560 ::windows_targets::link!("ole32.dll" "system" fn CoSuspendClassObjects() -> ::windows_core::HRESULT);
561 CoSuspendClassObjects().ok()
562}
563#[inline]
564pub unsafe fn CoSwitchCallContext<P0>(pnewobject: P0) -> ::windows_core::Result<::windows_core::IUnknown>
565where
566 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
567{
568 ::windows_targets::link!("ole32.dll" "system" fn CoSwitchCallContext(pnewobject : * mut::core::ffi::c_void, ppoldobject : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
569 let mut result__: *mut c_void = ::std::mem::zeroed();
570 CoSwitchCallContext(pnewobject:pnewobject.into_param().abi(), &mut result__).from_abi(result__)
571}
572#[inline]
573pub unsafe fn CoTaskMemAlloc(cb: usize) -> *mut ::core::ffi::c_void {
574 ::windows_targets::link!("ole32.dll" "system" fn CoTaskMemAlloc(cb : usize) -> *mut ::core::ffi::c_void);
575 CoTaskMemAlloc(cb)
576}
577#[inline]
578pub unsafe fn CoTaskMemFree(pv: ::core::option::Option<*const ::core::ffi::c_void>) {
579 ::windows_targets::link!("ole32.dll" "system" fn CoTaskMemFree(pv : *const ::core::ffi::c_void) -> ());
580 CoTaskMemFree(::core::mem::transmute(src:pv.unwrap_or(::std::ptr::null())))
581}
582#[inline]
583pub unsafe fn CoTaskMemRealloc(pv: ::core::option::Option<*const ::core::ffi::c_void>, cb: usize) -> *mut ::core::ffi::c_void {
584 ::windows_targets::link!("ole32.dll" "system" fn CoTaskMemRealloc(pv : *const ::core::ffi::c_void, cb : usize) -> *mut ::core::ffi::c_void);
585 CoTaskMemRealloc(::core::mem::transmute(src:pv.unwrap_or(::std::ptr::null())), cb)
586}
587#[inline]
588pub unsafe fn CoTestCancel() -> ::windows_core::Result<()> {
589 ::windows_targets::link!("ole32.dll" "system" fn CoTestCancel() -> ::windows_core::HRESULT);
590 CoTestCancel().ok()
591}
592#[inline]
593pub unsafe fn CoTreatAsClass(clsidold: *const ::windows_core::GUID, clsidnew: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
594 ::windows_targets::link!("ole32.dll" "system" fn CoTreatAsClass(clsidold : *const ::windows_core::GUID, clsidnew : *const ::windows_core::GUID) -> ::windows_core::HRESULT);
595 CoTreatAsClass(clsidold, clsidnew).ok()
596}
597#[inline]
598pub unsafe fn CoUninitialize() {
599 ::windows_targets::link!("ole32.dll" "system" fn CoUninitialize() -> ());
600 CoUninitialize()
601}
602#[doc = "Required features: `\"Win32_Foundation\"`"]
603#[cfg(feature = "Win32_Foundation")]
604#[inline]
605pub unsafe fn CoWaitForMultipleHandles(dwflags: u32, dwtimeout: u32, phandles: &[super::super::Foundation::HANDLE]) -> ::windows_core::Result<u32> {
606 ::windows_targets::link!("ole32.dll" "system" fn CoWaitForMultipleHandles(dwflags : u32, dwtimeout : u32, chandles : u32, phandles : *const super::super::Foundation:: HANDLE, lpdwindex : *mut u32) -> ::windows_core::HRESULT);
607 let mut result__: u32 = ::std::mem::zeroed();
608 CoWaitForMultipleHandles(dwflags, dwtimeout, chandles:phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).from_abi(result__)
609}
610#[doc = "Required features: `\"Win32_Foundation\"`"]
611#[cfg(feature = "Win32_Foundation")]
612#[inline]
613pub unsafe fn CoWaitForMultipleObjects(dwflags: u32, dwtimeout: u32, phandles: &[super::super::Foundation::HANDLE]) -> ::windows_core::Result<u32> {
614 ::windows_targets::link!("ole32.dll" "system" fn CoWaitForMultipleObjects(dwflags : u32, dwtimeout : u32, chandles : u32, phandles : *const super::super::Foundation:: HANDLE, lpdwindex : *mut u32) -> ::windows_core::HRESULT);
615 let mut result__: u32 = ::std::mem::zeroed();
616 CoWaitForMultipleObjects(dwflags, dwtimeout, chandles:phandles.len().try_into().unwrap(), ::core::mem::transmute(phandles.as_ptr()), &mut result__).from_abi(result__)
617}
618#[inline]
619pub unsafe fn CreateAntiMoniker() -> ::windows_core::Result<IMoniker> {
620 ::windows_targets::link!("ole32.dll" "system" fn CreateAntiMoniker(ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
621 let mut result__: *mut c_void = ::std::mem::zeroed();
622 CreateAntiMoniker(&mut result__).from_abi(result__)
623}
624#[inline]
625pub unsafe fn CreateBindCtx(reserved: u32) -> ::windows_core::Result<IBindCtx> {
626 ::windows_targets::link!("ole32.dll" "system" fn CreateBindCtx(reserved : u32, ppbc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
627 let mut result__: *mut c_void = ::std::mem::zeroed();
628 CreateBindCtx(reserved, &mut result__).from_abi(result__)
629}
630#[inline]
631pub unsafe fn CreateClassMoniker(rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<IMoniker> {
632 ::windows_targets::link!("ole32.dll" "system" fn CreateClassMoniker(rclsid : *const ::windows_core::GUID, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
633 let mut result__: *mut c_void = ::std::mem::zeroed();
634 CreateClassMoniker(rclsid, &mut result__).from_abi(result__)
635}
636#[inline]
637pub unsafe fn CreateDataAdviseHolder() -> ::windows_core::Result<IDataAdviseHolder> {
638 ::windows_targets::link!("ole32.dll" "system" fn CreateDataAdviseHolder(ppdaholder : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
639 let mut result__: *mut c_void = ::std::mem::zeroed();
640 CreateDataAdviseHolder(&mut result__).from_abi(result__)
641}
642#[inline]
643pub unsafe fn CreateDataCache<P0, T>(punkouter: P0, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<T>
644where
645 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
646 T: ::windows_core::ComInterface,
647{
648 ::windows_targets::link!("ole32.dll" "system" fn CreateDataCache(punkouter : * mut::core::ffi::c_void, rclsid : *const ::windows_core::GUID, iid : *const ::windows_core::GUID, ppv : *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT);
649 let mut result__: *mut c_void = ::std::ptr::null_mut();
650 CreateDataCache(punkouter:punkouter.into_param().abi(), rclsid, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
651}
652#[inline]
653pub unsafe fn CreateFileMoniker<P0>(lpszpathname: P0) -> ::windows_core::Result<IMoniker>
654where
655 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
656{
657 ::windows_targets::link!("ole32.dll" "system" fn CreateFileMoniker(lpszpathname : ::windows_core::PCWSTR, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
658 let mut result__: *mut c_void = ::std::mem::zeroed();
659 CreateFileMoniker(lpszpathname:lpszpathname.into_param().abi(), &mut result__).from_abi(result__)
660}
661#[inline]
662pub unsafe fn CreateGenericComposite<P0, P1>(pmkfirst: P0, pmkrest: P1) -> ::windows_core::Result<IMoniker>
663where
664 P0: ::windows_core::IntoParam<IMoniker>,
665 P1: ::windows_core::IntoParam<IMoniker>,
666{
667 ::windows_targets::link!("ole32.dll" "system" fn CreateGenericComposite(pmkfirst : * mut::core::ffi::c_void, pmkrest : * mut::core::ffi::c_void, ppmkcomposite : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
668 let mut result__: *mut c_void = ::std::mem::zeroed();
669 CreateGenericComposite(pmkfirst:pmkfirst.into_param().abi(), pmkrest:pmkrest.into_param().abi(), &mut result__).from_abi(result__)
670}
671#[inline]
672pub unsafe fn CreateIUriBuilder<P0>(piuri: P0, dwflags: u32, dwreserved: usize) -> ::windows_core::Result<IUriBuilder>
673where
674 P0: ::windows_core::IntoParam<IUri>,
675{
676 ::windows_targets::link!("urlmon.dll" "system" fn CreateIUriBuilder(piuri : * mut::core::ffi::c_void, dwflags : u32, dwreserved : usize, ppiuribuilder : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
677 let mut result__: *mut c_void = ::std::mem::zeroed();
678 CreateIUriBuilder(piuri:piuri.into_param().abi(), dwflags, dwreserved, &mut result__).from_abi(result__)
679}
680#[inline]
681pub unsafe fn CreateItemMoniker<P0, P1>(lpszdelim: P0, lpszitem: P1) -> ::windows_core::Result<IMoniker>
682where
683 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
684 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
685{
686 ::windows_targets::link!("ole32.dll" "system" fn CreateItemMoniker(lpszdelim : ::windows_core::PCWSTR, lpszitem : ::windows_core::PCWSTR, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
687 let mut result__: *mut c_void = ::std::mem::zeroed();
688 CreateItemMoniker(lpszdelim:lpszdelim.into_param().abi(), lpszitem:lpszitem.into_param().abi(), &mut result__).from_abi(result__)
689}
690#[inline]
691pub unsafe fn CreateObjrefMoniker<P0>(punk: P0) -> ::windows_core::Result<IMoniker>
692where
693 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
694{
695 ::windows_targets::link!("ole32.dll" "system" fn CreateObjrefMoniker(punk : * mut::core::ffi::c_void, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
696 let mut result__: *mut c_void = ::std::mem::zeroed();
697 CreateObjrefMoniker(punk:punk.into_param().abi(), &mut result__).from_abi(result__)
698}
699#[inline]
700pub unsafe fn CreatePointerMoniker<P0>(punk: P0) -> ::windows_core::Result<IMoniker>
701where
702 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
703{
704 ::windows_targets::link!("ole32.dll" "system" fn CreatePointerMoniker(punk : * mut::core::ffi::c_void, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
705 let mut result__: *mut c_void = ::std::mem::zeroed();
706 CreatePointerMoniker(punk:punk.into_param().abi(), &mut result__).from_abi(result__)
707}
708#[doc = "Required features: `\"Win32_Foundation\"`"]
709#[cfg(feature = "Win32_Foundation")]
710#[inline]
711pub unsafe fn CreateStdProgressIndicator<P0, P1, P2>(hwndparent: P0, psztitle: P1, pibsccaller: P2) -> ::windows_core::Result<IBindStatusCallback>
712where
713 P0: ::windows_core::IntoParam<super::super::Foundation::HWND>,
714 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
715 P2: ::windows_core::IntoParam<IBindStatusCallback>,
716{
717 ::windows_targets::link!("ole32.dll" "system" fn CreateStdProgressIndicator(hwndparent : super::super::Foundation:: HWND, psztitle : ::windows_core::PCWSTR, pibsccaller : * mut::core::ffi::c_void, ppibsc : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
718 let mut result__: *mut c_void = ::std::mem::zeroed();
719 CreateStdProgressIndicator(hwndparent:hwndparent.into_param().abi(), psztitle:psztitle.into_param().abi(), pibsccaller:pibsccaller.into_param().abi(), &mut result__).from_abi(result__)
720}
721#[inline]
722pub unsafe fn CreateUri<P0>(pwzuri: P0, dwflags: URI_CREATE_FLAGS, dwreserved: usize) -> ::windows_core::Result<IUri>
723where
724 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
725{
726 ::windows_targets::link!("urlmon.dll" "system" fn CreateUri(pwzuri : ::windows_core::PCWSTR, dwflags : URI_CREATE_FLAGS, dwreserved : usize, ppuri : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
727 let mut result__: *mut c_void = ::std::mem::zeroed();
728 CreateUri(pwzuri:pwzuri.into_param().abi(), dwflags, dwreserved, &mut result__).from_abi(result__)
729}
730#[inline]
731pub unsafe fn CreateUriFromMultiByteString<P0>(pszansiinputuri: P0, dwencodingflags: u32, dwcodepage: u32, dwcreateflags: u32, dwreserved: usize) -> ::windows_core::Result<IUri>
732where
733 P0: ::windows_core::IntoParam<::windows_core::PCSTR>,
734{
735 ::windows_targets::link!("urlmon.dll" "system" fn CreateUriFromMultiByteString(pszansiinputuri : ::windows_core::PCSTR, dwencodingflags : u32, dwcodepage : u32, dwcreateflags : u32, dwreserved : usize, ppuri : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
736 let mut result__: *mut c_void = ::std::mem::zeroed();
737 CreateUriFromMultiByteString(pszansiinputuri:pszansiinputuri.into_param().abi(), dwencodingflags, dwcodepage, dwcreateflags, dwreserved, &mut result__).from_abi(result__)
738}
739#[inline]
740pub unsafe fn CreateUriWithFragment<P0, P1>(pwzuri: P0, pwzfragment: P1, dwflags: u32, dwreserved: usize) -> ::windows_core::Result<IUri>
741where
742 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
743 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
744{
745 ::windows_targets::link!("urlmon.dll" "system" fn CreateUriWithFragment(pwzuri : ::windows_core::PCWSTR, pwzfragment : ::windows_core::PCWSTR, dwflags : u32, dwreserved : usize, ppuri : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
746 let mut result__: *mut c_void = ::std::mem::zeroed();
747 CreateUriWithFragment(pwzuri:pwzuri.into_param().abi(), pwzfragment:pwzfragment.into_param().abi(), dwflags, dwreserved, &mut result__).from_abi(result__)
748}
749#[inline]
750pub unsafe fn DcomChannelSetHResult(pvreserved: ::core::option::Option<*const ::core::ffi::c_void>, pulreserved: ::core::option::Option<*const u32>, appshr: ::windows_core::HRESULT) -> ::windows_core::Result<()> {
751 ::windows_targets::link!("ole32.dll" "system" fn DcomChannelSetHResult(pvreserved : *const ::core::ffi::c_void, pulreserved : *const u32, appshr : ::windows_core::HRESULT) -> ::windows_core::HRESULT);
752 DcomChannelSetHResult(::core::mem::transmute(pvreserved.unwrap_or(::std::ptr::null())), ::core::mem::transmute(src:pulreserved.unwrap_or(::std::ptr::null())), appshr).ok()
753}
754#[inline]
755pub unsafe fn GetClassFile<P0>(szfilename: P0) -> ::windows_core::Result<::windows_core::GUID>
756where
757 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
758{
759 ::windows_targets::link!("ole32.dll" "system" fn GetClassFile(szfilename : ::windows_core::PCWSTR, pclsid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
760 let mut result__: GUID = ::std::mem::zeroed();
761 GetClassFile(szfilename:szfilename.into_param().abi(), &mut result__).from_abi(result__)
762}
763#[inline]
764pub unsafe fn GetErrorInfo(dwreserved: u32) -> ::windows_core::Result<IErrorInfo> {
765 ::windows_targets::link!("oleaut32.dll" "system" fn GetErrorInfo(dwreserved : u32, pperrinfo : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
766 let mut result__: *mut c_void = ::std::mem::zeroed();
767 GetErrorInfo(dwreserved, &mut result__).from_abi(result__)
768}
769#[inline]
770pub unsafe fn GetRunningObjectTable(reserved: u32) -> ::windows_core::Result<IRunningObjectTable> {
771 ::windows_targets::link!("ole32.dll" "system" fn GetRunningObjectTable(reserved : u32, pprot : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
772 let mut result__: *mut c_void = ::std::mem::zeroed();
773 GetRunningObjectTable(reserved, &mut result__).from_abi(result__)
774}
775#[inline]
776pub unsafe fn IIDFromString<P0>(lpsz: P0) -> ::windows_core::Result<::windows_core::GUID>
777where
778 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
779{
780 ::windows_targets::link!("ole32.dll" "system" fn IIDFromString(lpsz : ::windows_core::PCWSTR, lpiid : *mut ::windows_core::GUID) -> ::windows_core::HRESULT);
781 let mut result__: GUID = ::std::mem::zeroed();
782 IIDFromString(lpsz:lpsz.into_param().abi(), &mut result__).from_abi(result__)
783}
784#[inline]
785pub unsafe fn MkParseDisplayName<P0, P1>(pbc: P0, szusername: P1, pcheaten: *mut u32, ppmk: *mut ::core::option::Option<IMoniker>) -> ::windows_core::Result<()>
786where
787 P0: ::windows_core::IntoParam<IBindCtx>,
788 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
789{
790 ::windows_targets::link!("ole32.dll" "system" fn MkParseDisplayName(pbc : * mut::core::ffi::c_void, szusername : ::windows_core::PCWSTR, pcheaten : *mut u32, ppmk : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
791 MkParseDisplayName(pbc:pbc.into_param().abi(), szusername:szusername.into_param().abi(), pcheaten, ::core::mem::transmute(src:ppmk)).ok()
792}
793#[inline]
794pub unsafe fn MonikerCommonPrefixWith<P0, P1>(pmkthis: P0, pmkother: P1) -> ::windows_core::Result<IMoniker>
795where
796 P0: ::windows_core::IntoParam<IMoniker>,
797 P1: ::windows_core::IntoParam<IMoniker>,
798{
799 ::windows_targets::link!("ole32.dll" "system" fn MonikerCommonPrefixWith(pmkthis : * mut::core::ffi::c_void, pmkother : * mut::core::ffi::c_void, ppmkcommon : *mut * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
800 let mut result__: *mut c_void = ::std::mem::zeroed();
801 MonikerCommonPrefixWith(pmkthis:pmkthis.into_param().abi(), pmkother:pmkother.into_param().abi(), &mut result__).from_abi(result__)
802}
803#[doc = "Required features: `\"Win32_Foundation\"`"]
804#[cfg(feature = "Win32_Foundation")]
805#[inline]
806pub unsafe fn MonikerRelativePathTo<P0, P1, P2>(pmksrc: P0, pmkdest: P1, ppmkrelpath: *mut ::core::option::Option<IMoniker>, dwreserved: P2) -> ::windows_core::Result<()>
807where
808 P0: ::windows_core::IntoParam<IMoniker>,
809 P1: ::windows_core::IntoParam<IMoniker>,
810 P2: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
811{
812 ::windows_targets::link!("ole32.dll" "system" fn MonikerRelativePathTo(pmksrc : * mut::core::ffi::c_void, pmkdest : * mut::core::ffi::c_void, ppmkrelpath : *mut * mut::core::ffi::c_void, dwreserved : super::super::Foundation:: BOOL) -> ::windows_core::HRESULT);
813 MonikerRelativePathTo(pmksrc:pmksrc.into_param().abi(), pmkdest:pmkdest.into_param().abi(), ::core::mem::transmute(ppmkrelpath), dwreserved:dwreserved.into_param().abi()).ok()
814}
815#[inline]
816pub unsafe fn ProgIDFromCLSID(clsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> {
817 ::windows_targets::link!("ole32.dll" "system" fn ProgIDFromCLSID(clsid : *const ::windows_core::GUID, lplpszprogid : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT);
818 let mut result__: PWSTR = ::std::mem::zeroed();
819 ProgIDFromCLSID(clsid, &mut result__).from_abi(result__)
820}
821#[inline]
822pub unsafe fn SetErrorInfo<P0>(dwreserved: u32, perrinfo: P0) -> ::windows_core::Result<()>
823where
824 P0: ::windows_core::IntoParam<IErrorInfo>,
825{
826 ::windows_targets::link!("oleaut32.dll" "system" fn SetErrorInfo(dwreserved : u32, perrinfo : * mut::core::ffi::c_void) -> ::windows_core::HRESULT);
827 SetErrorInfo(dwreserved, perrinfo:perrinfo.into_param().abi()).ok()
828}
829#[inline]
830pub unsafe fn StringFromCLSID(rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> {
831 ::windows_targets::link!("ole32.dll" "system" fn StringFromCLSID(rclsid : *const ::windows_core::GUID, lplpsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT);
832 let mut result__: PWSTR = ::std::mem::zeroed();
833 StringFromCLSID(rclsid, &mut result__).from_abi(result__)
834}
835#[inline]
836pub unsafe fn StringFromGUID2(rguid: *const ::windows_core::GUID, lpsz: &mut [u16]) -> i32 {
837 ::windows_targets::link!("ole32.dll" "system" fn StringFromGUID2(rguid : *const ::windows_core::GUID, lpsz : ::windows_core::PWSTR, cchmax : i32) -> i32);
838 StringFromGUID2(rguid, ::core::mem::transmute(lpsz.as_ptr()), cchmax:lpsz.len().try_into().unwrap())
839}
840#[inline]
841pub unsafe fn StringFromIID(rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::PWSTR> {
842 ::windows_targets::link!("ole32.dll" "system" fn StringFromIID(rclsid : *const ::windows_core::GUID, lplpsz : *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT);
843 let mut result__: PWSTR = ::std::mem::zeroed();
844 StringFromIID(rclsid, &mut result__).from_abi(result__)
845}
846#[repr(transparent)]
847#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
848pub struct AsyncIAdviseSink(::windows_core::IUnknown);
849impl AsyncIAdviseSink {
850 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
851 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
852 pub unsafe fn Begin_OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
853 (::windows_core::Interface::vtable(self).Begin_OnDataChange)(::windows_core::Interface::as_raw(self), pformatetc, pstgmed)
854 }
855 pub unsafe fn Finish_OnDataChange(&self) {
856 (::windows_core::Interface::vtable(self).Finish_OnDataChange)(::windows_core::Interface::as_raw(self))
857 }
858 pub unsafe fn Begin_OnViewChange(&self, dwaspect: u32, lindex: i32) {
859 (::windows_core::Interface::vtable(self).Begin_OnViewChange)(::windows_core::Interface::as_raw(self), dwaspect, lindex)
860 }
861 pub unsafe fn Finish_OnViewChange(&self) {
862 (::windows_core::Interface::vtable(self).Finish_OnViewChange)(::windows_core::Interface::as_raw(self))
863 }
864 pub unsafe fn Begin_OnRename<P0>(&self, pmk: P0)
865 where
866 P0: ::windows_core::IntoParam<IMoniker>,
867 {
868 (::windows_core::Interface::vtable(self).Begin_OnRename)(::windows_core::Interface::as_raw(self), pmk.into_param().abi())
869 }
870 pub unsafe fn Finish_OnRename(&self) {
871 (::windows_core::Interface::vtable(self).Finish_OnRename)(::windows_core::Interface::as_raw(self))
872 }
873 pub unsafe fn Begin_OnSave(&self) {
874 (::windows_core::Interface::vtable(self).Begin_OnSave)(::windows_core::Interface::as_raw(self))
875 }
876 pub unsafe fn Finish_OnSave(&self) {
877 (::windows_core::Interface::vtable(self).Finish_OnSave)(::windows_core::Interface::as_raw(self))
878 }
879 pub unsafe fn Begin_OnClose(&self) {
880 (::windows_core::Interface::vtable(self).Begin_OnClose)(::windows_core::Interface::as_raw(self))
881 }
882 pub unsafe fn Finish_OnClose(&self) {
883 (::windows_core::Interface::vtable(self).Finish_OnClose)(::windows_core::Interface::as_raw(self))
884 }
885}
886::windows_core::imp::interface_hierarchy!(AsyncIAdviseSink, ::windows_core::IUnknown);
887unsafe impl ::windows_core::Interface for AsyncIAdviseSink {
888 type Vtable = AsyncIAdviseSink_Vtbl;
889}
890unsafe impl ::windows_core::ComInterface for AsyncIAdviseSink {
891 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000150_0000_0000_c000_000000000046);
892}
893#[repr(C)]
894#[doc(hidden)]
895pub struct AsyncIAdviseSink_Vtbl {
896 pub base__: ::windows_core::IUnknown_Vtbl,
897 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
898 pub Begin_OnDataChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM),
899 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))]
900 Begin_OnDataChange: usize,
901 pub Finish_OnDataChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
902 pub Begin_OnViewChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwaspect: u32, lindex: i32),
903 pub Finish_OnViewChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
904 pub Begin_OnRename: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmk: *mut ::core::ffi::c_void),
905 pub Finish_OnRename: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
906 pub Begin_OnSave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
907 pub Finish_OnSave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
908 pub Begin_OnClose: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
909 pub Finish_OnClose: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
910}
911#[repr(transparent)]
912#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
913pub struct AsyncIAdviseSink2(::windows_core::IUnknown);
914impl AsyncIAdviseSink2 {
915 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
916 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
917 pub unsafe fn Begin_OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
918 (::windows_core::Interface::vtable(self).base__.Begin_OnDataChange)(::windows_core::Interface::as_raw(self), pformatetc, pstgmed)
919 }
920 pub unsafe fn Finish_OnDataChange(&self) {
921 (::windows_core::Interface::vtable(self).base__.Finish_OnDataChange)(::windows_core::Interface::as_raw(self))
922 }
923 pub unsafe fn Begin_OnViewChange(&self, dwaspect: u32, lindex: i32) {
924 (::windows_core::Interface::vtable(self).base__.Begin_OnViewChange)(::windows_core::Interface::as_raw(self), dwaspect, lindex)
925 }
926 pub unsafe fn Finish_OnViewChange(&self) {
927 (::windows_core::Interface::vtable(self).base__.Finish_OnViewChange)(::windows_core::Interface::as_raw(self))
928 }
929 pub unsafe fn Begin_OnRename<P0>(&self, pmk: P0)
930 where
931 P0: ::windows_core::IntoParam<IMoniker>,
932 {
933 (::windows_core::Interface::vtable(self).base__.Begin_OnRename)(::windows_core::Interface::as_raw(self), pmk.into_param().abi())
934 }
935 pub unsafe fn Finish_OnRename(&self) {
936 (::windows_core::Interface::vtable(self).base__.Finish_OnRename)(::windows_core::Interface::as_raw(self))
937 }
938 pub unsafe fn Begin_OnSave(&self) {
939 (::windows_core::Interface::vtable(self).base__.Begin_OnSave)(::windows_core::Interface::as_raw(self))
940 }
941 pub unsafe fn Finish_OnSave(&self) {
942 (::windows_core::Interface::vtable(self).base__.Finish_OnSave)(::windows_core::Interface::as_raw(self))
943 }
944 pub unsafe fn Begin_OnClose(&self) {
945 (::windows_core::Interface::vtable(self).base__.Begin_OnClose)(::windows_core::Interface::as_raw(self))
946 }
947 pub unsafe fn Finish_OnClose(&self) {
948 (::windows_core::Interface::vtable(self).base__.Finish_OnClose)(::windows_core::Interface::as_raw(self))
949 }
950 pub unsafe fn Begin_OnLinkSrcChange<P0>(&self, pmk: P0)
951 where
952 P0: ::windows_core::IntoParam<IMoniker>,
953 {
954 (::windows_core::Interface::vtable(self).Begin_OnLinkSrcChange)(::windows_core::Interface::as_raw(self), pmk.into_param().abi())
955 }
956 pub unsafe fn Finish_OnLinkSrcChange(&self) {
957 (::windows_core::Interface::vtable(self).Finish_OnLinkSrcChange)(::windows_core::Interface::as_raw(self))
958 }
959}
960::windows_core::imp::interface_hierarchy!(AsyncIAdviseSink2, ::windows_core::IUnknown, AsyncIAdviseSink);
961unsafe impl ::windows_core::Interface for AsyncIAdviseSink2 {
962 type Vtable = AsyncIAdviseSink2_Vtbl;
963}
964unsafe impl ::windows_core::ComInterface for AsyncIAdviseSink2 {
965 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000151_0000_0000_c000_000000000046);
966}
967#[repr(C)]
968#[doc(hidden)]
969pub struct AsyncIAdviseSink2_Vtbl {
970 pub base__: AsyncIAdviseSink_Vtbl,
971 pub Begin_OnLinkSrcChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmk: *mut ::core::ffi::c_void),
972 pub Finish_OnLinkSrcChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
973}
974#[repr(transparent)]
975#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
976pub struct AsyncIMultiQI(::windows_core::IUnknown);
977impl AsyncIMultiQI {
978 pub unsafe fn Begin_QueryMultipleInterfaces(&self, pmqis: &mut [MULTI_QI]) -> ::windows_core::Result<()> {
979 (::windows_core::Interface::vtable(self).Begin_QueryMultipleInterfaces)(::windows_core::Interface::as_raw(self), pmqis.len().try_into().unwrap(), ::core::mem::transmute(src:pmqis.as_ptr())).ok()
980 }
981 pub unsafe fn Finish_QueryMultipleInterfaces(&self, pmqis: *mut MULTI_QI) -> ::windows_core::Result<()> {
982 (::windows_core::Interface::vtable(self).Finish_QueryMultipleInterfaces)(::windows_core::Interface::as_raw(self), pmqis).ok()
983 }
984}
985::windows_core::imp::interface_hierarchy!(AsyncIMultiQI, ::windows_core::IUnknown);
986unsafe impl ::windows_core::Interface for AsyncIMultiQI {
987 type Vtable = AsyncIMultiQI_Vtbl;
988}
989unsafe impl ::windows_core::ComInterface for AsyncIMultiQI {
990 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000e0020_0000_0000_c000_000000000046);
991}
992#[repr(C)]
993#[doc(hidden)]
994pub struct AsyncIMultiQI_Vtbl {
995 pub base__: ::windows_core::IUnknown_Vtbl,
996 pub Begin_QueryMultipleInterfaces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmqis: u32, pmqis: *mut MULTI_QI) -> ::windows_core::HRESULT,
997 pub Finish_QueryMultipleInterfaces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmqis: *mut MULTI_QI) -> ::windows_core::HRESULT,
998}
999#[repr(transparent)]
1000#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1001pub struct AsyncIPipeByte(::windows_core::IUnknown);
1002impl AsyncIPipeByte {
1003 pub unsafe fn Begin_Pull(&self, crequest: u32) -> ::windows_core::Result<()> {
1004 (::windows_core::Interface::vtable(self).Begin_Pull)(::windows_core::Interface::as_raw(self), crequest).ok()
1005 }
1006 pub unsafe fn Finish_Pull(&self, buf: *mut u8, pcreturned: *mut u32) -> ::windows_core::Result<()> {
1007 (::windows_core::Interface::vtable(self).Finish_Pull)(::windows_core::Interface::as_raw(self), buf, pcreturned).ok()
1008 }
1009 pub unsafe fn Begin_Push(&self, buf: &[u8]) -> ::windows_core::Result<()> {
1010 (::windows_core::Interface::vtable(self).Begin_Push)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap()).ok()
1011 }
1012 pub unsafe fn Finish_Push(&self) -> ::windows_core::Result<()> {
1013 (::windows_core::Interface::vtable(self).Finish_Push)(::windows_core::Interface::as_raw(self)).ok()
1014 }
1015}
1016::windows_core::imp::interface_hierarchy!(AsyncIPipeByte, ::windows_core::IUnknown);
1017unsafe impl ::windows_core::Interface for AsyncIPipeByte {
1018 type Vtable = AsyncIPipeByte_Vtbl;
1019}
1020unsafe impl ::windows_core::ComInterface for AsyncIPipeByte {
1021 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdb2f3acb_2f86_11d1_8e04_00c04fb9989a);
1022}
1023#[repr(C)]
1024#[doc(hidden)]
1025pub struct AsyncIPipeByte_Vtbl {
1026 pub base__: ::windows_core::IUnknown_Vtbl,
1027 pub Begin_Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crequest: u32) -> ::windows_core::HRESULT,
1028 pub Finish_Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *mut u8, pcreturned: *mut u32) -> ::windows_core::HRESULT,
1029 pub Begin_Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *const u8, csent: u32) -> ::windows_core::HRESULT,
1030 pub Finish_Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1031}
1032#[repr(transparent)]
1033#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1034pub struct AsyncIPipeDouble(::windows_core::IUnknown);
1035impl AsyncIPipeDouble {
1036 pub unsafe fn Begin_Pull(&self, crequest: u32) -> ::windows_core::Result<()> {
1037 (::windows_core::Interface::vtable(self).Begin_Pull)(::windows_core::Interface::as_raw(self), crequest).ok()
1038 }
1039 pub unsafe fn Finish_Pull(&self, buf: *mut f64, pcreturned: *mut u32) -> ::windows_core::Result<()> {
1040 (::windows_core::Interface::vtable(self).Finish_Pull)(::windows_core::Interface::as_raw(self), buf, pcreturned).ok()
1041 }
1042 pub unsafe fn Begin_Push(&self, buf: &[f64]) -> ::windows_core::Result<()> {
1043 (::windows_core::Interface::vtable(self).Begin_Push)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap()).ok()
1044 }
1045 pub unsafe fn Finish_Push(&self) -> ::windows_core::Result<()> {
1046 (::windows_core::Interface::vtable(self).Finish_Push)(::windows_core::Interface::as_raw(self)).ok()
1047 }
1048}
1049::windows_core::imp::interface_hierarchy!(AsyncIPipeDouble, ::windows_core::IUnknown);
1050unsafe impl ::windows_core::Interface for AsyncIPipeDouble {
1051 type Vtable = AsyncIPipeDouble_Vtbl;
1052}
1053unsafe impl ::windows_core::ComInterface for AsyncIPipeDouble {
1054 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdb2f3acf_2f86_11d1_8e04_00c04fb9989a);
1055}
1056#[repr(C)]
1057#[doc(hidden)]
1058pub struct AsyncIPipeDouble_Vtbl {
1059 pub base__: ::windows_core::IUnknown_Vtbl,
1060 pub Begin_Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crequest: u32) -> ::windows_core::HRESULT,
1061 pub Finish_Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *mut f64, pcreturned: *mut u32) -> ::windows_core::HRESULT,
1062 pub Begin_Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *const f64, csent: u32) -> ::windows_core::HRESULT,
1063 pub Finish_Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1064}
1065#[repr(transparent)]
1066#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1067pub struct AsyncIPipeLong(::windows_core::IUnknown);
1068impl AsyncIPipeLong {
1069 pub unsafe fn Begin_Pull(&self, crequest: u32) -> ::windows_core::Result<()> {
1070 (::windows_core::Interface::vtable(self).Begin_Pull)(::windows_core::Interface::as_raw(self), crequest).ok()
1071 }
1072 pub unsafe fn Finish_Pull(&self, buf: *mut i32, pcreturned: *mut u32) -> ::windows_core::Result<()> {
1073 (::windows_core::Interface::vtable(self).Finish_Pull)(::windows_core::Interface::as_raw(self), buf, pcreturned).ok()
1074 }
1075 pub unsafe fn Begin_Push(&self, buf: &[i32]) -> ::windows_core::Result<()> {
1076 (::windows_core::Interface::vtable(self).Begin_Push)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap()).ok()
1077 }
1078 pub unsafe fn Finish_Push(&self) -> ::windows_core::Result<()> {
1079 (::windows_core::Interface::vtable(self).Finish_Push)(::windows_core::Interface::as_raw(self)).ok()
1080 }
1081}
1082::windows_core::imp::interface_hierarchy!(AsyncIPipeLong, ::windows_core::IUnknown);
1083unsafe impl ::windows_core::Interface for AsyncIPipeLong {
1084 type Vtable = AsyncIPipeLong_Vtbl;
1085}
1086unsafe impl ::windows_core::ComInterface for AsyncIPipeLong {
1087 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdb2f3acd_2f86_11d1_8e04_00c04fb9989a);
1088}
1089#[repr(C)]
1090#[doc(hidden)]
1091pub struct AsyncIPipeLong_Vtbl {
1092 pub base__: ::windows_core::IUnknown_Vtbl,
1093 pub Begin_Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, crequest: u32) -> ::windows_core::HRESULT,
1094 pub Finish_Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *mut i32, pcreturned: *mut u32) -> ::windows_core::HRESULT,
1095 pub Begin_Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *const i32, csent: u32) -> ::windows_core::HRESULT,
1096 pub Finish_Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1097}
1098#[repr(transparent)]
1099#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1100pub struct AsyncIUnknown(::windows_core::IUnknown);
1101impl AsyncIUnknown {
1102 pub unsafe fn Begin_QueryInterface(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
1103 (::windows_core::Interface::vtable(self).Begin_QueryInterface)(::windows_core::Interface::as_raw(self), riid).ok()
1104 }
1105 pub unsafe fn Finish_QueryInterface(&self, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
1106 (::windows_core::Interface::vtable(self).Finish_QueryInterface)(::windows_core::Interface::as_raw(self), ppvobject).ok()
1107 }
1108 pub unsafe fn Begin_AddRef(&self) -> ::windows_core::Result<()> {
1109 (::windows_core::Interface::vtable(self).Begin_AddRef)(::windows_core::Interface::as_raw(self)).ok()
1110 }
1111 pub unsafe fn Finish_AddRef(&self) -> u32 {
1112 (::windows_core::Interface::vtable(self).Finish_AddRef)(::windows_core::Interface::as_raw(self))
1113 }
1114 pub unsafe fn Begin_Release(&self) -> ::windows_core::Result<()> {
1115 (::windows_core::Interface::vtable(self).Begin_Release)(::windows_core::Interface::as_raw(self)).ok()
1116 }
1117 pub unsafe fn Finish_Release(&self) -> u32 {
1118 (::windows_core::Interface::vtable(self).Finish_Release)(::windows_core::Interface::as_raw(self))
1119 }
1120}
1121::windows_core::imp::interface_hierarchy!(AsyncIUnknown, ::windows_core::IUnknown);
1122unsafe impl ::windows_core::Interface for AsyncIUnknown {
1123 type Vtable = AsyncIUnknown_Vtbl;
1124}
1125unsafe impl ::windows_core::ComInterface for AsyncIUnknown {
1126 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000e0000_0000_0000_c000_000000000046);
1127}
1128#[repr(C)]
1129#[doc(hidden)]
1130pub struct AsyncIUnknown_Vtbl {
1131 pub base__: ::windows_core::IUnknown_Vtbl,
1132 pub Begin_QueryInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1133 pub Finish_QueryInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1134 pub Begin_AddRef: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1135 pub Finish_AddRef: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
1136 pub Begin_Release: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1137 pub Finish_Release: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
1138}
1139#[repr(transparent)]
1140#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1141pub struct IActivationFilter(::windows_core::IUnknown);
1142impl IActivationFilter {
1143 pub unsafe fn HandleActivation(&self, dwactivationtype: u32, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::GUID> {
1144 let mut result__: GUID = ::std::mem::zeroed();
1145 (::windows_core::Interface::vtable(self).HandleActivation)(::windows_core::Interface::as_raw(self), dwactivationtype, rclsid, &mut result__).from_abi(result__)
1146 }
1147}
1148::windows_core::imp::interface_hierarchy!(IActivationFilter, ::windows_core::IUnknown);
1149unsafe impl ::windows_core::Interface for IActivationFilter {
1150 type Vtable = IActivationFilter_Vtbl;
1151}
1152unsafe impl ::windows_core::ComInterface for IActivationFilter {
1153 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000017_0000_0000_c000_000000000046);
1154}
1155#[repr(C)]
1156#[doc(hidden)]
1157pub struct IActivationFilter_Vtbl {
1158 pub base__: ::windows_core::IUnknown_Vtbl,
1159 pub HandleActivation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwactivationtype: u32, rclsid: *const ::windows_core::GUID, preplacementclsid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
1160}
1161#[repr(transparent)]
1162#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1163pub struct IAddrExclusionControl(::windows_core::IUnknown);
1164impl IAddrExclusionControl {
1165 pub unsafe fn GetCurrentAddrExclusionList(&self, riid: *const ::windows_core::GUID, ppenumerator: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
1166 (::windows_core::Interface::vtable(self).GetCurrentAddrExclusionList)(::windows_core::Interface::as_raw(self), riid, ppenumerator).ok()
1167 }
1168 pub unsafe fn UpdateAddrExclusionList<P0>(&self, penumerator: P0) -> ::windows_core::Result<()>
1169 where
1170 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1171 {
1172 (::windows_core::Interface::vtable(self).UpdateAddrExclusionList)(::windows_core::Interface::as_raw(self), penumerator.into_param().abi()).ok()
1173 }
1174}
1175::windows_core::imp::interface_hierarchy!(IAddrExclusionControl, ::windows_core::IUnknown);
1176unsafe impl ::windows_core::Interface for IAddrExclusionControl {
1177 type Vtable = IAddrExclusionControl_Vtbl;
1178}
1179unsafe impl ::windows_core::ComInterface for IAddrExclusionControl {
1180 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000148_0000_0000_c000_000000000046);
1181}
1182#[repr(C)]
1183#[doc(hidden)]
1184pub struct IAddrExclusionControl_Vtbl {
1185 pub base__: ::windows_core::IUnknown_Vtbl,
1186 pub GetCurrentAddrExclusionList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppenumerator: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1187 pub UpdateAddrExclusionList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, penumerator: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1188}
1189#[repr(transparent)]
1190#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1191pub struct IAddrTrackingControl(::windows_core::IUnknown);
1192impl IAddrTrackingControl {
1193 pub unsafe fn EnableCOMDynamicAddrTracking(&self) -> ::windows_core::Result<()> {
1194 (::windows_core::Interface::vtable(self).EnableCOMDynamicAddrTracking)(::windows_core::Interface::as_raw(self)).ok()
1195 }
1196 pub unsafe fn DisableCOMDynamicAddrTracking(&self) -> ::windows_core::Result<()> {
1197 (::windows_core::Interface::vtable(self).DisableCOMDynamicAddrTracking)(::windows_core::Interface::as_raw(self)).ok()
1198 }
1199}
1200::windows_core::imp::interface_hierarchy!(IAddrTrackingControl, ::windows_core::IUnknown);
1201unsafe impl ::windows_core::Interface for IAddrTrackingControl {
1202 type Vtable = IAddrTrackingControl_Vtbl;
1203}
1204unsafe impl ::windows_core::ComInterface for IAddrTrackingControl {
1205 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000147_0000_0000_c000_000000000046);
1206}
1207#[repr(C)]
1208#[doc(hidden)]
1209pub struct IAddrTrackingControl_Vtbl {
1210 pub base__: ::windows_core::IUnknown_Vtbl,
1211 pub EnableCOMDynamicAddrTracking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1212 pub DisableCOMDynamicAddrTracking: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1213}
1214#[repr(transparent)]
1215#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1216pub struct IAdviseSink(::windows_core::IUnknown);
1217impl IAdviseSink {
1218 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1219 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
1220 pub unsafe fn OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
1221 (::windows_core::Interface::vtable(self).OnDataChange)(::windows_core::Interface::as_raw(self), pformatetc, pstgmed)
1222 }
1223 pub unsafe fn OnViewChange(&self, dwaspect: u32, lindex: i32) {
1224 (::windows_core::Interface::vtable(self).OnViewChange)(::windows_core::Interface::as_raw(self), dwaspect, lindex)
1225 }
1226 pub unsafe fn OnRename<P0>(&self, pmk: P0)
1227 where
1228 P0: ::windows_core::IntoParam<IMoniker>,
1229 {
1230 (::windows_core::Interface::vtable(self).OnRename)(::windows_core::Interface::as_raw(self), pmk.into_param().abi())
1231 }
1232 pub unsafe fn OnSave(&self) {
1233 (::windows_core::Interface::vtable(self).OnSave)(::windows_core::Interface::as_raw(self))
1234 }
1235 pub unsafe fn OnClose(&self) {
1236 (::windows_core::Interface::vtable(self).OnClose)(::windows_core::Interface::as_raw(self))
1237 }
1238}
1239::windows_core::imp::interface_hierarchy!(IAdviseSink, ::windows_core::IUnknown);
1240unsafe impl ::windows_core::Interface for IAdviseSink {
1241 type Vtable = IAdviseSink_Vtbl;
1242}
1243unsafe impl ::windows_core::ComInterface for IAdviseSink {
1244 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000010f_0000_0000_c000_000000000046);
1245}
1246#[repr(C)]
1247#[doc(hidden)]
1248pub struct IAdviseSink_Vtbl {
1249 pub base__: ::windows_core::IUnknown_Vtbl,
1250 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
1251 pub OnDataChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM),
1252 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))]
1253 OnDataChange: usize,
1254 pub OnViewChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwaspect: u32, lindex: i32),
1255 pub OnRename: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmk: *mut ::core::ffi::c_void),
1256 pub OnSave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
1257 pub OnClose: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
1258}
1259#[repr(transparent)]
1260#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1261pub struct IAdviseSink2(::windows_core::IUnknown);
1262impl IAdviseSink2 {
1263 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1264 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
1265 pub unsafe fn OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
1266 (::windows_core::Interface::vtable(self).base__.OnDataChange)(::windows_core::Interface::as_raw(self), pformatetc, pstgmed)
1267 }
1268 pub unsafe fn OnViewChange(&self, dwaspect: u32, lindex: i32) {
1269 (::windows_core::Interface::vtable(self).base__.OnViewChange)(::windows_core::Interface::as_raw(self), dwaspect, lindex)
1270 }
1271 pub unsafe fn OnRename<P0>(&self, pmk: P0)
1272 where
1273 P0: ::windows_core::IntoParam<IMoniker>,
1274 {
1275 (::windows_core::Interface::vtable(self).base__.OnRename)(::windows_core::Interface::as_raw(self), pmk.into_param().abi())
1276 }
1277 pub unsafe fn OnSave(&self) {
1278 (::windows_core::Interface::vtable(self).base__.OnSave)(::windows_core::Interface::as_raw(self))
1279 }
1280 pub unsafe fn OnClose(&self) {
1281 (::windows_core::Interface::vtable(self).base__.OnClose)(::windows_core::Interface::as_raw(self))
1282 }
1283 pub unsafe fn OnLinkSrcChange<P0>(&self, pmk: P0)
1284 where
1285 P0: ::windows_core::IntoParam<IMoniker>,
1286 {
1287 (::windows_core::Interface::vtable(self).OnLinkSrcChange)(::windows_core::Interface::as_raw(self), pmk.into_param().abi())
1288 }
1289}
1290::windows_core::imp::interface_hierarchy!(IAdviseSink2, ::windows_core::IUnknown, IAdviseSink);
1291unsafe impl ::windows_core::Interface for IAdviseSink2 {
1292 type Vtable = IAdviseSink2_Vtbl;
1293}
1294unsafe impl ::windows_core::ComInterface for IAdviseSink2 {
1295 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000125_0000_0000_c000_000000000046);
1296}
1297#[repr(C)]
1298#[doc(hidden)]
1299pub struct IAdviseSink2_Vtbl {
1300 pub base__: IAdviseSink_Vtbl,
1301 pub OnLinkSrcChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmk: *mut ::core::ffi::c_void),
1302}
1303#[repr(transparent)]
1304#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1305pub struct IAgileObject(::windows_core::IUnknown);
1306impl IAgileObject {}
1307::windows_core::imp::interface_hierarchy!(IAgileObject, ::windows_core::IUnknown);
1308unsafe impl ::windows_core::Interface for IAgileObject {
1309 type Vtable = IAgileObject_Vtbl;
1310}
1311unsafe impl ::windows_core::ComInterface for IAgileObject {
1312 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x94ea2b94_e9cc_49e0_c0ff_ee64ca8f5b90);
1313}
1314#[repr(C)]
1315#[doc(hidden)]
1316pub struct IAgileObject_Vtbl {
1317 pub base__: ::windows_core::IUnknown_Vtbl,
1318}
1319#[repr(transparent)]
1320#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1321pub struct IAsyncManager(::windows_core::IUnknown);
1322impl IAsyncManager {
1323 pub unsafe fn CompleteCall(&self, result: ::windows_core::HRESULT) -> ::windows_core::Result<()> {
1324 (::windows_core::Interface::vtable(self).CompleteCall)(::windows_core::Interface::as_raw(self), result).ok()
1325 }
1326 pub unsafe fn GetCallContext(&self, riid: *const ::windows_core::GUID, pinterface: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
1327 (::windows_core::Interface::vtable(self).GetCallContext)(::windows_core::Interface::as_raw(self), riid, pinterface).ok()
1328 }
1329 pub unsafe fn GetState(&self) -> ::windows_core::Result<u32> {
1330 let mut result__: u32 = ::std::mem::zeroed();
1331 (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1332 }
1333}
1334::windows_core::imp::interface_hierarchy!(IAsyncManager, ::windows_core::IUnknown);
1335unsafe impl ::windows_core::Interface for IAsyncManager {
1336 type Vtable = IAsyncManager_Vtbl;
1337}
1338unsafe impl ::windows_core::ComInterface for IAsyncManager {
1339 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000002a_0000_0000_c000_000000000046);
1340}
1341#[repr(C)]
1342#[doc(hidden)]
1343pub struct IAsyncManager_Vtbl {
1344 pub base__: ::windows_core::IUnknown_Vtbl,
1345 pub CompleteCall: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result: ::windows_core::HRESULT) -> ::windows_core::HRESULT,
1346 pub GetCallContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, pinterface: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1347 pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulstateflags: *mut u32) -> ::windows_core::HRESULT,
1348}
1349#[repr(transparent)]
1350#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1351pub struct IAsyncRpcChannelBuffer(::windows_core::IUnknown);
1352impl IAsyncRpcChannelBuffer {
1353 pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
1354 (::windows_core::Interface::vtable(self).base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), pmessage, riid).ok()
1355 }
1356 pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
1357 (::windows_core::Interface::vtable(self).base__.base__.SendReceive)(::windows_core::Interface::as_raw(self), pmessage, ::core::mem::transmute(pstatus.unwrap_or(::std::ptr::null_mut()))).ok()
1358 }
1359 pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows_core::Result<()> {
1360 (::windows_core::Interface::vtable(self).base__.base__.FreeBuffer)(::windows_core::Interface::as_raw(self), pmessage).ok()
1361 }
1362 pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
1363 (::windows_core::Interface::vtable(self).base__.base__.GetDestCtx)(::windows_core::Interface::as_raw(self), pdwdestcontext, ppvdestcontext).ok()
1364 }
1365 pub unsafe fn IsConnected(&self) -> ::windows_core::Result<()> {
1366 (::windows_core::Interface::vtable(self).base__.base__.IsConnected)(::windows_core::Interface::as_raw(self)).ok()
1367 }
1368 pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result<u32> {
1369 let mut result__ = ::std::mem::zeroed();
1370 (::windows_core::Interface::vtable(self).base__.GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1371 }
1372 pub unsafe fn Send<P0>(&self, pmsg: *mut RPCOLEMESSAGE, psync: P0, pulstatus: *mut u32) -> ::windows_core::Result<()>
1373 where
1374 P0: ::windows_core::IntoParam<ISynchronize>,
1375 {
1376 (::windows_core::Interface::vtable(self).Send)(::windows_core::Interface::as_raw(self), pmsg, psync.into_param().abi(), pulstatus).ok()
1377 }
1378 pub unsafe fn Receive(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows_core::Result<()> {
1379 (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), pmsg, pulstatus).ok()
1380 }
1381 pub unsafe fn GetDestCtxEx(&self, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
1382 (::windows_core::Interface::vtable(self).GetDestCtxEx)(::windows_core::Interface::as_raw(self), pmsg, pdwdestcontext, ::core::mem::transmute(ppvdestcontext.unwrap_or(::std::ptr::null_mut()))).ok()
1383 }
1384}
1385::windows_core::imp::interface_hierarchy!(IAsyncRpcChannelBuffer, ::windows_core::IUnknown, IRpcChannelBuffer, IRpcChannelBuffer2);
1386unsafe impl ::windows_core::Interface for IAsyncRpcChannelBuffer {
1387 type Vtable = IAsyncRpcChannelBuffer_Vtbl;
1388}
1389unsafe impl ::windows_core::ComInterface for IAsyncRpcChannelBuffer {
1390 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xa5029fb6_3c34_11d1_9c99_00c04fb998aa);
1391}
1392#[repr(C)]
1393#[doc(hidden)]
1394pub struct IAsyncRpcChannelBuffer_Vtbl {
1395 pub base__: IRpcChannelBuffer2_Vtbl,
1396 pub Send: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE, psync: *mut ::core::ffi::c_void, pulstatus: *mut u32) -> ::windows_core::HRESULT,
1397 pub Receive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows_core::HRESULT,
1398 pub GetDestCtxEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1399}
1400#[repr(transparent)]
1401#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1402pub struct IAuthenticate(::windows_core::IUnknown);
1403impl IAuthenticate {
1404 #[doc = "Required features: `\"Win32_Foundation\"`"]
1405 #[cfg(feature = "Win32_Foundation")]
1406 pub unsafe fn Authenticate(&self, phwnd: *mut super::super::Foundation::HWND, pszusername: *mut ::windows_core::PWSTR, pszpassword: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> {
1407 (::windows_core::Interface::vtable(self).Authenticate)(::windows_core::Interface::as_raw(self), phwnd, pszusername, pszpassword).ok()
1408 }
1409}
1410::windows_core::imp::interface_hierarchy!(IAuthenticate, ::windows_core::IUnknown);
1411unsafe impl ::windows_core::Interface for IAuthenticate {
1412 type Vtable = IAuthenticate_Vtbl;
1413}
1414unsafe impl ::windows_core::ComInterface for IAuthenticate {
1415 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x79eac9d0_baf9_11ce_8c82_00aa004ba90b);
1416}
1417#[repr(C)]
1418#[doc(hidden)]
1419pub struct IAuthenticate_Vtbl {
1420 pub base__: ::windows_core::IUnknown_Vtbl,
1421 #[cfg(feature = "Win32_Foundation")]
1422 pub Authenticate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND, pszusername: *mut ::windows_core::PWSTR, pszpassword: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT,
1423 #[cfg(not(feature = "Win32_Foundation"))]
1424 Authenticate: usize,
1425}
1426#[repr(transparent)]
1427#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1428pub struct IAuthenticateEx(::windows_core::IUnknown);
1429impl IAuthenticateEx {
1430 #[doc = "Required features: `\"Win32_Foundation\"`"]
1431 #[cfg(feature = "Win32_Foundation")]
1432 pub unsafe fn Authenticate(&self, phwnd: *mut super::super::Foundation::HWND, pszusername: *mut ::windows_core::PWSTR, pszpassword: *mut ::windows_core::PWSTR) -> ::windows_core::Result<()> {
1433 (::windows_core::Interface::vtable(self).base__.Authenticate)(::windows_core::Interface::as_raw(self), phwnd, pszusername, pszpassword).ok()
1434 }
1435 #[doc = "Required features: `\"Win32_Foundation\"`"]
1436 #[cfg(feature = "Win32_Foundation")]
1437 pub unsafe fn AuthenticateEx(&self, phwnd: *mut super::super::Foundation::HWND, pszusername: *mut ::windows_core::PWSTR, pszpassword: *mut ::windows_core::PWSTR, pauthinfo: *const AUTHENTICATEINFO) -> ::windows_core::Result<()> {
1438 (::windows_core::Interface::vtable(self).AuthenticateEx)(::windows_core::Interface::as_raw(self), phwnd, pszusername, pszpassword, pauthinfo).ok()
1439 }
1440}
1441::windows_core::imp::interface_hierarchy!(IAuthenticateEx, ::windows_core::IUnknown, IAuthenticate);
1442unsafe impl ::windows_core::Interface for IAuthenticateEx {
1443 type Vtable = IAuthenticateEx_Vtbl;
1444}
1445unsafe impl ::windows_core::ComInterface for IAuthenticateEx {
1446 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x2ad1edaf_d83d_48b5_9adf_03dbe19f53bd);
1447}
1448#[repr(C)]
1449#[doc(hidden)]
1450pub struct IAuthenticateEx_Vtbl {
1451 pub base__: IAuthenticate_Vtbl,
1452 #[cfg(feature = "Win32_Foundation")]
1453 pub AuthenticateEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phwnd: *mut super::super::Foundation::HWND, pszusername: *mut ::windows_core::PWSTR, pszpassword: *mut ::windows_core::PWSTR, pauthinfo: *const AUTHENTICATEINFO) -> ::windows_core::HRESULT,
1454 #[cfg(not(feature = "Win32_Foundation"))]
1455 AuthenticateEx: usize,
1456}
1457#[repr(transparent)]
1458#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1459pub struct IBindCtx(::windows_core::IUnknown);
1460impl IBindCtx {
1461 pub unsafe fn RegisterObjectBound<P0>(&self, punk: P0) -> ::windows_core::Result<()>
1462 where
1463 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1464 {
1465 (::windows_core::Interface::vtable(self).RegisterObjectBound)(::windows_core::Interface::as_raw(self), punk.into_param().abi()).ok()
1466 }
1467 pub unsafe fn RevokeObjectBound<P0>(&self, punk: P0) -> ::windows_core::Result<()>
1468 where
1469 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1470 {
1471 (::windows_core::Interface::vtable(self).RevokeObjectBound)(::windows_core::Interface::as_raw(self), punk.into_param().abi()).ok()
1472 }
1473 pub unsafe fn ReleaseBoundObjects(&self) -> ::windows_core::Result<()> {
1474 (::windows_core::Interface::vtable(self).ReleaseBoundObjects)(::windows_core::Interface::as_raw(self)).ok()
1475 }
1476 pub unsafe fn SetBindOptions(&self, pbindopts: *const BIND_OPTS) -> ::windows_core::Result<()> {
1477 (::windows_core::Interface::vtable(self).SetBindOptions)(::windows_core::Interface::as_raw(self), pbindopts).ok()
1478 }
1479 pub unsafe fn GetBindOptions(&self, pbindopts: *mut BIND_OPTS) -> ::windows_core::Result<()> {
1480 (::windows_core::Interface::vtable(self).GetBindOptions)(::windows_core::Interface::as_raw(self), pbindopts).ok()
1481 }
1482 pub unsafe fn GetRunningObjectTable(&self) -> ::windows_core::Result<IRunningObjectTable> {
1483 let mut result__ = ::std::mem::zeroed();
1484 (::windows_core::Interface::vtable(self).GetRunningObjectTable)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1485 }
1486 pub unsafe fn RegisterObjectParam<P0, P1>(&self, pszkey: P0, punk: P1) -> ::windows_core::Result<()>
1487 where
1488 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1489 P1: ::windows_core::IntoParam<::windows_core::IUnknown>,
1490 {
1491 (::windows_core::Interface::vtable(self).RegisterObjectParam)(::windows_core::Interface::as_raw(self), pszkey.into_param().abi(), punk.into_param().abi()).ok()
1492 }
1493 pub unsafe fn GetObjectParam<P0>(&self, pszkey: P0) -> ::windows_core::Result<::windows_core::IUnknown>
1494 where
1495 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1496 {
1497 let mut result__ = ::std::mem::zeroed();
1498 (::windows_core::Interface::vtable(self).GetObjectParam)(::windows_core::Interface::as_raw(self), pszkey.into_param().abi(), &mut result__).from_abi(result__)
1499 }
1500 pub unsafe fn EnumObjectParam(&self) -> ::windows_core::Result<IEnumString> {
1501 let mut result__ = ::std::mem::zeroed();
1502 (::windows_core::Interface::vtable(self).EnumObjectParam)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1503 }
1504 pub unsafe fn RevokeObjectParam<P0>(&self, pszkey: P0) -> ::windows_core::Result<()>
1505 where
1506 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1507 {
1508 (::windows_core::Interface::vtable(self).RevokeObjectParam)(::windows_core::Interface::as_raw(self), pszkey.into_param().abi()).ok()
1509 }
1510}
1511::windows_core::imp::interface_hierarchy!(IBindCtx, ::windows_core::IUnknown);
1512unsafe impl ::windows_core::Interface for IBindCtx {
1513 type Vtable = IBindCtx_Vtbl;
1514}
1515unsafe impl ::windows_core::ComInterface for IBindCtx {
1516 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000000e_0000_0000_c000_000000000046);
1517}
1518#[repr(C)]
1519#[doc(hidden)]
1520pub struct IBindCtx_Vtbl {
1521 pub base__: ::windows_core::IUnknown_Vtbl,
1522 pub RegisterObjectBound: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1523 pub RevokeObjectBound: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1524 pub ReleaseBoundObjects: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1525 pub SetBindOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbindopts: *const BIND_OPTS) -> ::windows_core::HRESULT,
1526 pub GetBindOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbindopts: *mut BIND_OPTS) -> ::windows_core::HRESULT,
1527 pub GetRunningObjectTable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprot: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1528 pub RegisterObjectParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszkey: ::windows_core::PCWSTR, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1529 pub GetObjectParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszkey: ::windows_core::PCWSTR, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1530 pub EnumObjectParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1531 pub RevokeObjectParam: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszkey: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
1532}
1533#[repr(transparent)]
1534#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1535pub struct IBindHost(::windows_core::IUnknown);
1536impl IBindHost {
1537 pub unsafe fn CreateMoniker<P0, P1>(&self, szname: P0, pbc: P1, ppmk: *mut ::core::option::Option<IMoniker>, dwreserved: u32) -> ::windows_core::Result<()>
1538 where
1539 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1540 P1: ::windows_core::IntoParam<IBindCtx>,
1541 {
1542 (::windows_core::Interface::vtable(self).CreateMoniker)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), pbc.into_param().abi(), ::core::mem::transmute(ppmk), dwreserved).ok()
1543 }
1544 pub unsafe fn MonikerBindToStorage<P0, P1, P2>(&self, pmk: P0, pbc: P1, pbsc: P2, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>
1545 where
1546 P0: ::windows_core::IntoParam<IMoniker>,
1547 P1: ::windows_core::IntoParam<IBindCtx>,
1548 P2: ::windows_core::IntoParam<IBindStatusCallback>,
1549 {
1550 (::windows_core::Interface::vtable(self).MonikerBindToStorage)(::windows_core::Interface::as_raw(self), pmk.into_param().abi(), pbc.into_param().abi(), pbsc.into_param().abi(), riid, ppvobj).ok()
1551 }
1552 pub unsafe fn MonikerBindToObject<P0, P1, P2>(&self, pmk: P0, pbc: P1, pbsc: P2, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>
1553 where
1554 P0: ::windows_core::IntoParam<IMoniker>,
1555 P1: ::windows_core::IntoParam<IBindCtx>,
1556 P2: ::windows_core::IntoParam<IBindStatusCallback>,
1557 {
1558 (::windows_core::Interface::vtable(self).MonikerBindToObject)(::windows_core::Interface::as_raw(self), pmk.into_param().abi(), pbc.into_param().abi(), pbsc.into_param().abi(), riid, ppvobj).ok()
1559 }
1560}
1561::windows_core::imp::interface_hierarchy!(IBindHost, ::windows_core::IUnknown);
1562unsafe impl ::windows_core::Interface for IBindHost {
1563 type Vtable = IBindHost_Vtbl;
1564}
1565unsafe impl ::windows_core::ComInterface for IBindHost {
1566 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xfc4801a1_2ba9_11cf_a229_00aa003d7352);
1567}
1568#[repr(C)]
1569#[doc(hidden)]
1570pub struct IBindHost_Vtbl {
1571 pub base__: ::windows_core::IUnknown_Vtbl,
1572 pub CreateMoniker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::windows_core::PCWSTR, pbc: *mut ::core::ffi::c_void, ppmk: *mut *mut ::core::ffi::c_void, dwreserved: u32) -> ::windows_core::HRESULT,
1573 pub MonikerBindToStorage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmk: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pbsc: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1574 pub MonikerBindToObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmk: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pbsc: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1575}
1576#[repr(transparent)]
1577#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1578pub struct IBindStatusCallback(::windows_core::IUnknown);
1579impl IBindStatusCallback {
1580 pub unsafe fn OnStartBinding<P0>(&self, dwreserved: u32, pib: P0) -> ::windows_core::Result<()>
1581 where
1582 P0: ::windows_core::IntoParam<IBinding>,
1583 {
1584 (::windows_core::Interface::vtable(self).OnStartBinding)(::windows_core::Interface::as_raw(self), dwreserved, pib.into_param().abi()).ok()
1585 }
1586 pub unsafe fn GetPriority(&self) -> ::windows_core::Result<i32> {
1587 let mut result__ = ::std::mem::zeroed();
1588 (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1589 }
1590 pub unsafe fn OnLowResource(&self, reserved: u32) -> ::windows_core::Result<()> {
1591 (::windows_core::Interface::vtable(self).OnLowResource)(::windows_core::Interface::as_raw(self), reserved).ok()
1592 }
1593 pub unsafe fn OnProgress<P0>(&self, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: P0) -> ::windows_core::Result<()>
1594 where
1595 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1596 {
1597 (::windows_core::Interface::vtable(self).OnProgress)(::windows_core::Interface::as_raw(self), ulprogress, ulprogressmax, ulstatuscode, szstatustext.into_param().abi()).ok()
1598 }
1599 pub unsafe fn OnStopBinding<P0>(&self, hresult: ::windows_core::HRESULT, szerror: P0) -> ::windows_core::Result<()>
1600 where
1601 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1602 {
1603 (::windows_core::Interface::vtable(self).OnStopBinding)(::windows_core::Interface::as_raw(self), hresult, szerror.into_param().abi()).ok()
1604 }
1605 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1606 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
1607 pub unsafe fn GetBindInfo(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows_core::Result<()> {
1608 (::windows_core::Interface::vtable(self).GetBindInfo)(::windows_core::Interface::as_raw(self), grfbindf, pbindinfo).ok()
1609 }
1610 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1611 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
1612 pub unsafe fn OnDataAvailable(&self, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows_core::Result<()> {
1613 (::windows_core::Interface::vtable(self).OnDataAvailable)(::windows_core::Interface::as_raw(self), grfbscf, dwsize, pformatetc, pstgmed).ok()
1614 }
1615 pub unsafe fn OnObjectAvailable<P0>(&self, riid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result<()>
1616 where
1617 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1618 {
1619 (::windows_core::Interface::vtable(self).OnObjectAvailable)(::windows_core::Interface::as_raw(self), riid, punk.into_param().abi()).ok()
1620 }
1621}
1622::windows_core::imp::interface_hierarchy!(IBindStatusCallback, ::windows_core::IUnknown);
1623unsafe impl ::windows_core::Interface for IBindStatusCallback {
1624 type Vtable = IBindStatusCallback_Vtbl;
1625}
1626unsafe impl ::windows_core::ComInterface for IBindStatusCallback {
1627 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x79eac9c1_baf9_11ce_8c82_00aa004ba90b);
1628}
1629#[repr(C)]
1630#[doc(hidden)]
1631pub struct IBindStatusCallback_Vtbl {
1632 pub base__: ::windows_core::IUnknown_Vtbl,
1633 pub OnStartBinding: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwreserved: u32, pib: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1634 pub GetPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnpriority: *mut i32) -> ::windows_core::HRESULT,
1635 pub OnLowResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, reserved: u32) -> ::windows_core::HRESULT,
1636 pub OnProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
1637 pub OnStopBinding: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hresult: ::windows_core::HRESULT, szerror: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
1638 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
1639 pub GetBindInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows_core::HRESULT,
1640 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage")))]
1641 GetBindInfo: usize,
1642 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
1643 pub OnDataAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows_core::HRESULT,
1644 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))]
1645 OnDataAvailable: usize,
1646 pub OnObjectAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1647}
1648#[repr(transparent)]
1649#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1650pub struct IBindStatusCallbackEx(::windows_core::IUnknown);
1651impl IBindStatusCallbackEx {
1652 pub unsafe fn OnStartBinding<P0>(&self, dwreserved: u32, pib: P0) -> ::windows_core::Result<()>
1653 where
1654 P0: ::windows_core::IntoParam<IBinding>,
1655 {
1656 (::windows_core::Interface::vtable(self).base__.OnStartBinding)(::windows_core::Interface::as_raw(self), dwreserved, pib.into_param().abi()).ok()
1657 }
1658 pub unsafe fn GetPriority(&self) -> ::windows_core::Result<i32> {
1659 let mut result__ = ::std::mem::zeroed();
1660 (::windows_core::Interface::vtable(self).base__.GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1661 }
1662 pub unsafe fn OnLowResource(&self, reserved: u32) -> ::windows_core::Result<()> {
1663 (::windows_core::Interface::vtable(self).base__.OnLowResource)(::windows_core::Interface::as_raw(self), reserved).ok()
1664 }
1665 pub unsafe fn OnProgress<P0>(&self, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: P0) -> ::windows_core::Result<()>
1666 where
1667 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1668 {
1669 (::windows_core::Interface::vtable(self).base__.OnProgress)(::windows_core::Interface::as_raw(self), ulprogress, ulprogressmax, ulstatuscode, szstatustext.into_param().abi()).ok()
1670 }
1671 pub unsafe fn OnStopBinding<P0>(&self, hresult: ::windows_core::HRESULT, szerror: P0) -> ::windows_core::Result<()>
1672 where
1673 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
1674 {
1675 (::windows_core::Interface::vtable(self).base__.OnStopBinding)(::windows_core::Interface::as_raw(self), hresult, szerror.into_param().abi()).ok()
1676 }
1677 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1678 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
1679 pub unsafe fn GetBindInfo(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows_core::Result<()> {
1680 (::windows_core::Interface::vtable(self).base__.GetBindInfo)(::windows_core::Interface::as_raw(self), grfbindf, pbindinfo).ok()
1681 }
1682 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1683 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
1684 pub unsafe fn OnDataAvailable(&self, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows_core::Result<()> {
1685 (::windows_core::Interface::vtable(self).base__.OnDataAvailable)(::windows_core::Interface::as_raw(self), grfbscf, dwsize, pformatetc, pstgmed).ok()
1686 }
1687 pub unsafe fn OnObjectAvailable<P0>(&self, riid: *const ::windows_core::GUID, punk: P0) -> ::windows_core::Result<()>
1688 where
1689 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1690 {
1691 (::windows_core::Interface::vtable(self).base__.OnObjectAvailable)(::windows_core::Interface::as_raw(self), riid, punk.into_param().abi()).ok()
1692 }
1693 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`, `\"Win32_System_Com_StructuredStorage\"`"]
1694 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
1695 pub unsafe fn GetBindInfoEx(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO, grfbindf2: *mut u32, pdwreserved: *mut u32) -> ::windows_core::Result<()> {
1696 (::windows_core::Interface::vtable(self).GetBindInfoEx)(::windows_core::Interface::as_raw(self), grfbindf, pbindinfo, grfbindf2, pdwreserved).ok()
1697 }
1698}
1699::windows_core::imp::interface_hierarchy!(IBindStatusCallbackEx, ::windows_core::IUnknown, IBindStatusCallback);
1700unsafe impl ::windows_core::Interface for IBindStatusCallbackEx {
1701 type Vtable = IBindStatusCallbackEx_Vtbl;
1702}
1703unsafe impl ::windows_core::ComInterface for IBindStatusCallbackEx {
1704 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xaaa74ef9_8ee7_4659_88d9_f8c504da73cc);
1705}
1706#[repr(C)]
1707#[doc(hidden)]
1708pub struct IBindStatusCallbackEx_Vtbl {
1709 pub base__: IBindStatusCallback_Vtbl,
1710 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
1711 pub GetBindInfoEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grfbindf: *mut u32, pbindinfo: *mut BINDINFO, grfbindf2: *mut u32, pdwreserved: *mut u32) -> ::windows_core::HRESULT,
1712 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage")))]
1713 GetBindInfoEx: usize,
1714}
1715#[repr(transparent)]
1716#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1717pub struct IBinding(::windows_core::IUnknown);
1718impl IBinding {
1719 pub unsafe fn Abort(&self) -> ::windows_core::Result<()> {
1720 (::windows_core::Interface::vtable(self).Abort)(::windows_core::Interface::as_raw(self)).ok()
1721 }
1722 pub unsafe fn Suspend(&self) -> ::windows_core::Result<()> {
1723 (::windows_core::Interface::vtable(self).Suspend)(::windows_core::Interface::as_raw(self)).ok()
1724 }
1725 pub unsafe fn Resume(&self) -> ::windows_core::Result<()> {
1726 (::windows_core::Interface::vtable(self).Resume)(::windows_core::Interface::as_raw(self)).ok()
1727 }
1728 pub unsafe fn SetPriority(&self, npriority: i32) -> ::windows_core::Result<()> {
1729 (::windows_core::Interface::vtable(self).SetPriority)(::windows_core::Interface::as_raw(self), npriority).ok()
1730 }
1731 pub unsafe fn GetPriority(&self) -> ::windows_core::Result<i32> {
1732 let mut result__: i32 = ::std::mem::zeroed();
1733 (::windows_core::Interface::vtable(self).GetPriority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
1734 }
1735 pub unsafe fn GetBindResult(&self, pclsidprotocol: *mut ::windows_core::GUID, pdwresult: *mut u32, pszresult: *mut ::windows_core::PWSTR, pdwreserved: *mut u32) -> ::windows_core::Result<()> {
1736 (::windows_core::Interface::vtable(self).GetBindResult)(::windows_core::Interface::as_raw(self), pclsidprotocol, pdwresult, pszresult, pdwreserved).ok()
1737 }
1738}
1739::windows_core::imp::interface_hierarchy!(IBinding, ::windows_core::IUnknown);
1740unsafe impl ::windows_core::Interface for IBinding {
1741 type Vtable = IBinding_Vtbl;
1742}
1743unsafe impl ::windows_core::ComInterface for IBinding {
1744 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x79eac9c0_baf9_11ce_8c82_00aa004ba90b);
1745}
1746#[repr(C)]
1747#[doc(hidden)]
1748pub struct IBinding_Vtbl {
1749 pub base__: ::windows_core::IUnknown_Vtbl,
1750 pub Abort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1751 pub Suspend: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1752 pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1753 pub SetPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, npriority: i32) -> ::windows_core::HRESULT,
1754 pub GetPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnpriority: *mut i32) -> ::windows_core::HRESULT,
1755 pub GetBindResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclsidprotocol: *mut ::windows_core::GUID, pdwresult: *mut u32, pszresult: *mut ::windows_core::PWSTR, pdwreserved: *mut u32) -> ::windows_core::HRESULT,
1756}
1757#[repr(transparent)]
1758#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1759pub struct IBlockingLock(::windows_core::IUnknown);
1760impl IBlockingLock {
1761 pub unsafe fn Lock(&self, dwtimeout: u32) -> ::windows_core::Result<()> {
1762 (::windows_core::Interface::vtable(self).Lock)(::windows_core::Interface::as_raw(self), dwtimeout).ok()
1763 }
1764 pub unsafe fn Unlock(&self) -> ::windows_core::Result<()> {
1765 (::windows_core::Interface::vtable(self).Unlock)(::windows_core::Interface::as_raw(self)).ok()
1766 }
1767}
1768::windows_core::imp::interface_hierarchy!(IBlockingLock, ::windows_core::IUnknown);
1769unsafe impl ::windows_core::Interface for IBlockingLock {
1770 type Vtable = IBlockingLock_Vtbl;
1771}
1772unsafe impl ::windows_core::ComInterface for IBlockingLock {
1773 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x30f3d47a_6447_11d1_8e3c_00c04fb9386d);
1774}
1775#[repr(C)]
1776#[doc(hidden)]
1777pub struct IBlockingLock_Vtbl {
1778 pub base__: ::windows_core::IUnknown_Vtbl,
1779 pub Lock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwtimeout: u32) -> ::windows_core::HRESULT,
1780 pub Unlock: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1781}
1782#[repr(transparent)]
1783#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1784pub struct ICallFactory(::windows_core::IUnknown);
1785impl ICallFactory {
1786 pub unsafe fn CreateCall<P0>(&self, riid: *const ::windows_core::GUID, pctrlunk: P0, riid2: *const ::windows_core::GUID) -> ::windows_core::Result<::windows_core::IUnknown>
1787 where
1788 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1789 {
1790 let mut result__: *mut c_void = ::std::mem::zeroed();
1791 (::windows_core::Interface::vtable(self).CreateCall)(::windows_core::Interface::as_raw(self), riid, pctrlunk.into_param().abi(), riid2, &mut result__).from_abi(result__)
1792 }
1793}
1794::windows_core::imp::interface_hierarchy!(ICallFactory, ::windows_core::IUnknown);
1795unsafe impl ::windows_core::Interface for ICallFactory {
1796 type Vtable = ICallFactory_Vtbl;
1797}
1798unsafe impl ::windows_core::ComInterface for ICallFactory {
1799 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x1c733a30_2a1c_11ce_ade5_00aa0044773d);
1800}
1801#[repr(C)]
1802#[doc(hidden)]
1803pub struct ICallFactory_Vtbl {
1804 pub base__: ::windows_core::IUnknown_Vtbl,
1805 pub CreateCall: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, pctrlunk: *mut ::core::ffi::c_void, riid2: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1806}
1807#[repr(transparent)]
1808#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1809pub struct ICancelMethodCalls(::windows_core::IUnknown);
1810impl ICancelMethodCalls {
1811 pub unsafe fn Cancel(&self, ulseconds: u32) -> ::windows_core::Result<()> {
1812 (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self), ulseconds).ok()
1813 }
1814 pub unsafe fn TestCancel(&self) -> ::windows_core::Result<()> {
1815 (::windows_core::Interface::vtable(self).TestCancel)(::windows_core::Interface::as_raw(self)).ok()
1816 }
1817}
1818::windows_core::imp::interface_hierarchy!(ICancelMethodCalls, ::windows_core::IUnknown);
1819unsafe impl ::windows_core::Interface for ICancelMethodCalls {
1820 type Vtable = ICancelMethodCalls_Vtbl;
1821}
1822unsafe impl ::windows_core::ComInterface for ICancelMethodCalls {
1823 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000029_0000_0000_c000_000000000046);
1824}
1825#[repr(C)]
1826#[doc(hidden)]
1827pub struct ICancelMethodCalls_Vtbl {
1828 pub base__: ::windows_core::IUnknown_Vtbl,
1829 pub Cancel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulseconds: u32) -> ::windows_core::HRESULT,
1830 pub TestCancel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1831}
1832#[repr(transparent)]
1833#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1834pub struct ICatInformation(::windows_core::IUnknown);
1835impl ICatInformation {
1836 pub unsafe fn EnumCategories(&self, lcid: u32) -> ::windows_core::Result<IEnumCATEGORYINFO> {
1837 let mut result__ = ::std::mem::zeroed();
1838 (::windows_core::Interface::vtable(self).EnumCategories)(::windows_core::Interface::as_raw(self), lcid, &mut result__).from_abi(result__)
1839 }
1840 pub unsafe fn GetCategoryDesc(&self, rcatid: *const ::windows_core::GUID, lcid: u32) -> ::windows_core::Result<::windows_core::PWSTR> {
1841 let mut result__ = ::std::mem::zeroed();
1842 (::windows_core::Interface::vtable(self).GetCategoryDesc)(::windows_core::Interface::as_raw(self), rcatid, lcid, &mut result__).from_abi(result__)
1843 }
1844 pub unsafe fn EnumClassesOfCategories(&self, rgcatidimpl: &[::windows_core::GUID], rgcatidreq: &[::windows_core::GUID]) -> ::windows_core::Result<IEnumGUID> {
1845 let mut result__ = ::std::mem::zeroed();
1846 (::windows_core::Interface::vtable(self).EnumClassesOfCategories)(::windows_core::Interface::as_raw(self), rgcatidimpl.len().try_into().unwrap(), ::core::mem::transmute(rgcatidimpl.as_ptr()), rgcatidreq.len().try_into().unwrap(), ::core::mem::transmute(rgcatidreq.as_ptr()), &mut result__).from_abi(result__)
1847 }
1848 pub unsafe fn IsClassOfCategories(&self, rclsid: *const ::windows_core::GUID, rgcatidimpl: &[::windows_core::GUID], rgcatidreq: &[::windows_core::GUID]) -> ::windows_core::Result<()> {
1849 (::windows_core::Interface::vtable(self).IsClassOfCategories)(::windows_core::Interface::as_raw(self), rclsid, rgcatidimpl.len().try_into().unwrap(), ::core::mem::transmute(rgcatidimpl.as_ptr()), rgcatidreq.len().try_into().unwrap(), ::core::mem::transmute(rgcatidreq.as_ptr())).ok()
1850 }
1851 pub unsafe fn EnumImplCategoriesOfClass(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<IEnumGUID> {
1852 let mut result__ = ::std::mem::zeroed();
1853 (::windows_core::Interface::vtable(self).EnumImplCategoriesOfClass)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).from_abi(result__)
1854 }
1855 pub unsafe fn EnumReqCategoriesOfClass(&self, rclsid: *const ::windows_core::GUID) -> ::windows_core::Result<IEnumGUID> {
1856 let mut result__ = ::std::mem::zeroed();
1857 (::windows_core::Interface::vtable(self).EnumReqCategoriesOfClass)(::windows_core::Interface::as_raw(self), rclsid, &mut result__).from_abi(result__)
1858 }
1859}
1860::windows_core::imp::interface_hierarchy!(ICatInformation, ::windows_core::IUnknown);
1861unsafe impl ::windows_core::Interface for ICatInformation {
1862 type Vtable = ICatInformation_Vtbl;
1863}
1864unsafe impl ::windows_core::ComInterface for ICatInformation {
1865 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0002e013_0000_0000_c000_000000000046);
1866}
1867#[repr(C)]
1868#[doc(hidden)]
1869pub struct ICatInformation_Vtbl {
1870 pub base__: ::windows_core::IUnknown_Vtbl,
1871 pub EnumCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lcid: u32, ppenumcategoryinfo: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1872 pub GetCategoryDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rcatid: *const ::windows_core::GUID, lcid: u32, pszdesc: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT,
1873 pub EnumClassesOfCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cimplemented: u32, rgcatidimpl: *const ::windows_core::GUID, crequired: u32, rgcatidreq: *const ::windows_core::GUID, ppenumclsid: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1874 pub IsClassOfCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, cimplemented: u32, rgcatidimpl: *const ::windows_core::GUID, crequired: u32, rgcatidreq: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1875 pub EnumImplCategoriesOfClass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, ppenumcatid: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1876 pub EnumReqCategoriesOfClass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, ppenumcatid: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1877}
1878#[repr(transparent)]
1879#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1880pub struct ICatRegister(::windows_core::IUnknown);
1881impl ICatRegister {
1882 pub unsafe fn RegisterCategories(&self, rgcategoryinfo: &[CATEGORYINFO]) -> ::windows_core::Result<()> {
1883 (::windows_core::Interface::vtable(self).RegisterCategories)(::windows_core::Interface::as_raw(self), rgcategoryinfo.len().try_into().unwrap(), ::core::mem::transmute(src:rgcategoryinfo.as_ptr())).ok()
1884 }
1885 pub unsafe fn UnRegisterCategories(&self, rgcatid: &[::windows_core::GUID]) -> ::windows_core::Result<()> {
1886 (::windows_core::Interface::vtable(self).UnRegisterCategories)(::windows_core::Interface::as_raw(self), rgcatid.len().try_into().unwrap(), ::core::mem::transmute(src:rgcatid.as_ptr())).ok()
1887 }
1888 pub unsafe fn RegisterClassImplCategories(&self, rclsid: *const ::windows_core::GUID, rgcatid: &[::windows_core::GUID]) -> ::windows_core::Result<()> {
1889 (::windows_core::Interface::vtable(self).RegisterClassImplCategories)(::windows_core::Interface::as_raw(self), rclsid, rgcatid.len().try_into().unwrap(), ::core::mem::transmute(src:rgcatid.as_ptr())).ok()
1890 }
1891 pub unsafe fn UnRegisterClassImplCategories(&self, rclsid: *const ::windows_core::GUID, rgcatid: &[::windows_core::GUID]) -> ::windows_core::Result<()> {
1892 (::windows_core::Interface::vtable(self).UnRegisterClassImplCategories)(::windows_core::Interface::as_raw(self), rclsid, rgcatid.len().try_into().unwrap(), ::core::mem::transmute(src:rgcatid.as_ptr())).ok()
1893 }
1894 pub unsafe fn RegisterClassReqCategories(&self, rclsid: *const ::windows_core::GUID, rgcatid: &[::windows_core::GUID]) -> ::windows_core::Result<()> {
1895 (::windows_core::Interface::vtable(self).RegisterClassReqCategories)(::windows_core::Interface::as_raw(self), rclsid, rgcatid.len().try_into().unwrap(), ::core::mem::transmute(src:rgcatid.as_ptr())).ok()
1896 }
1897 pub unsafe fn UnRegisterClassReqCategories(&self, rclsid: *const ::windows_core::GUID, rgcatid: &[::windows_core::GUID]) -> ::windows_core::Result<()> {
1898 (::windows_core::Interface::vtable(self).UnRegisterClassReqCategories)(::windows_core::Interface::as_raw(self), rclsid, rgcatid.len().try_into().unwrap(), ::core::mem::transmute(src:rgcatid.as_ptr())).ok()
1899 }
1900}
1901::windows_core::imp::interface_hierarchy!(ICatRegister, ::windows_core::IUnknown);
1902unsafe impl ::windows_core::Interface for ICatRegister {
1903 type Vtable = ICatRegister_Vtbl;
1904}
1905unsafe impl ::windows_core::ComInterface for ICatRegister {
1906 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0002e012_0000_0000_c000_000000000046);
1907}
1908#[repr(C)]
1909#[doc(hidden)]
1910pub struct ICatRegister_Vtbl {
1911 pub base__: ::windows_core::IUnknown_Vtbl,
1912 pub RegisterCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ccategories: u32, rgcategoryinfo: *const CATEGORYINFO) -> ::windows_core::HRESULT,
1913 pub UnRegisterCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ccategories: u32, rgcatid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1914 pub RegisterClassImplCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, ccategories: u32, rgcatid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1915 pub UnRegisterClassImplCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, ccategories: u32, rgcatid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1916 pub RegisterClassReqCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, ccategories: u32, rgcatid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1917 pub UnRegisterClassReqCategories: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, ccategories: u32, rgcatid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
1918}
1919#[repr(transparent)]
1920#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1921pub struct IChannelHook(::windows_core::IUnknown);
1922impl IChannelHook {
1923 pub unsafe fn ClientGetSize(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID) -> u32 {
1924 let mut result__: u32 = ::std::mem::zeroed();
1925 (::windows_core::Interface::vtable(self).ClientGetSize)(::windows_core::Interface::as_raw(self), uextent, riid, &mut result__);
1926 ::std::mem::transmute(src:result__)
1927 }
1928 pub unsafe fn ClientFillBuffer(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32, pdatabuffer: *const ::core::ffi::c_void) {
1929 (::windows_core::Interface::vtable(self).ClientFillBuffer)(::windows_core::Interface::as_raw(self), uextent, riid, pdatasize, pdatabuffer)
1930 }
1931 pub unsafe fn ClientNotify(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, cbdatasize: u32, pdatabuffer: *const ::core::ffi::c_void, ldatarep: u32, hrfault: ::windows_core::HRESULT) {
1932 (::windows_core::Interface::vtable(self).ClientNotify)(::windows_core::Interface::as_raw(self), uextent, riid, cbdatasize, pdatabuffer, ldatarep, hrfault)
1933 }
1934 pub unsafe fn ServerNotify(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, cbdatasize: u32, pdatabuffer: *const ::core::ffi::c_void, ldatarep: u32) {
1935 (::windows_core::Interface::vtable(self).ServerNotify)(::windows_core::Interface::as_raw(self), uextent, riid, cbdatasize, pdatabuffer, ldatarep)
1936 }
1937 pub unsafe fn ServerGetSize(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, hrfault: ::windows_core::HRESULT) -> u32 {
1938 let mut result__: u32 = ::std::mem::zeroed();
1939 (::windows_core::Interface::vtable(self).ServerGetSize)(::windows_core::Interface::as_raw(self), uextent, riid, hrfault, &mut result__);
1940 ::std::mem::transmute(src:result__)
1941 }
1942 pub unsafe fn ServerFillBuffer(&self, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32, pdatabuffer: *const ::core::ffi::c_void, hrfault: ::windows_core::HRESULT) {
1943 (::windows_core::Interface::vtable(self).ServerFillBuffer)(::windows_core::Interface::as_raw(self), uextent, riid, pdatasize, pdatabuffer, hrfault)
1944 }
1945}
1946::windows_core::imp::interface_hierarchy!(IChannelHook, ::windows_core::IUnknown);
1947unsafe impl ::windows_core::Interface for IChannelHook {
1948 type Vtable = IChannelHook_Vtbl;
1949}
1950unsafe impl ::windows_core::ComInterface for IChannelHook {
1951 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x1008c4a0_7613_11cf_9af1_0020af6e72f4);
1952}
1953#[repr(C)]
1954#[doc(hidden)]
1955pub struct IChannelHook_Vtbl {
1956 pub base__: ::windows_core::IUnknown_Vtbl,
1957 pub ClientGetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32),
1958 pub ClientFillBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32, pdatabuffer: *const ::core::ffi::c_void),
1959 pub ClientNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, cbdatasize: u32, pdatabuffer: *const ::core::ffi::c_void, ldatarep: u32, hrfault: ::windows_core::HRESULT),
1960 pub ServerNotify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, cbdatasize: u32, pdatabuffer: *const ::core::ffi::c_void, ldatarep: u32),
1961 pub ServerGetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, hrfault: ::windows_core::HRESULT, pdatasize: *mut u32),
1962 pub ServerFillBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uextent: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, pdatasize: *mut u32, pdatabuffer: *const ::core::ffi::c_void, hrfault: ::windows_core::HRESULT),
1963}
1964#[repr(transparent)]
1965#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1966pub struct IClassActivator(::windows_core::IUnknown);
1967impl IClassActivator {
1968 pub unsafe fn GetClassObject<T>(&self, rclsid: *const ::windows_core::GUID, dwclasscontext: u32, locale: u32) -> ::windows_core::Result<T>
1969 where
1970 T: ::windows_core::ComInterface,
1971 {
1972 let mut result__: *mut c_void = ::std::ptr::null_mut();
1973 (::windows_core::Interface::vtable(self).GetClassObject)(::windows_core::Interface::as_raw(self), rclsid, dwclasscontext, locale, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
1974 }
1975}
1976::windows_core::imp::interface_hierarchy!(IClassActivator, ::windows_core::IUnknown);
1977unsafe impl ::windows_core::Interface for IClassActivator {
1978 type Vtable = IClassActivator_Vtbl;
1979}
1980unsafe impl ::windows_core::ComInterface for IClassActivator {
1981 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000140_0000_0000_c000_000000000046);
1982}
1983#[repr(C)]
1984#[doc(hidden)]
1985pub struct IClassActivator_Vtbl {
1986 pub base__: ::windows_core::IUnknown_Vtbl,
1987 pub GetClassObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, dwclasscontext: u32, locale: u32, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
1988}
1989#[repr(transparent)]
1990#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
1991pub struct IClassFactory(::windows_core::IUnknown);
1992impl IClassFactory {
1993 pub unsafe fn CreateInstance<P0, T>(&self, punkouter: P0) -> ::windows_core::Result<T>
1994 where
1995 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
1996 T: ::windows_core::ComInterface,
1997 {
1998 let mut result__: *mut c_void = ::std::ptr::null_mut();
1999 (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
2000 }
2001 #[doc = "Required features: `\"Win32_Foundation\"`"]
2002 #[cfg(feature = "Win32_Foundation")]
2003 pub unsafe fn LockServer<P0>(&self, flock: P0) -> ::windows_core::Result<()>
2004 where
2005 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2006 {
2007 (::windows_core::Interface::vtable(self).LockServer)(::windows_core::Interface::as_raw(self), flock.into_param().abi()).ok()
2008 }
2009}
2010::windows_core::imp::interface_hierarchy!(IClassFactory, ::windows_core::IUnknown);
2011unsafe impl ::windows_core::Interface for IClassFactory {
2012 type Vtable = IClassFactory_Vtbl;
2013}
2014unsafe impl ::windows_core::ComInterface for IClassFactory {
2015 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000001_0000_0000_c000_000000000046);
2016}
2017#[repr(C)]
2018#[doc(hidden)]
2019pub struct IClassFactory_Vtbl {
2020 pub base__: ::windows_core::IUnknown_Vtbl,
2021 pub CreateInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2022 #[cfg(feature = "Win32_Foundation")]
2023 pub LockServer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flock: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
2024 #[cfg(not(feature = "Win32_Foundation"))]
2025 LockServer: usize,
2026}
2027#[repr(transparent)]
2028#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2029pub struct IClientSecurity(::windows_core::IUnknown);
2030impl IClientSecurity {
2031 pub unsafe fn QueryBlanket<P0>(&self, pproxy: P0, pauthnsvc: *mut u32, pauthzsvc: ::core::option::Option<*mut u32>, pserverprincname: *mut *mut u16, pauthnlevel: ::core::option::Option<*mut RPC_C_AUTHN_LEVEL>, pimplevel: ::core::option::Option<*mut RPC_C_IMP_LEVEL>, pauthinfo: *mut *mut ::core::ffi::c_void, pcapabilites: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows_core::Result<()>
2032 where
2033 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2034 {
2035 (::windows_core::Interface::vtable(self).QueryBlanket)(::windows_core::Interface::as_raw(self), pproxy.into_param().abi(), pauthnsvc, ::core::mem::transmute(src:pauthzsvc.unwrap_or(::std::ptr::null_mut())), pserverprincname, ::core::mem::transmute(src:pauthnlevel.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pimplevel.unwrap_or(::std::ptr::null_mut())), pauthinfo, pcapabilites.0 as _).ok()
2036 }
2037 pub unsafe fn SetBlanket<P0, P1>(&self, pproxy: P0, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: P1, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: ::core::option::Option<*const ::core::ffi::c_void>, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows_core::Result<()>
2038 where
2039 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2040 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2041 {
2042 (::windows_core::Interface::vtable(self).SetBlanket)(::windows_core::Interface::as_raw(self), pproxy.into_param().abi(), dwauthnsvc, dwauthzsvc, pserverprincname.into_param().abi(), dwauthnlevel, dwimplevel, ::core::mem::transmute(src:pauthinfo.unwrap_or(::std::ptr::null())), dwcapabilities.0 as _).ok()
2043 }
2044 pub unsafe fn CopyProxy<P0>(&self, pproxy: P0) -> ::windows_core::Result<::windows_core::IUnknown>
2045 where
2046 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2047 {
2048 let mut result__: *mut c_void = ::std::mem::zeroed();
2049 (::windows_core::Interface::vtable(self).CopyProxy)(::windows_core::Interface::as_raw(self), pproxy.into_param().abi(), &mut result__).from_abi(result__)
2050 }
2051}
2052::windows_core::imp::interface_hierarchy!(IClientSecurity, ::windows_core::IUnknown);
2053unsafe impl ::windows_core::Interface for IClientSecurity {
2054 type Vtable = IClientSecurity_Vtbl;
2055}
2056unsafe impl ::windows_core::ComInterface for IClientSecurity {
2057 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000013d_0000_0000_c000_000000000046);
2058}
2059#[repr(C)]
2060#[doc(hidden)]
2061pub struct IClientSecurity_Vtbl {
2062 pub base__: ::windows_core::IUnknown_Vtbl,
2063 pub QueryBlanket: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pproxy: *mut ::core::ffi::c_void, pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut *mut u16, pauthnlevel: *mut RPC_C_AUTHN_LEVEL, pimplevel: *mut RPC_C_IMP_LEVEL, pauthinfo: *mut *mut ::core::ffi::c_void, pcapabilites: *mut u32) -> ::windows_core::HRESULT,
2064 pub SetBlanket: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pproxy: *mut ::core::ffi::c_void, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: ::windows_core::PCWSTR, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::core::ffi::c_void, dwcapabilities: u32) -> ::windows_core::HRESULT,
2065 pub CopyProxy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pproxy: *mut ::core::ffi::c_void, ppcopy: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2066}
2067#[repr(transparent)]
2068#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2069pub struct IComThreadingInfo(::windows_core::IUnknown);
2070impl IComThreadingInfo {
2071 pub unsafe fn GetCurrentApartmentType(&self) -> ::windows_core::Result<APTTYPE> {
2072 let mut result__: APTTYPE = ::std::mem::zeroed();
2073 (::windows_core::Interface::vtable(self).GetCurrentApartmentType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2074 }
2075 pub unsafe fn GetCurrentThreadType(&self) -> ::windows_core::Result<THDTYPE> {
2076 let mut result__: THDTYPE = ::std::mem::zeroed();
2077 (::windows_core::Interface::vtable(self).GetCurrentThreadType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2078 }
2079 pub unsafe fn GetCurrentLogicalThreadId(&self) -> ::windows_core::Result<::windows_core::GUID> {
2080 let mut result__: GUID = ::std::mem::zeroed();
2081 (::windows_core::Interface::vtable(self).GetCurrentLogicalThreadId)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2082 }
2083 pub unsafe fn SetCurrentLogicalThreadId(&self, rguid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
2084 (::windows_core::Interface::vtable(self).SetCurrentLogicalThreadId)(::windows_core::Interface::as_raw(self), rguid).ok()
2085 }
2086}
2087::windows_core::imp::interface_hierarchy!(IComThreadingInfo, ::windows_core::IUnknown);
2088unsafe impl ::windows_core::Interface for IComThreadingInfo {
2089 type Vtable = IComThreadingInfo_Vtbl;
2090}
2091unsafe impl ::windows_core::ComInterface for IComThreadingInfo {
2092 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000001ce_0000_0000_c000_000000000046);
2093}
2094#[repr(C)]
2095#[doc(hidden)]
2096pub struct IComThreadingInfo_Vtbl {
2097 pub base__: ::windows_core::IUnknown_Vtbl,
2098 pub GetCurrentApartmentType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, papttype: *mut APTTYPE) -> ::windows_core::HRESULT,
2099 pub GetCurrentThreadType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pthreadtype: *mut THDTYPE) -> ::windows_core::HRESULT,
2100 pub GetCurrentLogicalThreadId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidlogicalthreadid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
2101 pub SetCurrentLogicalThreadId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
2102}
2103#[repr(transparent)]
2104#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2105pub struct IConnectionPoint(::windows_core::IUnknown);
2106impl IConnectionPoint {
2107 pub unsafe fn GetConnectionInterface(&self) -> ::windows_core::Result<::windows_core::GUID> {
2108 let mut result__: GUID = ::std::mem::zeroed();
2109 (::windows_core::Interface::vtable(self).GetConnectionInterface)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2110 }
2111 pub unsafe fn GetConnectionPointContainer(&self) -> ::windows_core::Result<IConnectionPointContainer> {
2112 let mut result__: *mut c_void = ::std::mem::zeroed();
2113 (::windows_core::Interface::vtable(self).GetConnectionPointContainer)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2114 }
2115 pub unsafe fn Advise<P0>(&self, punksink: P0) -> ::windows_core::Result<u32>
2116 where
2117 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2118 {
2119 let mut result__: u32 = ::std::mem::zeroed();
2120 (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), punksink.into_param().abi(), &mut result__).from_abi(result__)
2121 }
2122 pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows_core::Result<()> {
2123 (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwcookie).ok()
2124 }
2125 pub unsafe fn EnumConnections(&self) -> ::windows_core::Result<IEnumConnections> {
2126 let mut result__: *mut c_void = ::std::mem::zeroed();
2127 (::windows_core::Interface::vtable(self).EnumConnections)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2128 }
2129}
2130::windows_core::imp::interface_hierarchy!(IConnectionPoint, ::windows_core::IUnknown);
2131unsafe impl ::windows_core::Interface for IConnectionPoint {
2132 type Vtable = IConnectionPoint_Vtbl;
2133}
2134unsafe impl ::windows_core::ComInterface for IConnectionPoint {
2135 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xb196b286_bab4_101a_b69c_00aa00341d07);
2136}
2137#[repr(C)]
2138#[doc(hidden)]
2139pub struct IConnectionPoint_Vtbl {
2140 pub base__: ::windows_core::IUnknown_Vtbl,
2141 pub GetConnectionInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
2142 pub GetConnectionPointContainer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcpc: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2143 pub Advise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punksink: *mut ::core::ffi::c_void, pdwcookie: *mut u32) -> ::windows_core::HRESULT,
2144 pub Unadvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcookie: u32) -> ::windows_core::HRESULT,
2145 pub EnumConnections: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2146}
2147#[repr(transparent)]
2148#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2149pub struct IConnectionPointContainer(::windows_core::IUnknown);
2150impl IConnectionPointContainer {
2151 pub unsafe fn EnumConnectionPoints(&self) -> ::windows_core::Result<IEnumConnectionPoints> {
2152 let mut result__: *mut c_void = ::std::mem::zeroed();
2153 (::windows_core::Interface::vtable(self).EnumConnectionPoints)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2154 }
2155 pub unsafe fn FindConnectionPoint(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<IConnectionPoint> {
2156 let mut result__: *mut c_void = ::std::mem::zeroed();
2157 (::windows_core::Interface::vtable(self).FindConnectionPoint)(::windows_core::Interface::as_raw(self), riid, &mut result__).from_abi(result__)
2158 }
2159}
2160::windows_core::imp::interface_hierarchy!(IConnectionPointContainer, ::windows_core::IUnknown);
2161unsafe impl ::windows_core::Interface for IConnectionPointContainer {
2162 type Vtable = IConnectionPointContainer_Vtbl;
2163}
2164unsafe impl ::windows_core::ComInterface for IConnectionPointContainer {
2165 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xb196b284_bab4_101a_b69c_00aa00341d07);
2166}
2167#[repr(C)]
2168#[doc(hidden)]
2169pub struct IConnectionPointContainer_Vtbl {
2170 pub base__: ::windows_core::IUnknown_Vtbl,
2171 pub EnumConnectionPoints: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2172 pub FindConnectionPoint: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppcp: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2173}
2174#[repr(transparent)]
2175#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2176pub struct IContext(::windows_core::IUnknown);
2177impl IContext {
2178 pub unsafe fn SetProperty<P0>(&self, rpolicyid: *const ::windows_core::GUID, flags: u32, punk: P0) -> ::windows_core::Result<()>
2179 where
2180 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2181 {
2182 (::windows_core::Interface::vtable(self).SetProperty)(::windows_core::Interface::as_raw(self), rpolicyid, flags, punk.into_param().abi()).ok()
2183 }
2184 pub unsafe fn RemoveProperty(&self, rpolicyid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
2185 (::windows_core::Interface::vtable(self).RemoveProperty)(::windows_core::Interface::as_raw(self), rpolicyid).ok()
2186 }
2187 pub unsafe fn GetProperty(&self, rguid: *const ::windows_core::GUID, pflags: *mut u32, ppunk: *mut ::core::option::Option<::windows_core::IUnknown>) -> ::windows_core::Result<()> {
2188 (::windows_core::Interface::vtable(self).GetProperty)(::windows_core::Interface::as_raw(self), rguid, pflags, ::core::mem::transmute(src:ppunk)).ok()
2189 }
2190 pub unsafe fn EnumContextProps(&self) -> ::windows_core::Result<IEnumContextProps> {
2191 let mut result__: *mut c_void = ::std::mem::zeroed();
2192 (::windows_core::Interface::vtable(self).EnumContextProps)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2193 }
2194}
2195::windows_core::imp::interface_hierarchy!(IContext, ::windows_core::IUnknown);
2196unsafe impl ::windows_core::Interface for IContext {
2197 type Vtable = IContext_Vtbl;
2198}
2199unsafe impl ::windows_core::ComInterface for IContext {
2200 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000001c0_0000_0000_c000_000000000046);
2201}
2202#[repr(C)]
2203#[doc(hidden)]
2204pub struct IContext_Vtbl {
2205 pub base__: ::windows_core::IUnknown_Vtbl,
2206 pub SetProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rpolicyid: *const ::windows_core::GUID, flags: u32, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2207 pub RemoveProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rpolicyid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
2208 pub GetProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguid: *const ::windows_core::GUID, pflags: *mut u32, ppunk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2209 pub EnumContextProps: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumcontextprops: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2210}
2211#[repr(transparent)]
2212#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2213pub struct IContextCallback(::windows_core::IUnknown);
2214impl IContextCallback {
2215 pub unsafe fn ContextCallback<P0>(&self, pfncallback: PFNCONTEXTCALL, pparam: *const ComCallData, riid: *const ::windows_core::GUID, imethod: i32, punk: P0) -> ::windows_core::Result<()>
2216 where
2217 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2218 {
2219 (::windows_core::Interface::vtable(self).ContextCallback)(::windows_core::Interface::as_raw(self), pfncallback, pparam, riid, imethod, punk.into_param().abi()).ok()
2220 }
2221}
2222::windows_core::imp::interface_hierarchy!(IContextCallback, ::windows_core::IUnknown);
2223unsafe impl ::windows_core::Interface for IContextCallback {
2224 type Vtable = IContextCallback_Vtbl;
2225}
2226unsafe impl ::windows_core::ComInterface for IContextCallback {
2227 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000001da_0000_0000_c000_000000000046);
2228}
2229#[repr(C)]
2230#[doc(hidden)]
2231pub struct IContextCallback_Vtbl {
2232 pub base__: ::windows_core::IUnknown_Vtbl,
2233 pub ContextCallback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfncallback: PFNCONTEXTCALL, pparam: *const ComCallData, riid: *const ::windows_core::GUID, imethod: i32, punk: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2234}
2235#[repr(transparent)]
2236#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2237pub struct IDataAdviseHolder(::windows_core::IUnknown);
2238impl IDataAdviseHolder {
2239 pub unsafe fn Advise<P0, P1>(&self, pdataobject: P0, pfetc: *const FORMATETC, advf: u32, padvise: P1) -> ::windows_core::Result<u32>
2240 where
2241 P0: ::windows_core::IntoParam<IDataObject>,
2242 P1: ::windows_core::IntoParam<IAdviseSink>,
2243 {
2244 let mut result__: u32 = ::std::mem::zeroed();
2245 (::windows_core::Interface::vtable(self).Advise)(::windows_core::Interface::as_raw(self), pdataobject.into_param().abi(), pfetc, advf, padvise.into_param().abi(), &mut result__).from_abi(result__)
2246 }
2247 pub unsafe fn Unadvise(&self, dwconnection: u32) -> ::windows_core::Result<()> {
2248 (::windows_core::Interface::vtable(self).Unadvise)(::windows_core::Interface::as_raw(self), dwconnection).ok()
2249 }
2250 pub unsafe fn EnumAdvise(&self) -> ::windows_core::Result<IEnumSTATDATA> {
2251 let mut result__: *mut c_void = ::std::mem::zeroed();
2252 (::windows_core::Interface::vtable(self).EnumAdvise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2253 }
2254 pub unsafe fn SendOnDataChange<P0>(&self, pdataobject: P0, dwreserved: u32, advf: u32) -> ::windows_core::Result<()>
2255 where
2256 P0: ::windows_core::IntoParam<IDataObject>,
2257 {
2258 (::windows_core::Interface::vtable(self).SendOnDataChange)(::windows_core::Interface::as_raw(self), pdataobject.into_param().abi(), dwreserved, advf).ok()
2259 }
2260}
2261::windows_core::imp::interface_hierarchy!(IDataAdviseHolder, ::windows_core::IUnknown);
2262unsafe impl ::windows_core::Interface for IDataAdviseHolder {
2263 type Vtable = IDataAdviseHolder_Vtbl;
2264}
2265unsafe impl ::windows_core::ComInterface for IDataAdviseHolder {
2266 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000110_0000_0000_c000_000000000046);
2267}
2268#[repr(C)]
2269#[doc(hidden)]
2270pub struct IDataAdviseHolder_Vtbl {
2271 pub base__: ::windows_core::IUnknown_Vtbl,
2272 pub Advise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdataobject: *mut ::core::ffi::c_void, pfetc: *const FORMATETC, advf: u32, padvise: *mut ::core::ffi::c_void, pdwconnection: *mut u32) -> ::windows_core::HRESULT,
2273 pub Unadvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwconnection: u32) -> ::windows_core::HRESULT,
2274 pub EnumAdvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumadvise: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2275 pub SendOnDataChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdataobject: *mut ::core::ffi::c_void, dwreserved: u32, advf: u32) -> ::windows_core::HRESULT,
2276}
2277#[repr(transparent)]
2278#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2279pub struct IDataObject(::windows_core::IUnknown);
2280impl IDataObject {
2281 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
2282 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2283 pub unsafe fn GetData(&self, pformatetcin: *const FORMATETC) -> ::windows_core::Result<STGMEDIUM> {
2284 let mut result__ = ::std::mem::zeroed();
2285 (::windows_core::Interface::vtable(self).GetData)(::windows_core::Interface::as_raw(self), pformatetcin, &mut result__).from_abi(result__)
2286 }
2287 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
2288 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2289 pub unsafe fn GetDataHere(&self, pformatetc: *const FORMATETC, pmedium: *mut STGMEDIUM) -> ::windows_core::Result<()> {
2290 (::windows_core::Interface::vtable(self).GetDataHere)(::windows_core::Interface::as_raw(self), pformatetc, pmedium).ok()
2291 }
2292 pub unsafe fn QueryGetData(&self, pformatetc: *const FORMATETC) -> ::windows_core::HRESULT {
2293 (::windows_core::Interface::vtable(self).QueryGetData)(::windows_core::Interface::as_raw(self), pformatetc)
2294 }
2295 pub unsafe fn GetCanonicalFormatEtc(&self, pformatectin: *const FORMATETC, pformatetcout: *mut FORMATETC) -> ::windows_core::HRESULT {
2296 (::windows_core::Interface::vtable(self).GetCanonicalFormatEtc)(::windows_core::Interface::as_raw(self), pformatectin, pformatetcout)
2297 }
2298 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
2299 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2300 pub unsafe fn SetData<P0>(&self, pformatetc: *const FORMATETC, pmedium: *const STGMEDIUM, frelease: P0) -> ::windows_core::Result<()>
2301 where
2302 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2303 {
2304 (::windows_core::Interface::vtable(self).SetData)(::windows_core::Interface::as_raw(self), pformatetc, pmedium, frelease.into_param().abi()).ok()
2305 }
2306 pub unsafe fn EnumFormatEtc(&self, dwdirection: u32) -> ::windows_core::Result<IEnumFORMATETC> {
2307 let mut result__ = ::std::mem::zeroed();
2308 (::windows_core::Interface::vtable(self).EnumFormatEtc)(::windows_core::Interface::as_raw(self), dwdirection, &mut result__).from_abi(result__)
2309 }
2310 pub unsafe fn DAdvise<P0>(&self, pformatetc: *const FORMATETC, advf: u32, padvsink: P0) -> ::windows_core::Result<u32>
2311 where
2312 P0: ::windows_core::IntoParam<IAdviseSink>,
2313 {
2314 let mut result__ = ::std::mem::zeroed();
2315 (::windows_core::Interface::vtable(self).DAdvise)(::windows_core::Interface::as_raw(self), pformatetc, advf, padvsink.into_param().abi(), &mut result__).from_abi(result__)
2316 }
2317 pub unsafe fn DUnadvise(&self, dwconnection: u32) -> ::windows_core::Result<()> {
2318 (::windows_core::Interface::vtable(self).DUnadvise)(::windows_core::Interface::as_raw(self), dwconnection).ok()
2319 }
2320 pub unsafe fn EnumDAdvise(&self) -> ::windows_core::Result<IEnumSTATDATA> {
2321 let mut result__ = ::std::mem::zeroed();
2322 (::windows_core::Interface::vtable(self).EnumDAdvise)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2323 }
2324}
2325::windows_core::imp::interface_hierarchy!(IDataObject, ::windows_core::IUnknown);
2326unsafe impl ::windows_core::Interface for IDataObject {
2327 type Vtable = IDataObject_Vtbl;
2328}
2329unsafe impl ::windows_core::ComInterface for IDataObject {
2330 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000010e_0000_0000_c000_000000000046);
2331}
2332#[repr(C)]
2333#[doc(hidden)]
2334pub struct IDataObject_Vtbl {
2335 pub base__: ::windows_core::IUnknown_Vtbl,
2336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2337 pub GetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetcin: *const FORMATETC, pmedium: *mut STGMEDIUM) -> ::windows_core::HRESULT,
2338 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))]
2339 GetData: usize,
2340 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2341 pub GetDataHere: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetc: *const FORMATETC, pmedium: *mut STGMEDIUM) -> ::windows_core::HRESULT,
2342 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))]
2343 GetDataHere: usize,
2344 pub QueryGetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetc: *const FORMATETC) -> ::windows_core::HRESULT,
2345 pub GetCanonicalFormatEtc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatectin: *const FORMATETC, pformatetcout: *mut FORMATETC) -> ::windows_core::HRESULT,
2346 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2347 pub SetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetc: *const FORMATETC, pmedium: *const STGMEDIUM, frelease: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
2348 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))]
2349 SetData: usize,
2350 pub EnumFormatEtc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwdirection: u32, ppenumformatetc: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2351 pub DAdvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatetc: *const FORMATETC, advf: u32, padvsink: *mut ::core::ffi::c_void, pdwconnection: *mut u32) -> ::windows_core::HRESULT,
2352 pub DUnadvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwconnection: u32) -> ::windows_core::HRESULT,
2353 pub EnumDAdvise: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumadvise: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2354}
2355#[repr(transparent)]
2356#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2357pub struct IDispatch(::windows_core::IUnknown);
2358impl IDispatch {
2359 pub unsafe fn GetTypeInfoCount(&self) -> ::windows_core::Result<u32> {
2360 let mut result__: u32 = ::std::mem::zeroed();
2361 (::windows_core::Interface::vtable(self).GetTypeInfoCount)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2362 }
2363 pub unsafe fn GetTypeInfo(&self, itinfo: u32, lcid: u32) -> ::windows_core::Result<ITypeInfo> {
2364 let mut result__: *mut c_void = ::std::mem::zeroed();
2365 (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), itinfo, lcid, &mut result__).from_abi(result__)
2366 }
2367 pub unsafe fn GetIDsOfNames(&self, riid: *const ::windows_core::GUID, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows_core::Result<()> {
2368 (::windows_core::Interface::vtable(self).GetIDsOfNames)(::windows_core::Interface::as_raw(self), riid, rgsznames, cnames, lcid, rgdispid).ok()
2369 }
2370 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
2371 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
2372 pub unsafe fn Invoke(&self, dispidmember: i32, riid: *const ::windows_core::GUID, lcid: u32, wflags: DISPATCH_FLAGS, pdispparams: *const DISPPARAMS, pvarresult: ::core::option::Option<*mut super::Variant::VARIANT>, pexcepinfo: ::core::option::Option<*mut EXCEPINFO>, puargerr: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
2373 (::windows_core::Interface::vtable(self).Invoke)(::windows_core::Interface::as_raw(self), dispidmember, riid, lcid, wflags, pdispparams, ::core::mem::transmute(pvarresult.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pexcepinfo.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(puargerr.unwrap_or(::std::ptr::null_mut()))).ok()
2374 }
2375}
2376::windows_core::imp::interface_hierarchy!(IDispatch, ::windows_core::IUnknown);
2377unsafe impl ::windows_core::Interface for IDispatch {
2378 type Vtable = IDispatch_Vtbl;
2379}
2380unsafe impl ::windows_core::ComInterface for IDispatch {
2381 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00020400_0000_0000_c000_000000000046);
2382}
2383#[repr(C)]
2384#[doc(hidden)]
2385pub struct IDispatch_Vtbl {
2386 pub base__: ::windows_core::IUnknown_Vtbl,
2387 pub GetTypeInfoCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pctinfo: *mut u32) -> ::windows_core::HRESULT,
2388 pub GetTypeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, itinfo: u32, lcid: u32, pptinfo: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2389 pub GetIDsOfNames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, lcid: u32, rgdispid: *mut i32) -> ::windows_core::HRESULT,
2390 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
2391 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dispidmember: i32, riid: *const ::windows_core::GUID, lcid: u32, wflags: DISPATCH_FLAGS, pdispparams: *const DISPPARAMS, pvarresult: *mut super::Variant::VARIANT, pexcepinfo: *mut EXCEPINFO, puargerr: *mut u32) -> ::windows_core::HRESULT,
2392 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
2393 Invoke: usize,
2394}
2395#[repr(transparent)]
2396#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2397pub struct IEnumCATEGORYINFO(::windows_core::IUnknown);
2398impl IEnumCATEGORYINFO {
2399 pub unsafe fn Next(&self, rgelt: &mut [CATEGORYINFO], pceltfetched: *mut u32) -> ::windows_core::Result<()> {
2400 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), pceltfetched).ok()
2401 }
2402 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> {
2403 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok()
2404 }
2405 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2406 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2407 }
2408 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumCATEGORYINFO> {
2409 let mut result__: *mut c_void = ::std::mem::zeroed();
2410 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2411 }
2412}
2413::windows_core::imp::interface_hierarchy!(IEnumCATEGORYINFO, ::windows_core::IUnknown);
2414unsafe impl ::windows_core::Interface for IEnumCATEGORYINFO {
2415 type Vtable = IEnumCATEGORYINFO_Vtbl;
2416}
2417unsafe impl ::windows_core::ComInterface for IEnumCATEGORYINFO {
2418 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0002e011_0000_0000_c000_000000000046);
2419}
2420#[repr(C)]
2421#[doc(hidden)]
2422pub struct IEnumCATEGORYINFO_Vtbl {
2423 pub base__: ::windows_core::IUnknown_Vtbl,
2424 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut CATEGORYINFO, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2425 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2426 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2427 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2428}
2429#[repr(transparent)]
2430#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2431pub struct IEnumConnectionPoints(::windows_core::IUnknown);
2432impl IEnumConnectionPoints {
2433 pub unsafe fn Next(&self, ppcp: &mut [::core::option::Option<IConnectionPoint>], pcfetched: *mut u32) -> ::windows_core::Result<()> {
2434 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), ppcp.len().try_into().unwrap(), ::core::mem::transmute(src:ppcp.as_ptr()), pcfetched).ok()
2435 }
2436 pub unsafe fn Skip(&self, cconnections: u32) -> ::windows_core::Result<()> {
2437 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), cconnections).ok()
2438 }
2439 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2440 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2441 }
2442 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumConnectionPoints> {
2443 let mut result__: *mut c_void = ::std::mem::zeroed();
2444 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2445 }
2446}
2447::windows_core::imp::interface_hierarchy!(IEnumConnectionPoints, ::windows_core::IUnknown);
2448unsafe impl ::windows_core::Interface for IEnumConnectionPoints {
2449 type Vtable = IEnumConnectionPoints_Vtbl;
2450}
2451unsafe impl ::windows_core::ComInterface for IEnumConnectionPoints {
2452 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xb196b285_bab4_101a_b69c_00aa00341d07);
2453}
2454#[repr(C)]
2455#[doc(hidden)]
2456pub struct IEnumConnectionPoints_Vtbl {
2457 pub base__: ::windows_core::IUnknown_Vtbl,
2458 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cconnections: u32, ppcp: *mut *mut ::core::ffi::c_void, pcfetched: *mut u32) -> ::windows_core::HRESULT,
2459 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cconnections: u32) -> ::windows_core::HRESULT,
2460 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2461 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2462}
2463#[repr(transparent)]
2464#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2465pub struct IEnumConnections(::windows_core::IUnknown);
2466impl IEnumConnections {
2467 pub unsafe fn Next(&self, rgcd: &mut [CONNECTDATA], pcfetched: *mut u32) -> ::windows_core::Result<()> {
2468 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgcd.len().try_into().unwrap(), ::core::mem::transmute(src:rgcd.as_ptr()), pcfetched).ok()
2469 }
2470 pub unsafe fn Skip(&self, cconnections: u32) -> ::windows_core::Result<()> {
2471 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), cconnections).ok()
2472 }
2473 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2474 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2475 }
2476 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumConnections> {
2477 let mut result__: *mut c_void = ::std::mem::zeroed();
2478 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2479 }
2480}
2481::windows_core::imp::interface_hierarchy!(IEnumConnections, ::windows_core::IUnknown);
2482unsafe impl ::windows_core::Interface for IEnumConnections {
2483 type Vtable = IEnumConnections_Vtbl;
2484}
2485unsafe impl ::windows_core::ComInterface for IEnumConnections {
2486 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xb196b287_bab4_101a_b69c_00aa00341d07);
2487}
2488#[repr(C)]
2489#[doc(hidden)]
2490pub struct IEnumConnections_Vtbl {
2491 pub base__: ::windows_core::IUnknown_Vtbl,
2492 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cconnections: u32, rgcd: *mut CONNECTDATA, pcfetched: *mut u32) -> ::windows_core::HRESULT,
2493 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cconnections: u32) -> ::windows_core::HRESULT,
2494 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2495 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2496}
2497#[repr(transparent)]
2498#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2499pub struct IEnumContextProps(::windows_core::IUnknown);
2500impl IEnumContextProps {
2501 pub unsafe fn Next(&self, pcontextproperties: &mut [ContextProperty], pceltfetched: *mut u32) -> ::windows_core::Result<()> {
2502 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), pcontextproperties.len().try_into().unwrap(), ::core::mem::transmute(src:pcontextproperties.as_ptr()), pceltfetched).ok()
2503 }
2504 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> {
2505 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok()
2506 }
2507 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2508 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2509 }
2510 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumContextProps> {
2511 let mut result__: *mut c_void = ::std::mem::zeroed();
2512 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2513 }
2514 pub unsafe fn Count(&self) -> ::windows_core::Result<u32> {
2515 let mut result__: u32 = ::std::mem::zeroed();
2516 (::windows_core::Interface::vtable(self).Count)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2517 }
2518}
2519::windows_core::imp::interface_hierarchy!(IEnumContextProps, ::windows_core::IUnknown);
2520unsafe impl ::windows_core::Interface for IEnumContextProps {
2521 type Vtable = IEnumContextProps_Vtbl;
2522}
2523unsafe impl ::windows_core::ComInterface for IEnumContextProps {
2524 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000001c1_0000_0000_c000_000000000046);
2525}
2526#[repr(C)]
2527#[doc(hidden)]
2528pub struct IEnumContextProps_Vtbl {
2529 pub base__: ::windows_core::IUnknown_Vtbl,
2530 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, pcontextproperties: *mut ContextProperty, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2531 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2532 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2533 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumcontextprops: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2534 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcelt: *mut u32) -> ::windows_core::HRESULT,
2535}
2536#[repr(transparent)]
2537#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2538pub struct IEnumFORMATETC(::windows_core::IUnknown);
2539impl IEnumFORMATETC {
2540 pub unsafe fn Next(&self, rgelt: &mut [FORMATETC], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
2541 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), ::core::mem::transmute(src:pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok()
2542 }
2543 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> {
2544 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok()
2545 }
2546 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2547 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2548 }
2549 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumFORMATETC> {
2550 let mut result__: *mut c_void = ::std::mem::zeroed();
2551 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2552 }
2553}
2554::windows_core::imp::interface_hierarchy!(IEnumFORMATETC, ::windows_core::IUnknown);
2555unsafe impl ::windows_core::Interface for IEnumFORMATETC {
2556 type Vtable = IEnumFORMATETC_Vtbl;
2557}
2558unsafe impl ::windows_core::ComInterface for IEnumFORMATETC {
2559 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000103_0000_0000_c000_000000000046);
2560}
2561#[repr(C)]
2562#[doc(hidden)]
2563pub struct IEnumFORMATETC_Vtbl {
2564 pub base__: ::windows_core::IUnknown_Vtbl,
2565 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut FORMATETC, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2566 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2567 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2568 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2569}
2570#[repr(transparent)]
2571#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2572pub struct IEnumGUID(::windows_core::IUnknown);
2573impl IEnumGUID {
2574 pub unsafe fn Next(&self, rgelt: &mut [::windows_core::GUID], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
2575 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), ::core::mem::transmute(src:pceltfetched.unwrap_or(::std::ptr::null_mut())))
2576 }
2577 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::HRESULT {
2578 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt)
2579 }
2580 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2581 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2582 }
2583 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumGUID> {
2584 let mut result__: *mut c_void = ::std::mem::zeroed();
2585 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2586 }
2587}
2588::windows_core::imp::interface_hierarchy!(IEnumGUID, ::windows_core::IUnknown);
2589unsafe impl ::windows_core::Interface for IEnumGUID {
2590 type Vtable = IEnumGUID_Vtbl;
2591}
2592unsafe impl ::windows_core::ComInterface for IEnumGUID {
2593 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0002e000_0000_0000_c000_000000000046);
2594}
2595#[repr(C)]
2596#[doc(hidden)]
2597pub struct IEnumGUID_Vtbl {
2598 pub base__: ::windows_core::IUnknown_Vtbl,
2599 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut ::windows_core::GUID, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2600 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2601 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2602 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2603}
2604#[repr(transparent)]
2605#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2606pub struct IEnumMoniker(::windows_core::IUnknown);
2607impl IEnumMoniker {
2608 pub unsafe fn Next(&self, rgelt: &mut [::core::option::Option<IMoniker>], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
2609 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), ::core::mem::transmute(src:pceltfetched.unwrap_or(::std::ptr::null_mut())))
2610 }
2611 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::HRESULT {
2612 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt)
2613 }
2614 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2615 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2616 }
2617 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumMoniker> {
2618 let mut result__: *mut c_void = ::std::mem::zeroed();
2619 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2620 }
2621}
2622::windows_core::imp::interface_hierarchy!(IEnumMoniker, ::windows_core::IUnknown);
2623unsafe impl ::windows_core::Interface for IEnumMoniker {
2624 type Vtable = IEnumMoniker_Vtbl;
2625}
2626unsafe impl ::windows_core::ComInterface for IEnumMoniker {
2627 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000102_0000_0000_c000_000000000046);
2628}
2629#[repr(C)]
2630#[doc(hidden)]
2631pub struct IEnumMoniker_Vtbl {
2632 pub base__: ::windows_core::IUnknown_Vtbl,
2633 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2634 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2635 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2636 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2637}
2638#[repr(transparent)]
2639#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2640pub struct IEnumSTATDATA(::windows_core::IUnknown);
2641impl IEnumSTATDATA {
2642 pub unsafe fn Next(&self, rgelt: &mut [STATDATA], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
2643 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), ::core::mem::transmute(src:pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok()
2644 }
2645 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> {
2646 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok()
2647 }
2648 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2649 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2650 }
2651 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumSTATDATA> {
2652 let mut result__: *mut c_void = ::std::mem::zeroed();
2653 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2654 }
2655}
2656::windows_core::imp::interface_hierarchy!(IEnumSTATDATA, ::windows_core::IUnknown);
2657unsafe impl ::windows_core::Interface for IEnumSTATDATA {
2658 type Vtable = IEnumSTATDATA_Vtbl;
2659}
2660unsafe impl ::windows_core::ComInterface for IEnumSTATDATA {
2661 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000105_0000_0000_c000_000000000046);
2662}
2663#[repr(C)]
2664#[doc(hidden)]
2665pub struct IEnumSTATDATA_Vtbl {
2666 pub base__: ::windows_core::IUnknown_Vtbl,
2667 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut STATDATA, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2668 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2669 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2670 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2671}
2672#[repr(transparent)]
2673#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2674pub struct IEnumString(::windows_core::IUnknown);
2675impl IEnumString {
2676 pub unsafe fn Next(&self, rgelt: &mut [::windows_core::PWSTR], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
2677 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), ::core::mem::transmute(src:pceltfetched.unwrap_or(::std::ptr::null_mut())))
2678 }
2679 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::HRESULT {
2680 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt)
2681 }
2682 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2683 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2684 }
2685 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumString> {
2686 let mut result__: *mut c_void = ::std::mem::zeroed();
2687 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2688 }
2689}
2690::windows_core::imp::interface_hierarchy!(IEnumString, ::windows_core::IUnknown);
2691unsafe impl ::windows_core::Interface for IEnumString {
2692 type Vtable = IEnumString_Vtbl;
2693}
2694unsafe impl ::windows_core::ComInterface for IEnumString {
2695 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000101_0000_0000_c000_000000000046);
2696}
2697#[repr(C)]
2698#[doc(hidden)]
2699pub struct IEnumString_Vtbl {
2700 pub base__: ::windows_core::IUnknown_Vtbl,
2701 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut ::windows_core::PWSTR, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2702 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2703 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2704 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2705}
2706#[repr(transparent)]
2707#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2708pub struct IEnumUnknown(::windows_core::IUnknown);
2709impl IEnumUnknown {
2710 pub unsafe fn Next(&self, rgelt: &mut [::core::option::Option<::windows_core::IUnknown>], pceltfetched: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
2711 (::windows_core::Interface::vtable(self).Next)(::windows_core::Interface::as_raw(self), rgelt.len().try_into().unwrap(), ::core::mem::transmute(src:rgelt.as_ptr()), ::core::mem::transmute(src:pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok()
2712 }
2713 pub unsafe fn Skip(&self, celt: u32) -> ::windows_core::Result<()> {
2714 (::windows_core::Interface::vtable(self).Skip)(::windows_core::Interface::as_raw(self), celt).ok()
2715 }
2716 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
2717 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
2718 }
2719 pub unsafe fn Clone(&self) -> ::windows_core::Result<IEnumUnknown> {
2720 let mut result__: *mut c_void = ::std::mem::zeroed();
2721 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2722 }
2723}
2724::windows_core::imp::interface_hierarchy!(IEnumUnknown, ::windows_core::IUnknown);
2725unsafe impl ::windows_core::Interface for IEnumUnknown {
2726 type Vtable = IEnumUnknown_Vtbl;
2727}
2728unsafe impl ::windows_core::ComInterface for IEnumUnknown {
2729 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000100_0000_0000_c000_000000000046);
2730}
2731#[repr(C)]
2732#[doc(hidden)]
2733pub struct IEnumUnknown_Vtbl {
2734 pub base__: ::windows_core::IUnknown_Vtbl,
2735 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, rgelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows_core::HRESULT,
2736 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows_core::HRESULT,
2737 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2738 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2739}
2740#[repr(transparent)]
2741#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2742pub struct IErrorInfo(::windows_core::IUnknown);
2743impl IErrorInfo {
2744 pub unsafe fn GetGUID(&self) -> ::windows_core::Result<::windows_core::GUID> {
2745 let mut result__: GUID = ::std::mem::zeroed();
2746 (::windows_core::Interface::vtable(self).GetGUID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2747 }
2748 pub unsafe fn GetSource(&self) -> ::windows_core::Result<::windows_core::BSTR> {
2749 let mut result__: MaybeUninit = ::std::mem::zeroed();
2750 (::windows_core::Interface::vtable(self).GetSource)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2751 }
2752 pub unsafe fn GetDescription(&self) -> ::windows_core::Result<::windows_core::BSTR> {
2753 let mut result__: MaybeUninit = ::std::mem::zeroed();
2754 (::windows_core::Interface::vtable(self).GetDescription)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2755 }
2756 pub unsafe fn GetHelpFile(&self) -> ::windows_core::Result<::windows_core::BSTR> {
2757 let mut result__: MaybeUninit = ::std::mem::zeroed();
2758 (::windows_core::Interface::vtable(self).GetHelpFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2759 }
2760 pub unsafe fn GetHelpContext(&self) -> ::windows_core::Result<u32> {
2761 let mut result__: u32 = ::std::mem::zeroed();
2762 (::windows_core::Interface::vtable(self).GetHelpContext)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
2763 }
2764}
2765::windows_core::imp::interface_hierarchy!(IErrorInfo, ::windows_core::IUnknown);
2766unsafe impl ::windows_core::Interface for IErrorInfo {
2767 type Vtable = IErrorInfo_Vtbl;
2768}
2769unsafe impl ::windows_core::ComInterface for IErrorInfo {
2770 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x1cf2b120_547d_101b_8e65_08002b2bd119);
2771}
2772#[repr(C)]
2773#[doc(hidden)]
2774pub struct IErrorInfo_Vtbl {
2775 pub base__: ::windows_core::IUnknown_Vtbl,
2776 pub GetGUID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
2777 pub GetSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrsource: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
2778 pub GetDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdescription: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
2779 pub GetHelpFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrhelpfile: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
2780 pub GetHelpContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwhelpcontext: *mut u32) -> ::windows_core::HRESULT,
2781}
2782#[repr(transparent)]
2783#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2784pub struct IErrorLog(::windows_core::IUnknown);
2785impl IErrorLog {
2786 pub unsafe fn AddError<P0>(&self, pszpropname: P0, pexcepinfo: *const EXCEPINFO) -> ::windows_core::Result<()>
2787 where
2788 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2789 {
2790 (::windows_core::Interface::vtable(self).AddError)(::windows_core::Interface::as_raw(self), pszpropname.into_param().abi(), pexcepinfo).ok()
2791 }
2792}
2793::windows_core::imp::interface_hierarchy!(IErrorLog, ::windows_core::IUnknown);
2794unsafe impl ::windows_core::Interface for IErrorLog {
2795 type Vtable = IErrorLog_Vtbl;
2796}
2797unsafe impl ::windows_core::ComInterface for IErrorLog {
2798 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x3127ca40_446e_11ce_8135_00aa004bb851);
2799}
2800#[repr(C)]
2801#[doc(hidden)]
2802pub struct IErrorLog_Vtbl {
2803 pub base__: ::windows_core::IUnknown_Vtbl,
2804 pub AddError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszpropname: ::windows_core::PCWSTR, pexcepinfo: *const EXCEPINFO) -> ::windows_core::HRESULT,
2805}
2806#[repr(transparent)]
2807#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2808pub struct IExternalConnection(::windows_core::IUnknown);
2809impl IExternalConnection {
2810 pub unsafe fn AddConnection(&self, extconn: u32, reserved: u32) -> u32 {
2811 (::windows_core::Interface::vtable(self).AddConnection)(::windows_core::Interface::as_raw(self), extconn, reserved)
2812 }
2813 #[doc = "Required features: `\"Win32_Foundation\"`"]
2814 #[cfg(feature = "Win32_Foundation")]
2815 pub unsafe fn ReleaseConnection<P0>(&self, extconn: u32, reserved: u32, flastreleasecloses: P0) -> u32
2816 where
2817 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
2818 {
2819 (::windows_core::Interface::vtable(self).ReleaseConnection)(::windows_core::Interface::as_raw(self), extconn, reserved, flastreleasecloses.into_param().abi())
2820 }
2821}
2822::windows_core::imp::interface_hierarchy!(IExternalConnection, ::windows_core::IUnknown);
2823unsafe impl ::windows_core::Interface for IExternalConnection {
2824 type Vtable = IExternalConnection_Vtbl;
2825}
2826unsafe impl ::windows_core::ComInterface for IExternalConnection {
2827 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000019_0000_0000_c000_000000000046);
2828}
2829#[repr(C)]
2830#[doc(hidden)]
2831pub struct IExternalConnection_Vtbl {
2832 pub base__: ::windows_core::IUnknown_Vtbl,
2833 pub AddConnection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, extconn: u32, reserved: u32) -> u32,
2834 #[cfg(feature = "Win32_Foundation")]
2835 pub ReleaseConnection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, extconn: u32, reserved: u32, flastreleasecloses: super::super::Foundation::BOOL) -> u32,
2836 #[cfg(not(feature = "Win32_Foundation"))]
2837 ReleaseConnection: usize,
2838}
2839#[repr(transparent)]
2840#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2841pub struct IFastRundown(::windows_core::IUnknown);
2842impl IFastRundown {}
2843::windows_core::imp::interface_hierarchy!(IFastRundown, ::windows_core::IUnknown);
2844unsafe impl ::windows_core::Interface for IFastRundown {
2845 type Vtable = IFastRundown_Vtbl;
2846}
2847unsafe impl ::windows_core::ComInterface for IFastRundown {
2848 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000040_0000_0000_c000_000000000046);
2849}
2850#[repr(C)]
2851#[doc(hidden)]
2852pub struct IFastRundown_Vtbl {
2853 pub base__: ::windows_core::IUnknown_Vtbl,
2854}
2855#[repr(transparent)]
2856#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2857pub struct IForegroundTransfer(::windows_core::IUnknown);
2858impl IForegroundTransfer {
2859 pub unsafe fn AllowForegroundTransfer(&self, lpvreserved: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<()> {
2860 (::windows_core::Interface::vtable(self).AllowForegroundTransfer)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:lpvreserved.unwrap_or(::std::ptr::null()))).ok()
2861 }
2862}
2863::windows_core::imp::interface_hierarchy!(IForegroundTransfer, ::windows_core::IUnknown);
2864unsafe impl ::windows_core::Interface for IForegroundTransfer {
2865 type Vtable = IForegroundTransfer_Vtbl;
2866}
2867unsafe impl ::windows_core::ComInterface for IForegroundTransfer {
2868 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000145_0000_0000_c000_000000000046);
2869}
2870#[repr(C)]
2871#[doc(hidden)]
2872pub struct IForegroundTransfer_Vtbl {
2873 pub base__: ::windows_core::IUnknown_Vtbl,
2874 pub AllowForegroundTransfer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpvreserved: *const ::core::ffi::c_void) -> ::windows_core::HRESULT,
2875}
2876#[repr(transparent)]
2877#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2878pub struct IGlobalInterfaceTable(::windows_core::IUnknown);
2879impl IGlobalInterfaceTable {
2880 pub unsafe fn RegisterInterfaceInGlobal<P0>(&self, punk: P0, riid: *const ::windows_core::GUID) -> ::windows_core::Result<u32>
2881 where
2882 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
2883 {
2884 let mut result__: u32 = ::std::mem::zeroed();
2885 (::windows_core::Interface::vtable(self).RegisterInterfaceInGlobal)(::windows_core::Interface::as_raw(self), punk.into_param().abi(), riid, &mut result__).from_abi(result__)
2886 }
2887 pub unsafe fn RevokeInterfaceFromGlobal(&self, dwcookie: u32) -> ::windows_core::Result<()> {
2888 (::windows_core::Interface::vtable(self).RevokeInterfaceFromGlobal)(::windows_core::Interface::as_raw(self), dwcookie).ok()
2889 }
2890 pub unsafe fn GetInterfaceFromGlobal(&self, dwcookie: u32, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
2891 (::windows_core::Interface::vtable(self).GetInterfaceFromGlobal)(::windows_core::Interface::as_raw(self), dwcookie, riid, ppv).ok()
2892 }
2893}
2894::windows_core::imp::interface_hierarchy!(IGlobalInterfaceTable, ::windows_core::IUnknown);
2895unsafe impl ::windows_core::Interface for IGlobalInterfaceTable {
2896 type Vtable = IGlobalInterfaceTable_Vtbl;
2897}
2898unsafe impl ::windows_core::ComInterface for IGlobalInterfaceTable {
2899 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000146_0000_0000_c000_000000000046);
2900}
2901#[repr(C)]
2902#[doc(hidden)]
2903pub struct IGlobalInterfaceTable_Vtbl {
2904 pub base__: ::windows_core::IUnknown_Vtbl,
2905 pub RegisterInterfaceInGlobal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punk: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, pdwcookie: *mut u32) -> ::windows_core::HRESULT,
2906 pub RevokeInterfaceFromGlobal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcookie: u32) -> ::windows_core::HRESULT,
2907 pub GetInterfaceFromGlobal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcookie: u32, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2908}
2909#[repr(transparent)]
2910#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2911pub struct IGlobalOptions(::windows_core::IUnknown);
2912impl IGlobalOptions {
2913 pub unsafe fn Set(&self, dwproperty: GLOBALOPT_PROPERTIES, dwvalue: usize) -> ::windows_core::Result<()> {
2914 (::windows_core::Interface::vtable(self).Set)(::windows_core::Interface::as_raw(self), dwproperty, dwvalue).ok()
2915 }
2916 pub unsafe fn Query(&self, dwproperty: GLOBALOPT_PROPERTIES) -> ::windows_core::Result<usize> {
2917 let mut result__: usize = ::std::mem::zeroed();
2918 (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), dwproperty, &mut result__).from_abi(result__)
2919 }
2920}
2921::windows_core::imp::interface_hierarchy!(IGlobalOptions, ::windows_core::IUnknown);
2922unsafe impl ::windows_core::Interface for IGlobalOptions {
2923 type Vtable = IGlobalOptions_Vtbl;
2924}
2925unsafe impl ::windows_core::ComInterface for IGlobalOptions {
2926 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000015b_0000_0000_c000_000000000046);
2927}
2928#[repr(C)]
2929#[doc(hidden)]
2930pub struct IGlobalOptions_Vtbl {
2931 pub base__: ::windows_core::IUnknown_Vtbl,
2932 pub Set: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwproperty: GLOBALOPT_PROPERTIES, dwvalue: usize) -> ::windows_core::HRESULT,
2933 pub Query: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwproperty: GLOBALOPT_PROPERTIES, pdwvalue: *mut usize) -> ::windows_core::HRESULT,
2934}
2935#[repr(transparent)]
2936#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2937pub struct IInitializeSpy(::windows_core::IUnknown);
2938impl IInitializeSpy {
2939 pub unsafe fn PreInitialize(&self, dwcoinit: u32, dwcurthreadaptrefs: u32) -> ::windows_core::Result<()> {
2940 (::windows_core::Interface::vtable(self).PreInitialize)(::windows_core::Interface::as_raw(self), dwcoinit, dwcurthreadaptrefs).ok()
2941 }
2942 pub unsafe fn PostInitialize(&self, hrcoinit: ::windows_core::HRESULT, dwcoinit: u32, dwnewthreadaptrefs: u32) -> ::windows_core::Result<()> {
2943 (::windows_core::Interface::vtable(self).PostInitialize)(::windows_core::Interface::as_raw(self), hrcoinit, dwcoinit, dwnewthreadaptrefs).ok()
2944 }
2945 pub unsafe fn PreUninitialize(&self, dwcurthreadaptrefs: u32) -> ::windows_core::Result<()> {
2946 (::windows_core::Interface::vtable(self).PreUninitialize)(::windows_core::Interface::as_raw(self), dwcurthreadaptrefs).ok()
2947 }
2948 pub unsafe fn PostUninitialize(&self, dwnewthreadaptrefs: u32) -> ::windows_core::Result<()> {
2949 (::windows_core::Interface::vtable(self).PostUninitialize)(::windows_core::Interface::as_raw(self), dwnewthreadaptrefs).ok()
2950 }
2951}
2952::windows_core::imp::interface_hierarchy!(IInitializeSpy, ::windows_core::IUnknown);
2953unsafe impl ::windows_core::Interface for IInitializeSpy {
2954 type Vtable = IInitializeSpy_Vtbl;
2955}
2956unsafe impl ::windows_core::ComInterface for IInitializeSpy {
2957 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000034_0000_0000_c000_000000000046);
2958}
2959#[repr(C)]
2960#[doc(hidden)]
2961pub struct IInitializeSpy_Vtbl {
2962 pub base__: ::windows_core::IUnknown_Vtbl,
2963 pub PreInitialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcoinit: u32, dwcurthreadaptrefs: u32) -> ::windows_core::HRESULT,
2964 pub PostInitialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hrcoinit: ::windows_core::HRESULT, dwcoinit: u32, dwnewthreadaptrefs: u32) -> ::windows_core::HRESULT,
2965 pub PreUninitialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcurthreadaptrefs: u32) -> ::windows_core::HRESULT,
2966 pub PostUninitialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwnewthreadaptrefs: u32) -> ::windows_core::HRESULT,
2967}
2968#[repr(transparent)]
2969#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2970pub struct IInternalUnknown(::windows_core::IUnknown);
2971impl IInternalUnknown {
2972 pub unsafe fn QueryInternalInterface(&self, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
2973 (::windows_core::Interface::vtable(self).QueryInternalInterface)(::windows_core::Interface::as_raw(self), riid, ppv).ok()
2974 }
2975}
2976::windows_core::imp::interface_hierarchy!(IInternalUnknown, ::windows_core::IUnknown);
2977unsafe impl ::windows_core::Interface for IInternalUnknown {
2978 type Vtable = IInternalUnknown_Vtbl;
2979}
2980unsafe impl ::windows_core::ComInterface for IInternalUnknown {
2981 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000021_0000_0000_c000_000000000046);
2982}
2983#[repr(C)]
2984#[doc(hidden)]
2985pub struct IInternalUnknown_Vtbl {
2986 pub base__: ::windows_core::IUnknown_Vtbl,
2987 pub QueryInternalInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
2988}
2989#[repr(transparent)]
2990#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
2991pub struct IMachineGlobalObjectTable(::windows_core::IUnknown);
2992impl IMachineGlobalObjectTable {
2993 pub unsafe fn RegisterObject<P0, P1>(&self, clsid: *const ::windows_core::GUID, identifier: P0, object: P1) -> ::windows_core::Result<MachineGlobalObjectTableRegistrationToken>
2994 where
2995 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
2996 P1: ::windows_core::IntoParam<::windows_core::IUnknown>,
2997 {
2998 let mut result__: MachineGlobalObjectTableRegistrationToken = ::std::mem::zeroed();
2999 (::windows_core::Interface::vtable(self).RegisterObject)(::windows_core::Interface::as_raw(self), clsid, identifier.into_param().abi(), object.into_param().abi(), &mut result__).from_abi(result__)
3000 }
3001 pub unsafe fn GetObject<P0, T>(&self, clsid: *const ::windows_core::GUID, identifier: P0) -> ::windows_core::Result<T>
3002 where
3003 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3004 T: ::windows_core::ComInterface,
3005 {
3006 let mut result__: *mut c_void = ::std::ptr::null_mut();
3007 (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), clsid, identifier.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3008 }
3009 pub unsafe fn RevokeObject<P0>(&self, token: P0) -> ::windows_core::Result<()>
3010 where
3011 P0: ::windows_core::IntoParam<MachineGlobalObjectTableRegistrationToken>,
3012 {
3013 (::windows_core::Interface::vtable(self).RevokeObject)(::windows_core::Interface::as_raw(self), token.into_param().abi()).ok()
3014 }
3015}
3016::windows_core::imp::interface_hierarchy!(IMachineGlobalObjectTable, ::windows_core::IUnknown);
3017unsafe impl ::windows_core::Interface for IMachineGlobalObjectTable {
3018 type Vtable = IMachineGlobalObjectTable_Vtbl;
3019}
3020unsafe impl ::windows_core::ComInterface for IMachineGlobalObjectTable {
3021 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x26d709ac_f70b_4421_a96f_d2878fafb00d);
3022}
3023#[repr(C)]
3024#[doc(hidden)]
3025pub struct IMachineGlobalObjectTable_Vtbl {
3026 pub base__: ::windows_core::IUnknown_Vtbl,
3027 pub RegisterObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: *const ::windows_core::GUID, identifier: ::windows_core::PCWSTR, object: *mut ::core::ffi::c_void, token: *mut MachineGlobalObjectTableRegistrationToken) -> ::windows_core::HRESULT,
3028 pub GetObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: *const ::windows_core::GUID, identifier: ::windows_core::PCWSTR, riid: *const ::windows_core::GUID, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3029 pub RevokeObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: MachineGlobalObjectTableRegistrationToken) -> ::windows_core::HRESULT,
3030}
3031#[repr(transparent)]
3032#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3033pub struct IMalloc(::windows_core::IUnknown);
3034impl IMalloc {
3035 pub unsafe fn Alloc(&self, cb: usize) -> *mut ::core::ffi::c_void {
3036 (::windows_core::Interface::vtable(self).Alloc)(::windows_core::Interface::as_raw(self), cb)
3037 }
3038 pub unsafe fn Realloc(&self, pv: ::core::option::Option<*const ::core::ffi::c_void>, cb: usize) -> *mut ::core::ffi::c_void {
3039 (::windows_core::Interface::vtable(self).Realloc)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pv.unwrap_or(::std::ptr::null())), cb)
3040 }
3041 pub unsafe fn Free(&self, pv: ::core::option::Option<*const ::core::ffi::c_void>) {
3042 (::windows_core::Interface::vtable(self).Free)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pv.unwrap_or(::std::ptr::null())))
3043 }
3044 pub unsafe fn GetSize(&self, pv: ::core::option::Option<*const ::core::ffi::c_void>) -> usize {
3045 (::windows_core::Interface::vtable(self).GetSize)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pv.unwrap_or(::std::ptr::null())))
3046 }
3047 pub unsafe fn DidAlloc(&self, pv: ::core::option::Option<*const ::core::ffi::c_void>) -> i32 {
3048 (::windows_core::Interface::vtable(self).DidAlloc)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pv.unwrap_or(::std::ptr::null())))
3049 }
3050 pub unsafe fn HeapMinimize(&self) {
3051 (::windows_core::Interface::vtable(self).HeapMinimize)(::windows_core::Interface::as_raw(self))
3052 }
3053}
3054::windows_core::imp::interface_hierarchy!(IMalloc, ::windows_core::IUnknown);
3055unsafe impl ::windows_core::Interface for IMalloc {
3056 type Vtable = IMalloc_Vtbl;
3057}
3058unsafe impl ::windows_core::ComInterface for IMalloc {
3059 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000002_0000_0000_c000_000000000046);
3060}
3061#[repr(C)]
3062#[doc(hidden)]
3063pub struct IMalloc_Vtbl {
3064 pub base__: ::windows_core::IUnknown_Vtbl,
3065 pub Alloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cb: usize) -> *mut ::core::ffi::c_void,
3066 pub Realloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *const ::core::ffi::c_void, cb: usize) -> *mut ::core::ffi::c_void,
3067 pub Free: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *const ::core::ffi::c_void),
3068 pub GetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *const ::core::ffi::c_void) -> usize,
3069 pub DidAlloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *const ::core::ffi::c_void) -> i32,
3070 pub HeapMinimize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
3071}
3072#[repr(transparent)]
3073#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3074pub struct IMallocSpy(::windows_core::IUnknown);
3075impl IMallocSpy {
3076 pub unsafe fn PreAlloc(&self, cbrequest: usize) -> usize {
3077 (::windows_core::Interface::vtable(self).PreAlloc)(::windows_core::Interface::as_raw(self), cbrequest)
3078 }
3079 pub unsafe fn PostAlloc(&self, pactual: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void {
3080 (::windows_core::Interface::vtable(self).PostAlloc)(::windows_core::Interface::as_raw(self), pactual)
3081 }
3082 #[doc = "Required features: `\"Win32_Foundation\"`"]
3083 #[cfg(feature = "Win32_Foundation")]
3084 pub unsafe fn PreFree<P0>(&self, prequest: *const ::core::ffi::c_void, fspyed: P0) -> *mut ::core::ffi::c_void
3085 where
3086 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3087 {
3088 (::windows_core::Interface::vtable(self).PreFree)(::windows_core::Interface::as_raw(self), prequest, fspyed.into_param().abi())
3089 }
3090 #[doc = "Required features: `\"Win32_Foundation\"`"]
3091 #[cfg(feature = "Win32_Foundation")]
3092 pub unsafe fn PostFree<P0>(&self, fspyed: P0)
3093 where
3094 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3095 {
3096 (::windows_core::Interface::vtable(self).PostFree)(::windows_core::Interface::as_raw(self), fspyed.into_param().abi())
3097 }
3098 #[doc = "Required features: `\"Win32_Foundation\"`"]
3099 #[cfg(feature = "Win32_Foundation")]
3100 pub unsafe fn PreRealloc<P0>(&self, prequest: *const ::core::ffi::c_void, cbrequest: usize, ppnewrequest: *mut *mut ::core::ffi::c_void, fspyed: P0) -> usize
3101 where
3102 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3103 {
3104 (::windows_core::Interface::vtable(self).PreRealloc)(::windows_core::Interface::as_raw(self), prequest, cbrequest, ppnewrequest, fspyed.into_param().abi())
3105 }
3106 #[doc = "Required features: `\"Win32_Foundation\"`"]
3107 #[cfg(feature = "Win32_Foundation")]
3108 pub unsafe fn PostRealloc<P0>(&self, pactual: *const ::core::ffi::c_void, fspyed: P0) -> *mut ::core::ffi::c_void
3109 where
3110 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3111 {
3112 (::windows_core::Interface::vtable(self).PostRealloc)(::windows_core::Interface::as_raw(self), pactual, fspyed.into_param().abi())
3113 }
3114 #[doc = "Required features: `\"Win32_Foundation\"`"]
3115 #[cfg(feature = "Win32_Foundation")]
3116 pub unsafe fn PreGetSize<P0>(&self, prequest: *const ::core::ffi::c_void, fspyed: P0) -> *mut ::core::ffi::c_void
3117 where
3118 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3119 {
3120 (::windows_core::Interface::vtable(self).PreGetSize)(::windows_core::Interface::as_raw(self), prequest, fspyed.into_param().abi())
3121 }
3122 #[doc = "Required features: `\"Win32_Foundation\"`"]
3123 #[cfg(feature = "Win32_Foundation")]
3124 pub unsafe fn PostGetSize<P0>(&self, cbactual: usize, fspyed: P0) -> usize
3125 where
3126 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3127 {
3128 (::windows_core::Interface::vtable(self).PostGetSize)(::windows_core::Interface::as_raw(self), cbactual, fspyed.into_param().abi())
3129 }
3130 #[doc = "Required features: `\"Win32_Foundation\"`"]
3131 #[cfg(feature = "Win32_Foundation")]
3132 pub unsafe fn PreDidAlloc<P0>(&self, prequest: *const ::core::ffi::c_void, fspyed: P0) -> *mut ::core::ffi::c_void
3133 where
3134 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3135 {
3136 (::windows_core::Interface::vtable(self).PreDidAlloc)(::windows_core::Interface::as_raw(self), prequest, fspyed.into_param().abi())
3137 }
3138 #[doc = "Required features: `\"Win32_Foundation\"`"]
3139 #[cfg(feature = "Win32_Foundation")]
3140 pub unsafe fn PostDidAlloc<P0>(&self, prequest: *const ::core::ffi::c_void, fspyed: P0, factual: i32) -> i32
3141 where
3142 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3143 {
3144 (::windows_core::Interface::vtable(self).PostDidAlloc)(::windows_core::Interface::as_raw(self), prequest, fspyed.into_param().abi(), factual)
3145 }
3146 pub unsafe fn PreHeapMinimize(&self) {
3147 (::windows_core::Interface::vtable(self).PreHeapMinimize)(::windows_core::Interface::as_raw(self))
3148 }
3149 pub unsafe fn PostHeapMinimize(&self) {
3150 (::windows_core::Interface::vtable(self).PostHeapMinimize)(::windows_core::Interface::as_raw(self))
3151 }
3152}
3153::windows_core::imp::interface_hierarchy!(IMallocSpy, ::windows_core::IUnknown);
3154unsafe impl ::windows_core::Interface for IMallocSpy {
3155 type Vtable = IMallocSpy_Vtbl;
3156}
3157unsafe impl ::windows_core::ComInterface for IMallocSpy {
3158 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000001d_0000_0000_c000_000000000046);
3159}
3160#[repr(C)]
3161#[doc(hidden)]
3162pub struct IMallocSpy_Vtbl {
3163 pub base__: ::windows_core::IUnknown_Vtbl,
3164 pub PreAlloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbrequest: usize) -> usize,
3165 pub PostAlloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pactual: *const ::core::ffi::c_void) -> *mut ::core::ffi::c_void,
3166 #[cfg(feature = "Win32_Foundation")]
3167 pub PreFree: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prequest: *const ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::core::ffi::c_void,
3168 #[cfg(not(feature = "Win32_Foundation"))]
3169 PreFree: usize,
3170 #[cfg(feature = "Win32_Foundation")]
3171 pub PostFree: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL),
3172 #[cfg(not(feature = "Win32_Foundation"))]
3173 PostFree: usize,
3174 #[cfg(feature = "Win32_Foundation")]
3175 pub PreRealloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prequest: *const ::core::ffi::c_void, cbrequest: usize, ppnewrequest: *mut *mut ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> usize,
3176 #[cfg(not(feature = "Win32_Foundation"))]
3177 PreRealloc: usize,
3178 #[cfg(feature = "Win32_Foundation")]
3179 pub PostRealloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pactual: *const ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::core::ffi::c_void,
3180 #[cfg(not(feature = "Win32_Foundation"))]
3181 PostRealloc: usize,
3182 #[cfg(feature = "Win32_Foundation")]
3183 pub PreGetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prequest: *const ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::core::ffi::c_void,
3184 #[cfg(not(feature = "Win32_Foundation"))]
3185 PreGetSize: usize,
3186 #[cfg(feature = "Win32_Foundation")]
3187 pub PostGetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbactual: usize, fspyed: super::super::Foundation::BOOL) -> usize,
3188 #[cfg(not(feature = "Win32_Foundation"))]
3189 PostGetSize: usize,
3190 #[cfg(feature = "Win32_Foundation")]
3191 pub PreDidAlloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prequest: *const ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::core::ffi::c_void,
3192 #[cfg(not(feature = "Win32_Foundation"))]
3193 PreDidAlloc: usize,
3194 #[cfg(feature = "Win32_Foundation")]
3195 pub PostDidAlloc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prequest: *const ::core::ffi::c_void, fspyed: super::super::Foundation::BOOL, factual: i32) -> i32,
3196 #[cfg(not(feature = "Win32_Foundation"))]
3197 PostDidAlloc: usize,
3198 pub PreHeapMinimize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
3199 pub PostHeapMinimize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
3200}
3201#[repr(transparent)]
3202#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3203pub struct IMoniker(::windows_core::IUnknown);
3204impl IMoniker {
3205 pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> {
3206 let mut result__ = ::std::mem::zeroed();
3207 (::windows_core::Interface::vtable(self).base__.base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3208 }
3209 pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT {
3210 (::windows_core::Interface::vtable(self).base__.IsDirty)(::windows_core::Interface::as_raw(self))
3211 }
3212 pub unsafe fn Load<P0>(&self, pstm: P0) -> ::windows_core::Result<()>
3213 where
3214 P0: ::windows_core::IntoParam<IStream>,
3215 {
3216 (::windows_core::Interface::vtable(self).base__.Load)(::windows_core::Interface::as_raw(self), pstm.into_param().abi()).ok()
3217 }
3218 #[doc = "Required features: `\"Win32_Foundation\"`"]
3219 #[cfg(feature = "Win32_Foundation")]
3220 pub unsafe fn Save<P0, P1>(&self, pstm: P0, fcleardirty: P1) -> ::windows_core::Result<()>
3221 where
3222 P0: ::windows_core::IntoParam<IStream>,
3223 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3224 {
3225 (::windows_core::Interface::vtable(self).base__.Save)(::windows_core::Interface::as_raw(self), pstm.into_param().abi(), fcleardirty.into_param().abi()).ok()
3226 }
3227 pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result<u64> {
3228 let mut result__ = ::std::mem::zeroed();
3229 (::windows_core::Interface::vtable(self).base__.GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3230 }
3231 pub unsafe fn BindToObject<P0, P1>(&self, pbc: P0, pmktoleft: P1, riidresult: *const ::windows_core::GUID, ppvresult: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>
3232 where
3233 P0: ::windows_core::IntoParam<IBindCtx>,
3234 P1: ::windows_core::IntoParam<IMoniker>,
3235 {
3236 (::windows_core::Interface::vtable(self).BindToObject)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), riidresult, ppvresult).ok()
3237 }
3238 pub unsafe fn BindToStorage<P0, P1>(&self, pbc: P0, pmktoleft: P1, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>
3239 where
3240 P0: ::windows_core::IntoParam<IBindCtx>,
3241 P1: ::windows_core::IntoParam<IMoniker>,
3242 {
3243 (::windows_core::Interface::vtable(self).BindToStorage)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), riid, ppvobj).ok()
3244 }
3245 pub unsafe fn Reduce<P0>(&self, pbc: P0, dwreducehowfar: u32, ppmktoleft: *mut ::core::option::Option<IMoniker>, ppmkreduced: *mut ::core::option::Option<IMoniker>) -> ::windows_core::Result<()>
3246 where
3247 P0: ::windows_core::IntoParam<IBindCtx>,
3248 {
3249 (::windows_core::Interface::vtable(self).Reduce)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), dwreducehowfar, ::core::mem::transmute(ppmktoleft), ::core::mem::transmute(ppmkreduced)).ok()
3250 }
3251 #[doc = "Required features: `\"Win32_Foundation\"`"]
3252 #[cfg(feature = "Win32_Foundation")]
3253 pub unsafe fn ComposeWith<P0, P1>(&self, pmkright: P0, fonlyifnotgeneric: P1) -> ::windows_core::Result<IMoniker>
3254 where
3255 P0: ::windows_core::IntoParam<IMoniker>,
3256 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3257 {
3258 let mut result__ = ::std::mem::zeroed();
3259 (::windows_core::Interface::vtable(self).ComposeWith)(::windows_core::Interface::as_raw(self), pmkright.into_param().abi(), fonlyifnotgeneric.into_param().abi(), &mut result__).from_abi(result__)
3260 }
3261 #[doc = "Required features: `\"Win32_Foundation\"`"]
3262 #[cfg(feature = "Win32_Foundation")]
3263 pub unsafe fn Enum<P0>(&self, fforward: P0) -> ::windows_core::Result<IEnumMoniker>
3264 where
3265 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3266 {
3267 let mut result__ = ::std::mem::zeroed();
3268 (::windows_core::Interface::vtable(self).Enum)(::windows_core::Interface::as_raw(self), fforward.into_param().abi(), &mut result__).from_abi(result__)
3269 }
3270 pub unsafe fn IsEqual<P0>(&self, pmkothermoniker: P0) -> ::windows_core::Result<()>
3271 where
3272 P0: ::windows_core::IntoParam<IMoniker>,
3273 {
3274 (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), pmkothermoniker.into_param().abi()).ok()
3275 }
3276 pub unsafe fn Hash(&self) -> ::windows_core::Result<u32> {
3277 let mut result__ = ::std::mem::zeroed();
3278 (::windows_core::Interface::vtable(self).Hash)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3279 }
3280 pub unsafe fn IsRunning<P0, P1, P2>(&self, pbc: P0, pmktoleft: P1, pmknewlyrunning: P2) -> ::windows_core::Result<()>
3281 where
3282 P0: ::windows_core::IntoParam<IBindCtx>,
3283 P1: ::windows_core::IntoParam<IMoniker>,
3284 P2: ::windows_core::IntoParam<IMoniker>,
3285 {
3286 (::windows_core::Interface::vtable(self).IsRunning)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), pmknewlyrunning.into_param().abi()).ok()
3287 }
3288 #[doc = "Required features: `\"Win32_Foundation\"`"]
3289 #[cfg(feature = "Win32_Foundation")]
3290 pub unsafe fn GetTimeOfLastChange<P0, P1>(&self, pbc: P0, pmktoleft: P1) -> ::windows_core::Result<super::super::Foundation::FILETIME>
3291 where
3292 P0: ::windows_core::IntoParam<IBindCtx>,
3293 P1: ::windows_core::IntoParam<IMoniker>,
3294 {
3295 let mut result__ = ::std::mem::zeroed();
3296 (::windows_core::Interface::vtable(self).GetTimeOfLastChange)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).from_abi(result__)
3297 }
3298 pub unsafe fn Inverse(&self) -> ::windows_core::Result<IMoniker> {
3299 let mut result__ = ::std::mem::zeroed();
3300 (::windows_core::Interface::vtable(self).Inverse)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3301 }
3302 pub unsafe fn CommonPrefixWith<P0>(&self, pmkother: P0) -> ::windows_core::Result<IMoniker>
3303 where
3304 P0: ::windows_core::IntoParam<IMoniker>,
3305 {
3306 let mut result__ = ::std::mem::zeroed();
3307 (::windows_core::Interface::vtable(self).CommonPrefixWith)(::windows_core::Interface::as_raw(self), pmkother.into_param().abi(), &mut result__).from_abi(result__)
3308 }
3309 pub unsafe fn RelativePathTo<P0>(&self, pmkother: P0) -> ::windows_core::Result<IMoniker>
3310 where
3311 P0: ::windows_core::IntoParam<IMoniker>,
3312 {
3313 let mut result__ = ::std::mem::zeroed();
3314 (::windows_core::Interface::vtable(self).RelativePathTo)(::windows_core::Interface::as_raw(self), pmkother.into_param().abi(), &mut result__).from_abi(result__)
3315 }
3316 pub unsafe fn GetDisplayName<P0, P1>(&self, pbc: P0, pmktoleft: P1) -> ::windows_core::Result<::windows_core::PWSTR>
3317 where
3318 P0: ::windows_core::IntoParam<IBindCtx>,
3319 P1: ::windows_core::IntoParam<IMoniker>,
3320 {
3321 let mut result__ = ::std::mem::zeroed();
3322 (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).from_abi(result__)
3323 }
3324 pub unsafe fn ParseDisplayName<P0, P1, P2>(&self, pbc: P0, pmktoleft: P1, pszdisplayname: P2, pcheaten: *mut u32, ppmkout: *mut ::core::option::Option<IMoniker>) -> ::windows_core::Result<()>
3325 where
3326 P0: ::windows_core::IntoParam<IBindCtx>,
3327 P1: ::windows_core::IntoParam<IMoniker>,
3328 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3329 {
3330 (::windows_core::Interface::vtable(self).ParseDisplayName)(::windows_core::Interface::as_raw(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), pszdisplayname.into_param().abi(), pcheaten, ::core::mem::transmute(ppmkout)).ok()
3331 }
3332 pub unsafe fn IsSystemMoniker(&self) -> ::windows_core::Result<u32> {
3333 let mut result__ = ::std::mem::zeroed();
3334 (::windows_core::Interface::vtable(self).IsSystemMoniker)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3335 }
3336}
3337::windows_core::imp::interface_hierarchy!(IMoniker, ::windows_core::IUnknown, IPersist, IPersistStream);
3338unsafe impl ::windows_core::Interface for IMoniker {
3339 type Vtable = IMoniker_Vtbl;
3340}
3341unsafe impl ::windows_core::ComInterface for IMoniker {
3342 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000000f_0000_0000_c000_000000000046);
3343}
3344#[repr(C)]
3345#[doc(hidden)]
3346pub struct IMoniker_Vtbl {
3347 pub base__: IPersistStream_Vtbl,
3348 pub BindToObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pmktoleft: *mut ::core::ffi::c_void, riidresult: *const ::windows_core::GUID, ppvresult: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3349 pub BindToStorage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pmktoleft: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3350 pub Reduce: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, dwreducehowfar: u32, ppmktoleft: *mut *mut ::core::ffi::c_void, ppmkreduced: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3351 #[cfg(feature = "Win32_Foundation")]
3352 pub ComposeWith: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkright: *mut ::core::ffi::c_void, fonlyifnotgeneric: super::super::Foundation::BOOL, ppmkcomposite: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3353 #[cfg(not(feature = "Win32_Foundation"))]
3354 ComposeWith: usize,
3355 #[cfg(feature = "Win32_Foundation")]
3356 pub Enum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fforward: super::super::Foundation::BOOL, ppenummoniker: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3357 #[cfg(not(feature = "Win32_Foundation"))]
3358 Enum: usize,
3359 pub IsEqual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkothermoniker: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3360 pub Hash: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwhash: *mut u32) -> ::windows_core::HRESULT,
3361 pub IsRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pmktoleft: *mut ::core::ffi::c_void, pmknewlyrunning: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3362 #[cfg(feature = "Win32_Foundation")]
3363 pub GetTimeOfLastChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pmktoleft: *mut ::core::ffi::c_void, pfiletime: *mut super::super::Foundation::FILETIME) -> ::windows_core::HRESULT,
3364 #[cfg(not(feature = "Win32_Foundation"))]
3365 GetTimeOfLastChange: usize,
3366 pub Inverse: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppmk: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3367 pub CommonPrefixWith: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkother: *mut ::core::ffi::c_void, ppmkprefix: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3368 pub RelativePathTo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkother: *mut ::core::ffi::c_void, ppmkrelpath: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3369 pub GetDisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pmktoleft: *mut ::core::ffi::c_void, ppszdisplayname: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT,
3370 pub ParseDisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void, pmktoleft: *mut ::core::ffi::c_void, pszdisplayname: ::windows_core::PCWSTR, pcheaten: *mut u32, ppmkout: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3371 pub IsSystemMoniker: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwmksys: *mut u32) -> ::windows_core::HRESULT,
3372}
3373#[repr(transparent)]
3374#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3375pub struct IMultiQI(::windows_core::IUnknown);
3376impl IMultiQI {
3377 pub unsafe fn QueryMultipleInterfaces(&self, pmqis: &mut [MULTI_QI]) -> ::windows_core::Result<()> {
3378 (::windows_core::Interface::vtable(self).QueryMultipleInterfaces)(::windows_core::Interface::as_raw(self), pmqis.len().try_into().unwrap(), ::core::mem::transmute(src:pmqis.as_ptr())).ok()
3379 }
3380}
3381::windows_core::imp::interface_hierarchy!(IMultiQI, ::windows_core::IUnknown);
3382unsafe impl ::windows_core::Interface for IMultiQI {
3383 type Vtable = IMultiQI_Vtbl;
3384}
3385unsafe impl ::windows_core::ComInterface for IMultiQI {
3386 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000020_0000_0000_c000_000000000046);
3387}
3388#[repr(C)]
3389#[doc(hidden)]
3390pub struct IMultiQI_Vtbl {
3391 pub base__: ::windows_core::IUnknown_Vtbl,
3392 pub QueryMultipleInterfaces: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cmqis: u32, pmqis: *mut MULTI_QI) -> ::windows_core::HRESULT,
3393}
3394#[repr(transparent)]
3395#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3396pub struct INoMarshal(::windows_core::IUnknown);
3397impl INoMarshal {}
3398::windows_core::imp::interface_hierarchy!(INoMarshal, ::windows_core::IUnknown);
3399unsafe impl ::windows_core::Interface for INoMarshal {
3400 type Vtable = INoMarshal_Vtbl;
3401}
3402unsafe impl ::windows_core::ComInterface for INoMarshal {
3403 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xecc8691b_c1db_4dc0_855e_65f6c551af49);
3404}
3405#[repr(C)]
3406#[doc(hidden)]
3407pub struct INoMarshal_Vtbl {
3408 pub base__: ::windows_core::IUnknown_Vtbl,
3409}
3410#[repr(transparent)]
3411#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3412pub struct IOplockStorage(::windows_core::IUnknown);
3413impl IOplockStorage {
3414 pub unsafe fn CreateStorageEx<P0, T>(&self, pwcsname: P0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows_core::Result<T>
3415 where
3416 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3417 T: ::windows_core::ComInterface,
3418 {
3419 let mut result__: *mut c_void = ::std::ptr::null_mut();
3420 (::windows_core::Interface::vtable(self).CreateStorageEx)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, stgfmt, grfattrs, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3421 }
3422 pub unsafe fn OpenStorageEx<P0, T>(&self, pwcsname: P0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows_core::Result<T>
3423 where
3424 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3425 T: ::windows_core::ComInterface,
3426 {
3427 let mut result__: *mut c_void = ::std::ptr::null_mut();
3428 (::windows_core::Interface::vtable(self).OpenStorageEx)(::windows_core::Interface::as_raw(self), pwcsname.into_param().abi(), grfmode, stgfmt, grfattrs, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
3429 }
3430}
3431::windows_core::imp::interface_hierarchy!(IOplockStorage, ::windows_core::IUnknown);
3432unsafe impl ::windows_core::Interface for IOplockStorage {
3433 type Vtable = IOplockStorage_Vtbl;
3434}
3435unsafe impl ::windows_core::ComInterface for IOplockStorage {
3436 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x8d19c834_8879_11d1_83e9_00c04fc2c6d4);
3437}
3438#[repr(C)]
3439#[doc(hidden)]
3440pub struct IOplockStorage_Vtbl {
3441 pub base__: ::windows_core::IUnknown_Vtbl,
3442 pub CreateStorageEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwcsname: ::windows_core::PCWSTR, grfmode: u32, stgfmt: u32, grfattrs: u32, riid: *const ::windows_core::GUID, ppstgopen: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3443 pub OpenStorageEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwcsname: ::windows_core::PCWSTR, grfmode: u32, stgfmt: u32, grfattrs: u32, riid: *const ::windows_core::GUID, ppstgopen: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3444}
3445#[repr(transparent)]
3446#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3447pub struct IPSFactoryBuffer(::windows_core::IUnknown);
3448impl IPSFactoryBuffer {
3449 pub unsafe fn CreateProxy<P0>(&self, punkouter: P0, riid: *const ::windows_core::GUID, ppproxy: *mut ::core::option::Option<IRpcProxyBuffer>, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()>
3450 where
3451 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
3452 {
3453 (::windows_core::Interface::vtable(self).CreateProxy)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), riid, ::core::mem::transmute(src:ppproxy), ppv).ok()
3454 }
3455 pub unsafe fn CreateStub<P0>(&self, riid: *const ::windows_core::GUID, punkserver: P0) -> ::windows_core::Result<IRpcStubBuffer>
3456 where
3457 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
3458 {
3459 let mut result__: *mut c_void = ::std::mem::zeroed();
3460 (::windows_core::Interface::vtable(self).CreateStub)(::windows_core::Interface::as_raw(self), riid, punkserver.into_param().abi(), &mut result__).from_abi(result__)
3461 }
3462}
3463::windows_core::imp::interface_hierarchy!(IPSFactoryBuffer, ::windows_core::IUnknown);
3464unsafe impl ::windows_core::Interface for IPSFactoryBuffer {
3465 type Vtable = IPSFactoryBuffer_Vtbl;
3466}
3467unsafe impl ::windows_core::ComInterface for IPSFactoryBuffer {
3468 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xd5f569d0_593b_101a_b569_08002b2dbf7a);
3469}
3470#[repr(C)]
3471#[doc(hidden)]
3472pub struct IPSFactoryBuffer_Vtbl {
3473 pub base__: ::windows_core::IUnknown_Vtbl,
3474 pub CreateProxy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppproxy: *mut *mut ::core::ffi::c_void, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3475 pub CreateStub: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, punkserver: *mut ::core::ffi::c_void, ppstub: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3476}
3477#[repr(transparent)]
3478#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3479pub struct IPersist(::windows_core::IUnknown);
3480impl IPersist {
3481 pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> {
3482 let mut result__: GUID = ::std::mem::zeroed();
3483 (::windows_core::Interface::vtable(self).GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3484 }
3485}
3486::windows_core::imp::interface_hierarchy!(IPersist, ::windows_core::IUnknown);
3487unsafe impl ::windows_core::Interface for IPersist {
3488 type Vtable = IPersist_Vtbl;
3489}
3490unsafe impl ::windows_core::ComInterface for IPersist {
3491 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000010c_0000_0000_c000_000000000046);
3492}
3493#[repr(C)]
3494#[doc(hidden)]
3495pub struct IPersist_Vtbl {
3496 pub base__: ::windows_core::IUnknown_Vtbl,
3497 pub GetClassID: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclassid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
3498}
3499#[repr(transparent)]
3500#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3501pub struct IPersistFile(::windows_core::IUnknown);
3502impl IPersistFile {
3503 pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> {
3504 let mut result__ = ::std::mem::zeroed();
3505 (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3506 }
3507 pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT {
3508 (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self))
3509 }
3510 pub unsafe fn Load<P0>(&self, pszfilename: P0, dwmode: STGM) -> ::windows_core::Result<()>
3511 where
3512 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3513 {
3514 (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), dwmode).ok()
3515 }
3516 #[doc = "Required features: `\"Win32_Foundation\"`"]
3517 #[cfg(feature = "Win32_Foundation")]
3518 pub unsafe fn Save<P0, P1>(&self, pszfilename: P0, fremember: P1) -> ::windows_core::Result<()>
3519 where
3520 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3521 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3522 {
3523 (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi(), fremember.into_param().abi()).ok()
3524 }
3525 pub unsafe fn SaveCompleted<P0>(&self, pszfilename: P0) -> ::windows_core::Result<()>
3526 where
3527 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
3528 {
3529 (::windows_core::Interface::vtable(self).SaveCompleted)(::windows_core::Interface::as_raw(self), pszfilename.into_param().abi()).ok()
3530 }
3531 pub unsafe fn GetCurFile(&self) -> ::windows_core::Result<::windows_core::PWSTR> {
3532 let mut result__ = ::std::mem::zeroed();
3533 (::windows_core::Interface::vtable(self).GetCurFile)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3534 }
3535}
3536::windows_core::imp::interface_hierarchy!(IPersistFile, ::windows_core::IUnknown, IPersist);
3537unsafe impl ::windows_core::Interface for IPersistFile {
3538 type Vtable = IPersistFile_Vtbl;
3539}
3540unsafe impl ::windows_core::ComInterface for IPersistFile {
3541 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000010b_0000_0000_c000_000000000046);
3542}
3543#[repr(C)]
3544#[doc(hidden)]
3545pub struct IPersistFile_Vtbl {
3546 pub base__: IPersist_Vtbl,
3547 pub IsDirty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3548 pub Load: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows_core::PCWSTR, dwmode: STGM) -> ::windows_core::HRESULT,
3549 #[cfg(feature = "Win32_Foundation")]
3550 pub Save: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows_core::PCWSTR, fremember: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
3551 #[cfg(not(feature = "Win32_Foundation"))]
3552 Save: usize,
3553 pub SaveCompleted: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
3554 pub GetCurFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszfilename: *mut ::windows_core::PWSTR) -> ::windows_core::HRESULT,
3555}
3556#[repr(transparent)]
3557#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3558pub struct IPersistMemory(::windows_core::IUnknown);
3559impl IPersistMemory {
3560 pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> {
3561 let mut result__ = ::std::mem::zeroed();
3562 (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3563 }
3564 pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT {
3565 (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self))
3566 }
3567 pub unsafe fn Load(&self, pmem: &[u8]) -> ::windows_core::Result<()> {
3568 (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pmem.as_ptr()), pmem.len().try_into().unwrap()).ok()
3569 }
3570 #[doc = "Required features: `\"Win32_Foundation\"`"]
3571 #[cfg(feature = "Win32_Foundation")]
3572 pub unsafe fn Save<P0>(&self, pmem: &mut [u8], fcleardirty: P0) -> ::windows_core::Result<()>
3573 where
3574 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3575 {
3576 (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pmem.as_ptr()), fcleardirty.into_param().abi(), pmem.len().try_into().unwrap()).ok()
3577 }
3578 pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result<u32> {
3579 let mut result__ = ::std::mem::zeroed();
3580 (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3581 }
3582 pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> {
3583 (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok()
3584 }
3585}
3586::windows_core::imp::interface_hierarchy!(IPersistMemory, ::windows_core::IUnknown, IPersist);
3587unsafe impl ::windows_core::Interface for IPersistMemory {
3588 type Vtable = IPersistMemory_Vtbl;
3589}
3590unsafe impl ::windows_core::ComInterface for IPersistMemory {
3591 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xbd1ae5e0_a6ae_11ce_bd37_504200c10000);
3592}
3593#[repr(C)]
3594#[doc(hidden)]
3595pub struct IPersistMemory_Vtbl {
3596 pub base__: IPersist_Vtbl,
3597 pub IsDirty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3598 pub Load: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmem: *const ::core::ffi::c_void, cbsize: u32) -> ::windows_core::HRESULT,
3599 #[cfg(feature = "Win32_Foundation")]
3600 pub Save: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmem: *mut ::core::ffi::c_void, fcleardirty: super::super::Foundation::BOOL, cbsize: u32) -> ::windows_core::HRESULT,
3601 #[cfg(not(feature = "Win32_Foundation"))]
3602 Save: usize,
3603 pub GetSizeMax: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcbsize: *mut u32) -> ::windows_core::HRESULT,
3604 pub InitNew: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3605}
3606#[repr(transparent)]
3607#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3608pub struct IPersistStream(::windows_core::IUnknown);
3609impl IPersistStream {
3610 pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> {
3611 let mut result__ = ::std::mem::zeroed();
3612 (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3613 }
3614 pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT {
3615 (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self))
3616 }
3617 pub unsafe fn Load<P0>(&self, pstm: P0) -> ::windows_core::Result<()>
3618 where
3619 P0: ::windows_core::IntoParam<IStream>,
3620 {
3621 (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), pstm.into_param().abi()).ok()
3622 }
3623 #[doc = "Required features: `\"Win32_Foundation\"`"]
3624 #[cfg(feature = "Win32_Foundation")]
3625 pub unsafe fn Save<P0, P1>(&self, pstm: P0, fcleardirty: P1) -> ::windows_core::Result<()>
3626 where
3627 P0: ::windows_core::IntoParam<IStream>,
3628 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3629 {
3630 (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), pstm.into_param().abi(), fcleardirty.into_param().abi()).ok()
3631 }
3632 pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result<u64> {
3633 let mut result__ = ::std::mem::zeroed();
3634 (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3635 }
3636}
3637::windows_core::imp::interface_hierarchy!(IPersistStream, ::windows_core::IUnknown, IPersist);
3638unsafe impl ::windows_core::Interface for IPersistStream {
3639 type Vtable = IPersistStream_Vtbl;
3640}
3641unsafe impl ::windows_core::ComInterface for IPersistStream {
3642 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000109_0000_0000_c000_000000000046);
3643}
3644#[repr(C)]
3645#[doc(hidden)]
3646pub struct IPersistStream_Vtbl {
3647 pub base__: IPersist_Vtbl,
3648 pub IsDirty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3649 pub Load: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstm: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3650 #[cfg(feature = "Win32_Foundation")]
3651 pub Save: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstm: *mut ::core::ffi::c_void, fcleardirty: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
3652 #[cfg(not(feature = "Win32_Foundation"))]
3653 Save: usize,
3654 pub GetSizeMax: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcbsize: *mut u64) -> ::windows_core::HRESULT,
3655}
3656#[repr(transparent)]
3657#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3658pub struct IPersistStreamInit(::windows_core::IUnknown);
3659impl IPersistStreamInit {
3660 pub unsafe fn GetClassID(&self) -> ::windows_core::Result<::windows_core::GUID> {
3661 let mut result__ = ::std::mem::zeroed();
3662 (::windows_core::Interface::vtable(self).base__.GetClassID)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3663 }
3664 pub unsafe fn IsDirty(&self) -> ::windows_core::HRESULT {
3665 (::windows_core::Interface::vtable(self).IsDirty)(::windows_core::Interface::as_raw(self))
3666 }
3667 pub unsafe fn Load<P0>(&self, pstm: P0) -> ::windows_core::Result<()>
3668 where
3669 P0: ::windows_core::IntoParam<IStream>,
3670 {
3671 (::windows_core::Interface::vtable(self).Load)(::windows_core::Interface::as_raw(self), pstm.into_param().abi()).ok()
3672 }
3673 #[doc = "Required features: `\"Win32_Foundation\"`"]
3674 #[cfg(feature = "Win32_Foundation")]
3675 pub unsafe fn Save<P0, P1>(&self, pstm: P0, fcleardirty: P1) -> ::windows_core::Result<()>
3676 where
3677 P0: ::windows_core::IntoParam<IStream>,
3678 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3679 {
3680 (::windows_core::Interface::vtable(self).Save)(::windows_core::Interface::as_raw(self), pstm.into_param().abi(), fcleardirty.into_param().abi()).ok()
3681 }
3682 pub unsafe fn GetSizeMax(&self) -> ::windows_core::Result<u64> {
3683 let mut result__ = ::std::mem::zeroed();
3684 (::windows_core::Interface::vtable(self).GetSizeMax)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3685 }
3686 pub unsafe fn InitNew(&self) -> ::windows_core::Result<()> {
3687 (::windows_core::Interface::vtable(self).InitNew)(::windows_core::Interface::as_raw(self)).ok()
3688 }
3689}
3690::windows_core::imp::interface_hierarchy!(IPersistStreamInit, ::windows_core::IUnknown, IPersist);
3691unsafe impl ::windows_core::Interface for IPersistStreamInit {
3692 type Vtable = IPersistStreamInit_Vtbl;
3693}
3694unsafe impl ::windows_core::ComInterface for IPersistStreamInit {
3695 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x7fd52380_4e07_101b_ae2d_08002b2ec713);
3696}
3697#[repr(C)]
3698#[doc(hidden)]
3699pub struct IPersistStreamInit_Vtbl {
3700 pub base__: IPersist_Vtbl,
3701 pub IsDirty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3702 pub Load: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstm: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3703 #[cfg(feature = "Win32_Foundation")]
3704 pub Save: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstm: *mut ::core::ffi::c_void, fcleardirty: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
3705 #[cfg(not(feature = "Win32_Foundation"))]
3706 Save: usize,
3707 pub GetSizeMax: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcbsize: *mut u64) -> ::windows_core::HRESULT,
3708 pub InitNew: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3709}
3710#[repr(transparent)]
3711#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3712pub struct IPipeByte(::windows_core::IUnknown);
3713impl IPipeByte {
3714 pub unsafe fn Pull(&self, buf: &mut [u8], pcreturned: *mut u32) -> ::windows_core::Result<()> {
3715 (::windows_core::Interface::vtable(self).Pull)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap(), pcreturned).ok()
3716 }
3717 pub unsafe fn Push(&self, buf: &[u8]) -> ::windows_core::Result<()> {
3718 (::windows_core::Interface::vtable(self).Push)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap()).ok()
3719 }
3720}
3721::windows_core::imp::interface_hierarchy!(IPipeByte, ::windows_core::IUnknown);
3722unsafe impl ::windows_core::Interface for IPipeByte {
3723 type Vtable = IPipeByte_Vtbl;
3724}
3725unsafe impl ::windows_core::ComInterface for IPipeByte {
3726 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdb2f3aca_2f86_11d1_8e04_00c04fb9989a);
3727}
3728#[repr(C)]
3729#[doc(hidden)]
3730pub struct IPipeByte_Vtbl {
3731 pub base__: ::windows_core::IUnknown_Vtbl,
3732 pub Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *mut u8, crequest: u32, pcreturned: *mut u32) -> ::windows_core::HRESULT,
3733 pub Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *const u8, csent: u32) -> ::windows_core::HRESULT,
3734}
3735#[repr(transparent)]
3736#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3737pub struct IPipeDouble(::windows_core::IUnknown);
3738impl IPipeDouble {
3739 pub unsafe fn Pull(&self, buf: &mut [f64], pcreturned: *mut u32) -> ::windows_core::Result<()> {
3740 (::windows_core::Interface::vtable(self).Pull)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap(), pcreturned).ok()
3741 }
3742 pub unsafe fn Push(&self, buf: &[f64]) -> ::windows_core::Result<()> {
3743 (::windows_core::Interface::vtable(self).Push)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap()).ok()
3744 }
3745}
3746::windows_core::imp::interface_hierarchy!(IPipeDouble, ::windows_core::IUnknown);
3747unsafe impl ::windows_core::Interface for IPipeDouble {
3748 type Vtable = IPipeDouble_Vtbl;
3749}
3750unsafe impl ::windows_core::ComInterface for IPipeDouble {
3751 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdb2f3ace_2f86_11d1_8e04_00c04fb9989a);
3752}
3753#[repr(C)]
3754#[doc(hidden)]
3755pub struct IPipeDouble_Vtbl {
3756 pub base__: ::windows_core::IUnknown_Vtbl,
3757 pub Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *mut f64, crequest: u32, pcreturned: *mut u32) -> ::windows_core::HRESULT,
3758 pub Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *const f64, csent: u32) -> ::windows_core::HRESULT,
3759}
3760#[repr(transparent)]
3761#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3762pub struct IPipeLong(::windows_core::IUnknown);
3763impl IPipeLong {
3764 pub unsafe fn Pull(&self, buf: &mut [i32], pcreturned: *mut u32) -> ::windows_core::Result<()> {
3765 (::windows_core::Interface::vtable(self).Pull)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap(), pcreturned).ok()
3766 }
3767 pub unsafe fn Push(&self, buf: &[i32]) -> ::windows_core::Result<()> {
3768 (::windows_core::Interface::vtable(self).Push)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:buf.as_ptr()), buf.len().try_into().unwrap()).ok()
3769 }
3770}
3771::windows_core::imp::interface_hierarchy!(IPipeLong, ::windows_core::IUnknown);
3772unsafe impl ::windows_core::Interface for IPipeLong {
3773 type Vtable = IPipeLong_Vtbl;
3774}
3775unsafe impl ::windows_core::ComInterface for IPipeLong {
3776 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdb2f3acc_2f86_11d1_8e04_00c04fb9989a);
3777}
3778#[repr(C)]
3779#[doc(hidden)]
3780pub struct IPipeLong_Vtbl {
3781 pub base__: ::windows_core::IUnknown_Vtbl,
3782 pub Pull: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *mut i32, crequest: u32, pcreturned: *mut u32) -> ::windows_core::HRESULT,
3783 pub Push: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buf: *const i32, csent: u32) -> ::windows_core::HRESULT,
3784}
3785#[repr(transparent)]
3786#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3787pub struct IProcessInitControl(::windows_core::IUnknown);
3788impl IProcessInitControl {
3789 pub unsafe fn ResetInitializerTimeout(&self, dwsecondsremaining: u32) -> ::windows_core::Result<()> {
3790 (::windows_core::Interface::vtable(self).ResetInitializerTimeout)(::windows_core::Interface::as_raw(self), dwsecondsremaining).ok()
3791 }
3792}
3793::windows_core::imp::interface_hierarchy!(IProcessInitControl, ::windows_core::IUnknown);
3794unsafe impl ::windows_core::Interface for IProcessInitControl {
3795 type Vtable = IProcessInitControl_Vtbl;
3796}
3797unsafe impl ::windows_core::ComInterface for IProcessInitControl {
3798 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x72380d55_8d2b_43a3_8513_2b6ef31434e9);
3799}
3800#[repr(C)]
3801#[doc(hidden)]
3802pub struct IProcessInitControl_Vtbl {
3803 pub base__: ::windows_core::IUnknown_Vtbl,
3804 pub ResetInitializerTimeout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwsecondsremaining: u32) -> ::windows_core::HRESULT,
3805}
3806#[repr(transparent)]
3807#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3808pub struct IProcessLock(::windows_core::IUnknown);
3809impl IProcessLock {
3810 pub unsafe fn AddRefOnProcess(&self) -> u32 {
3811 (::windows_core::Interface::vtable(self).AddRefOnProcess)(::windows_core::Interface::as_raw(self))
3812 }
3813 pub unsafe fn ReleaseRefOnProcess(&self) -> u32 {
3814 (::windows_core::Interface::vtable(self).ReleaseRefOnProcess)(::windows_core::Interface::as_raw(self))
3815 }
3816}
3817::windows_core::imp::interface_hierarchy!(IProcessLock, ::windows_core::IUnknown);
3818unsafe impl ::windows_core::Interface for IProcessLock {
3819 type Vtable = IProcessLock_Vtbl;
3820}
3821unsafe impl ::windows_core::ComInterface for IProcessLock {
3822 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000001d5_0000_0000_c000_000000000046);
3823}
3824#[repr(C)]
3825#[doc(hidden)]
3826pub struct IProcessLock_Vtbl {
3827 pub base__: ::windows_core::IUnknown_Vtbl,
3828 pub AddRefOnProcess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
3829 pub ReleaseRefOnProcess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
3830}
3831#[repr(transparent)]
3832#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3833pub struct IProgressNotify(::windows_core::IUnknown);
3834impl IProgressNotify {
3835 #[doc = "Required features: `\"Win32_Foundation\"`"]
3836 #[cfg(feature = "Win32_Foundation")]
3837 pub unsafe fn OnProgress<P0, P1>(&self, dwprogresscurrent: u32, dwprogressmaximum: u32, faccurate: P0, fowner: P1) -> ::windows_core::Result<()>
3838 where
3839 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3840 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
3841 {
3842 (::windows_core::Interface::vtable(self).OnProgress)(::windows_core::Interface::as_raw(self), dwprogresscurrent, dwprogressmaximum, faccurate.into_param().abi(), fowner.into_param().abi()).ok()
3843 }
3844}
3845::windows_core::imp::interface_hierarchy!(IProgressNotify, ::windows_core::IUnknown);
3846unsafe impl ::windows_core::Interface for IProgressNotify {
3847 type Vtable = IProgressNotify_Vtbl;
3848}
3849unsafe impl ::windows_core::ComInterface for IProgressNotify {
3850 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xa9d758a0_4617_11cf_95fc_00aa00680db4);
3851}
3852#[repr(C)]
3853#[doc(hidden)]
3854pub struct IProgressNotify_Vtbl {
3855 pub base__: ::windows_core::IUnknown_Vtbl,
3856 #[cfg(feature = "Win32_Foundation")]
3857 pub OnProgress: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwprogresscurrent: u32, dwprogressmaximum: u32, faccurate: super::super::Foundation::BOOL, fowner: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
3858 #[cfg(not(feature = "Win32_Foundation"))]
3859 OnProgress: usize,
3860}
3861#[repr(transparent)]
3862#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3863pub struct IROTData(::windows_core::IUnknown);
3864impl IROTData {
3865 pub unsafe fn GetComparisonData(&self, pbdata: &mut [u8], pcbdata: *mut u32) -> ::windows_core::Result<()> {
3866 (::windows_core::Interface::vtable(self).GetComparisonData)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pbdata.as_ptr()), pbdata.len().try_into().unwrap(), pcbdata).ok()
3867 }
3868}
3869::windows_core::imp::interface_hierarchy!(IROTData, ::windows_core::IUnknown);
3870unsafe impl ::windows_core::Interface for IROTData {
3871 type Vtable = IROTData_Vtbl;
3872}
3873unsafe impl ::windows_core::ComInterface for IROTData {
3874 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xf29f6bc0_5021_11ce_aa15_00006901293f);
3875}
3876#[repr(C)]
3877#[doc(hidden)]
3878pub struct IROTData_Vtbl {
3879 pub base__: ::windows_core::IUnknown_Vtbl,
3880 pub GetComparisonData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbdata: *mut u8, cbmax: u32, pcbdata: *mut u32) -> ::windows_core::HRESULT,
3881}
3882#[repr(transparent)]
3883#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3884pub struct IReleaseMarshalBuffers(::windows_core::IUnknown);
3885impl IReleaseMarshalBuffers {
3886 pub unsafe fn ReleaseMarshalBuffer<P0>(&self, pmsg: *mut RPCOLEMESSAGE, dwflags: u32, pchnl: P0) -> ::windows_core::Result<()>
3887 where
3888 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
3889 {
3890 (::windows_core::Interface::vtable(self).ReleaseMarshalBuffer)(::windows_core::Interface::as_raw(self), pmsg, dwflags, pchnl.into_param().abi()).ok()
3891 }
3892}
3893::windows_core::imp::interface_hierarchy!(IReleaseMarshalBuffers, ::windows_core::IUnknown);
3894unsafe impl ::windows_core::Interface for IReleaseMarshalBuffers {
3895 type Vtable = IReleaseMarshalBuffers_Vtbl;
3896}
3897unsafe impl ::windows_core::ComInterface for IReleaseMarshalBuffers {
3898 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xeb0cb9e8_7996_11d2_872e_0000f8080859);
3899}
3900#[repr(C)]
3901#[doc(hidden)]
3902pub struct IReleaseMarshalBuffers_Vtbl {
3903 pub base__: ::windows_core::IUnknown_Vtbl,
3904 pub ReleaseMarshalBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE, dwflags: u32, pchnl: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3905}
3906#[repr(transparent)]
3907#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3908pub struct IRpcChannelBuffer(::windows_core::IUnknown);
3909impl IRpcChannelBuffer {
3910 pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
3911 (::windows_core::Interface::vtable(self).GetBuffer)(::windows_core::Interface::as_raw(self), pmessage, riid).ok()
3912 }
3913 pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
3914 (::windows_core::Interface::vtable(self).SendReceive)(::windows_core::Interface::as_raw(self), pmessage, ::core::mem::transmute(src:pstatus.unwrap_or(::std::ptr::null_mut()))).ok()
3915 }
3916 pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows_core::Result<()> {
3917 (::windows_core::Interface::vtable(self).FreeBuffer)(::windows_core::Interface::as_raw(self), pmessage).ok()
3918 }
3919 pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
3920 (::windows_core::Interface::vtable(self).GetDestCtx)(::windows_core::Interface::as_raw(self), pdwdestcontext, ppvdestcontext).ok()
3921 }
3922 pub unsafe fn IsConnected(&self) -> ::windows_core::Result<()> {
3923 (::windows_core::Interface::vtable(self).IsConnected)(::windows_core::Interface::as_raw(self)).ok()
3924 }
3925}
3926::windows_core::imp::interface_hierarchy!(IRpcChannelBuffer, ::windows_core::IUnknown);
3927unsafe impl ::windows_core::Interface for IRpcChannelBuffer {
3928 type Vtable = IRpcChannelBuffer_Vtbl;
3929}
3930unsafe impl ::windows_core::ComInterface for IRpcChannelBuffer {
3931 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xd5f56b60_593b_101a_b569_08002b2dbf7a);
3932}
3933#[repr(C)]
3934#[doc(hidden)]
3935pub struct IRpcChannelBuffer_Vtbl {
3936 pub base__: ::windows_core::IUnknown_Vtbl,
3937 pub GetBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
3938 pub SendReceive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows_core::HRESULT,
3939 pub FreeBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmessage: *mut RPCOLEMESSAGE) -> ::windows_core::HRESULT,
3940 pub GetDestCtx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3941 pub IsConnected: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
3942}
3943#[repr(transparent)]
3944#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3945pub struct IRpcChannelBuffer2(::windows_core::IUnknown);
3946impl IRpcChannelBuffer2 {
3947 pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
3948 (::windows_core::Interface::vtable(self).base__.GetBuffer)(::windows_core::Interface::as_raw(self), pmessage, riid).ok()
3949 }
3950 pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
3951 (::windows_core::Interface::vtable(self).base__.SendReceive)(::windows_core::Interface::as_raw(self), pmessage, ::core::mem::transmute(src:pstatus.unwrap_or(::std::ptr::null_mut()))).ok()
3952 }
3953 pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows_core::Result<()> {
3954 (::windows_core::Interface::vtable(self).base__.FreeBuffer)(::windows_core::Interface::as_raw(self), pmessage).ok()
3955 }
3956 pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
3957 (::windows_core::Interface::vtable(self).base__.GetDestCtx)(::windows_core::Interface::as_raw(self), pdwdestcontext, ppvdestcontext).ok()
3958 }
3959 pub unsafe fn IsConnected(&self) -> ::windows_core::Result<()> {
3960 (::windows_core::Interface::vtable(self).base__.IsConnected)(::windows_core::Interface::as_raw(self)).ok()
3961 }
3962 pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result<u32> {
3963 let mut result__: u32 = ::std::mem::zeroed();
3964 (::windows_core::Interface::vtable(self).GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
3965 }
3966}
3967::windows_core::imp::interface_hierarchy!(IRpcChannelBuffer2, ::windows_core::IUnknown, IRpcChannelBuffer);
3968unsafe impl ::windows_core::Interface for IRpcChannelBuffer2 {
3969 type Vtable = IRpcChannelBuffer2_Vtbl;
3970}
3971unsafe impl ::windows_core::ComInterface for IRpcChannelBuffer2 {
3972 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x594f31d0_7f19_11d0_b194_00a0c90dc8bf);
3973}
3974#[repr(C)]
3975#[doc(hidden)]
3976pub struct IRpcChannelBuffer2_Vtbl {
3977 pub base__: IRpcChannelBuffer_Vtbl,
3978 pub GetProtocolVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwversion: *mut u32) -> ::windows_core::HRESULT,
3979}
3980#[repr(transparent)]
3981#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
3982pub struct IRpcChannelBuffer3(::windows_core::IUnknown);
3983impl IRpcChannelBuffer3 {
3984 pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
3985 (::windows_core::Interface::vtable(self).base__.base__.GetBuffer)(::windows_core::Interface::as_raw(self), pmessage, riid).ok()
3986 }
3987 pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
3988 (::windows_core::Interface::vtable(self).base__.base__.SendReceive)(::windows_core::Interface::as_raw(self), pmessage, ::core::mem::transmute(pstatus.unwrap_or(::std::ptr::null_mut()))).ok()
3989 }
3990 pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows_core::Result<()> {
3991 (::windows_core::Interface::vtable(self).base__.base__.FreeBuffer)(::windows_core::Interface::as_raw(self), pmessage).ok()
3992 }
3993 pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
3994 (::windows_core::Interface::vtable(self).base__.base__.GetDestCtx)(::windows_core::Interface::as_raw(self), pdwdestcontext, ppvdestcontext).ok()
3995 }
3996 pub unsafe fn IsConnected(&self) -> ::windows_core::Result<()> {
3997 (::windows_core::Interface::vtable(self).base__.base__.IsConnected)(::windows_core::Interface::as_raw(self)).ok()
3998 }
3999 pub unsafe fn GetProtocolVersion(&self) -> ::windows_core::Result<u32> {
4000 let mut result__ = ::std::mem::zeroed();
4001 (::windows_core::Interface::vtable(self).base__.GetProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4002 }
4003 pub unsafe fn Send(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows_core::Result<()> {
4004 (::windows_core::Interface::vtable(self).Send)(::windows_core::Interface::as_raw(self), pmsg, pulstatus).ok()
4005 }
4006 pub unsafe fn Receive(&self, pmsg: *mut RPCOLEMESSAGE, ulsize: u32, pulstatus: *mut u32) -> ::windows_core::Result<()> {
4007 (::windows_core::Interface::vtable(self).Receive)(::windows_core::Interface::as_raw(self), pmsg, ulsize, pulstatus).ok()
4008 }
4009 pub unsafe fn Cancel(&self, pmsg: *mut RPCOLEMESSAGE) -> ::windows_core::Result<()> {
4010 (::windows_core::Interface::vtable(self).Cancel)(::windows_core::Interface::as_raw(self), pmsg).ok()
4011 }
4012 pub unsafe fn GetCallContext(&self, pmsg: *const RPCOLEMESSAGE, riid: *const ::windows_core::GUID, pinterface: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
4013 (::windows_core::Interface::vtable(self).GetCallContext)(::windows_core::Interface::as_raw(self), pmsg, riid, pinterface).ok()
4014 }
4015 pub unsafe fn GetDestCtxEx(&self, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: ::core::option::Option<*mut *mut ::core::ffi::c_void>) -> ::windows_core::Result<()> {
4016 (::windows_core::Interface::vtable(self).GetDestCtxEx)(::windows_core::Interface::as_raw(self), pmsg, pdwdestcontext, ::core::mem::transmute(ppvdestcontext.unwrap_or(::std::ptr::null_mut()))).ok()
4017 }
4018 pub unsafe fn GetState(&self, pmsg: *const RPCOLEMESSAGE) -> ::windows_core::Result<u32> {
4019 let mut result__ = ::std::mem::zeroed();
4020 (::windows_core::Interface::vtable(self).GetState)(::windows_core::Interface::as_raw(self), pmsg, &mut result__).from_abi(result__)
4021 }
4022 pub unsafe fn RegisterAsync<P0>(&self, pmsg: *mut RPCOLEMESSAGE, pasyncmgr: P0) -> ::windows_core::Result<()>
4023 where
4024 P0: ::windows_core::IntoParam<IAsyncManager>,
4025 {
4026 (::windows_core::Interface::vtable(self).RegisterAsync)(::windows_core::Interface::as_raw(self), pmsg, pasyncmgr.into_param().abi()).ok()
4027 }
4028}
4029::windows_core::imp::interface_hierarchy!(IRpcChannelBuffer3, ::windows_core::IUnknown, IRpcChannelBuffer, IRpcChannelBuffer2);
4030unsafe impl ::windows_core::Interface for IRpcChannelBuffer3 {
4031 type Vtable = IRpcChannelBuffer3_Vtbl;
4032}
4033unsafe impl ::windows_core::ComInterface for IRpcChannelBuffer3 {
4034 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x25b15600_0115_11d0_bf0d_00aa00b8dfd2);
4035}
4036#[repr(C)]
4037#[doc(hidden)]
4038pub struct IRpcChannelBuffer3_Vtbl {
4039 pub base__: IRpcChannelBuffer2_Vtbl,
4040 pub Send: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows_core::HRESULT,
4041 pub Receive: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE, ulsize: u32, pulstatus: *mut u32) -> ::windows_core::HRESULT,
4042 pub Cancel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE) -> ::windows_core::HRESULT,
4043 pub GetCallContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *const RPCOLEMESSAGE, riid: *const ::windows_core::GUID, pinterface: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4044 pub GetDestCtxEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4045 pub GetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *const RPCOLEMESSAGE, pstate: *mut u32) -> ::windows_core::HRESULT,
4046 pub RegisterAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE, pasyncmgr: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4047}
4048#[repr(transparent)]
4049#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4050pub struct IRpcHelper(::windows_core::IUnknown);
4051impl IRpcHelper {
4052 pub unsafe fn GetDCOMProtocolVersion(&self) -> ::windows_core::Result<u32> {
4053 let mut result__: u32 = ::std::mem::zeroed();
4054 (::windows_core::Interface::vtable(self).GetDCOMProtocolVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4055 }
4056 pub unsafe fn GetIIDFromOBJREF(&self, pobjref: *const ::core::ffi::c_void) -> ::windows_core::Result<*mut ::windows_core::GUID> {
4057 let mut result__: *mut GUID = ::std::mem::zeroed();
4058 (::windows_core::Interface::vtable(self).GetIIDFromOBJREF)(::windows_core::Interface::as_raw(self), pobjref, &mut result__).from_abi(result__)
4059 }
4060}
4061::windows_core::imp::interface_hierarchy!(IRpcHelper, ::windows_core::IUnknown);
4062unsafe impl ::windows_core::Interface for IRpcHelper {
4063 type Vtable = IRpcHelper_Vtbl;
4064}
4065unsafe impl ::windows_core::ComInterface for IRpcHelper {
4066 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000149_0000_0000_c000_000000000046);
4067}
4068#[repr(C)]
4069#[doc(hidden)]
4070pub struct IRpcHelper_Vtbl {
4071 pub base__: ::windows_core::IUnknown_Vtbl,
4072 pub GetDCOMProtocolVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcomversion: *mut u32) -> ::windows_core::HRESULT,
4073 pub GetIIDFromOBJREF: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pobjref: *const ::core::ffi::c_void, piid: *mut *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
4074}
4075#[repr(transparent)]
4076#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4077pub struct IRpcOptions(::windows_core::IUnknown);
4078impl IRpcOptions {
4079 pub unsafe fn Set<P0>(&self, pprx: P0, dwproperty: RPCOPT_PROPERTIES, dwvalue: usize) -> ::windows_core::Result<()>
4080 where
4081 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4082 {
4083 (::windows_core::Interface::vtable(self).Set)(::windows_core::Interface::as_raw(self), pprx.into_param().abi(), dwproperty, dwvalue).ok()
4084 }
4085 pub unsafe fn Query<P0>(&self, pprx: P0, dwproperty: RPCOPT_PROPERTIES) -> ::windows_core::Result<usize>
4086 where
4087 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4088 {
4089 let mut result__: usize = ::std::mem::zeroed();
4090 (::windows_core::Interface::vtable(self).Query)(::windows_core::Interface::as_raw(self), pprx.into_param().abi(), dwproperty, &mut result__).from_abi(result__)
4091 }
4092}
4093::windows_core::imp::interface_hierarchy!(IRpcOptions, ::windows_core::IUnknown);
4094unsafe impl ::windows_core::Interface for IRpcOptions {
4095 type Vtable = IRpcOptions_Vtbl;
4096}
4097unsafe impl ::windows_core::ComInterface for IRpcOptions {
4098 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000144_0000_0000_c000_000000000046);
4099}
4100#[repr(C)]
4101#[doc(hidden)]
4102pub struct IRpcOptions_Vtbl {
4103 pub base__: ::windows_core::IUnknown_Vtbl,
4104 pub Set: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprx: *mut ::core::ffi::c_void, dwproperty: RPCOPT_PROPERTIES, dwvalue: usize) -> ::windows_core::HRESULT,
4105 pub Query: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprx: *mut ::core::ffi::c_void, dwproperty: RPCOPT_PROPERTIES, pdwvalue: *mut usize) -> ::windows_core::HRESULT,
4106}
4107#[repr(transparent)]
4108#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4109pub struct IRpcProxyBuffer(::windows_core::IUnknown);
4110impl IRpcProxyBuffer {
4111 pub unsafe fn Connect<P0>(&self, prpcchannelbuffer: P0) -> ::windows_core::Result<()>
4112 where
4113 P0: ::windows_core::IntoParam<IRpcChannelBuffer>,
4114 {
4115 (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), prpcchannelbuffer.into_param().abi()).ok()
4116 }
4117 pub unsafe fn Disconnect(&self) {
4118 (::windows_core::Interface::vtable(self).Disconnect)(::windows_core::Interface::as_raw(self))
4119 }
4120}
4121::windows_core::imp::interface_hierarchy!(IRpcProxyBuffer, ::windows_core::IUnknown);
4122unsafe impl ::windows_core::Interface for IRpcProxyBuffer {
4123 type Vtable = IRpcProxyBuffer_Vtbl;
4124}
4125unsafe impl ::windows_core::ComInterface for IRpcProxyBuffer {
4126 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xd5f56a34_593b_101a_b569_08002b2dbf7a);
4127}
4128#[repr(C)]
4129#[doc(hidden)]
4130pub struct IRpcProxyBuffer_Vtbl {
4131 pub base__: ::windows_core::IUnknown_Vtbl,
4132 pub Connect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prpcchannelbuffer: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4133 pub Disconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
4134}
4135#[repr(transparent)]
4136#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4137pub struct IRpcStubBuffer(::windows_core::IUnknown);
4138impl IRpcStubBuffer {
4139 pub unsafe fn Connect<P0>(&self, punkserver: P0) -> ::windows_core::Result<()>
4140 where
4141 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4142 {
4143 (::windows_core::Interface::vtable(self).Connect)(::windows_core::Interface::as_raw(self), punkserver.into_param().abi()).ok()
4144 }
4145 pub unsafe fn Disconnect(&self) {
4146 (::windows_core::Interface::vtable(self).Disconnect)(::windows_core::Interface::as_raw(self))
4147 }
4148 pub unsafe fn Invoke<P0>(&self, _prpcmsg: *mut RPCOLEMESSAGE, _prpcchannelbuffer: P0) -> ::windows_core::Result<()>
4149 where
4150 P0: ::windows_core::IntoParam<IRpcChannelBuffer>,
4151 {
4152 (::windows_core::Interface::vtable(self).Invoke)(::windows_core::Interface::as_raw(self), _prpcmsg, _prpcchannelbuffer.into_param().abi()).ok()
4153 }
4154 pub unsafe fn IsIIDSupported(&self, riid: *const ::windows_core::GUID) -> ::core::option::Option<IRpcStubBuffer> {
4155 (::windows_core::Interface::vtable(self).IsIIDSupported)(::windows_core::Interface::as_raw(self), riid)
4156 }
4157 pub unsafe fn CountRefs(&self) -> u32 {
4158 (::windows_core::Interface::vtable(self).CountRefs)(::windows_core::Interface::as_raw(self))
4159 }
4160 pub unsafe fn DebugServerQueryInterface(&self, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
4161 (::windows_core::Interface::vtable(self).DebugServerQueryInterface)(::windows_core::Interface::as_raw(self), ppv).ok()
4162 }
4163 pub unsafe fn DebugServerRelease(&self, pv: *const ::core::ffi::c_void) {
4164 (::windows_core::Interface::vtable(self).DebugServerRelease)(::windows_core::Interface::as_raw(self), pv)
4165 }
4166}
4167::windows_core::imp::interface_hierarchy!(IRpcStubBuffer, ::windows_core::IUnknown);
4168unsafe impl ::windows_core::Interface for IRpcStubBuffer {
4169 type Vtable = IRpcStubBuffer_Vtbl;
4170}
4171unsafe impl ::windows_core::ComInterface for IRpcStubBuffer {
4172 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xd5f56afc_593b_101a_b569_08002b2dbf7a);
4173}
4174#[repr(C)]
4175#[doc(hidden)]
4176pub struct IRpcStubBuffer_Vtbl {
4177 pub base__: ::windows_core::IUnknown_Vtbl,
4178 pub Connect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkserver: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4179 pub Disconnect: unsafe extern "system" fn(this: *mut ::core::ffi::c_void),
4180 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, _prpcmsg: *mut RPCOLEMESSAGE, _prpcchannelbuffer: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4181 pub IsIIDSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID) -> ::core::option::Option<IRpcStubBuffer>,
4182 pub CountRefs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
4183 pub DebugServerQueryInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4184 pub DebugServerRelease: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *const ::core::ffi::c_void),
4185}
4186#[repr(transparent)]
4187#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4188pub struct IRpcSyntaxNegotiate(::windows_core::IUnknown);
4189impl IRpcSyntaxNegotiate {
4190 pub unsafe fn NegotiateSyntax(&self, pmsg: *mut RPCOLEMESSAGE) -> ::windows_core::Result<()> {
4191 (::windows_core::Interface::vtable(self).NegotiateSyntax)(::windows_core::Interface::as_raw(self), pmsg).ok()
4192 }
4193}
4194::windows_core::imp::interface_hierarchy!(IRpcSyntaxNegotiate, ::windows_core::IUnknown);
4195unsafe impl ::windows_core::Interface for IRpcSyntaxNegotiate {
4196 type Vtable = IRpcSyntaxNegotiate_Vtbl;
4197}
4198unsafe impl ::windows_core::ComInterface for IRpcSyntaxNegotiate {
4199 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x58a08519_24c8_4935_b482_3fd823333a4f);
4200}
4201#[repr(C)]
4202#[doc(hidden)]
4203pub struct IRpcSyntaxNegotiate_Vtbl {
4204 pub base__: ::windows_core::IUnknown_Vtbl,
4205 pub NegotiateSyntax: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmsg: *mut RPCOLEMESSAGE) -> ::windows_core::HRESULT,
4206}
4207#[repr(transparent)]
4208#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4209pub struct IRunnableObject(::windows_core::IUnknown);
4210impl IRunnableObject {
4211 pub unsafe fn GetRunningClass(&self) -> ::windows_core::Result<::windows_core::GUID> {
4212 let mut result__ = ::std::mem::zeroed();
4213 (::windows_core::Interface::vtable(self).GetRunningClass)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4214 }
4215 pub unsafe fn Run<P0>(&self, pbc: P0) -> ::windows_core::Result<()>
4216 where
4217 P0: ::windows_core::IntoParam<IBindCtx>,
4218 {
4219 (::windows_core::Interface::vtable(self).Run)(::windows_core::Interface::as_raw(self), pbc.into_param().abi()).ok()
4220 }
4221 #[doc = "Required features: `\"Win32_Foundation\"`"]
4222 #[cfg(feature = "Win32_Foundation")]
4223 pub unsafe fn IsRunning(&self) -> super::super::Foundation::BOOL {
4224 (::windows_core::Interface::vtable(self).IsRunning)(::windows_core::Interface::as_raw(self))
4225 }
4226 #[doc = "Required features: `\"Win32_Foundation\"`"]
4227 #[cfg(feature = "Win32_Foundation")]
4228 pub unsafe fn LockRunning<P0, P1>(&self, flock: P0, flastunlockcloses: P1) -> ::windows_core::Result<()>
4229 where
4230 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
4231 P1: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
4232 {
4233 (::windows_core::Interface::vtable(self).LockRunning)(::windows_core::Interface::as_raw(self), flock.into_param().abi(), flastunlockcloses.into_param().abi()).ok()
4234 }
4235 #[doc = "Required features: `\"Win32_Foundation\"`"]
4236 #[cfg(feature = "Win32_Foundation")]
4237 pub unsafe fn SetContainedObject<P0>(&self, fcontained: P0) -> ::windows_core::Result<()>
4238 where
4239 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
4240 {
4241 (::windows_core::Interface::vtable(self).SetContainedObject)(::windows_core::Interface::as_raw(self), fcontained.into_param().abi()).ok()
4242 }
4243}
4244::windows_core::imp::interface_hierarchy!(IRunnableObject, ::windows_core::IUnknown);
4245unsafe impl ::windows_core::Interface for IRunnableObject {
4246 type Vtable = IRunnableObject_Vtbl;
4247}
4248unsafe impl ::windows_core::ComInterface for IRunnableObject {
4249 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000126_0000_0000_c000_000000000046);
4250}
4251#[repr(C)]
4252#[doc(hidden)]
4253pub struct IRunnableObject_Vtbl {
4254 pub base__: ::windows_core::IUnknown_Vtbl,
4255 pub GetRunningClass: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lpclsid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
4256 pub Run: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbc: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4257 #[cfg(feature = "Win32_Foundation")]
4258 pub IsRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL,
4259 #[cfg(not(feature = "Win32_Foundation"))]
4260 IsRunning: usize,
4261 #[cfg(feature = "Win32_Foundation")]
4262 pub LockRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flock: super::super::Foundation::BOOL, flastunlockcloses: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
4263 #[cfg(not(feature = "Win32_Foundation"))]
4264 LockRunning: usize,
4265 #[cfg(feature = "Win32_Foundation")]
4266 pub SetContainedObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fcontained: super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
4267 #[cfg(not(feature = "Win32_Foundation"))]
4268 SetContainedObject: usize,
4269}
4270#[repr(transparent)]
4271#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4272pub struct IRunningObjectTable(::windows_core::IUnknown);
4273impl IRunningObjectTable {
4274 pub unsafe fn Register<P0, P1>(&self, grfflags: ROT_FLAGS, punkobject: P0, pmkobjectname: P1) -> ::windows_core::Result<u32>
4275 where
4276 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4277 P1: ::windows_core::IntoParam<IMoniker>,
4278 {
4279 let mut result__ = ::std::mem::zeroed();
4280 (::windows_core::Interface::vtable(self).Register)(::windows_core::Interface::as_raw(self), grfflags, punkobject.into_param().abi(), pmkobjectname.into_param().abi(), &mut result__).from_abi(result__)
4281 }
4282 pub unsafe fn Revoke(&self, dwregister: u32) -> ::windows_core::Result<()> {
4283 (::windows_core::Interface::vtable(self).Revoke)(::windows_core::Interface::as_raw(self), dwregister).ok()
4284 }
4285 pub unsafe fn IsRunning<P0>(&self, pmkobjectname: P0) -> ::windows_core::Result<()>
4286 where
4287 P0: ::windows_core::IntoParam<IMoniker>,
4288 {
4289 (::windows_core::Interface::vtable(self).IsRunning)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi()).ok()
4290 }
4291 pub unsafe fn GetObject<P0>(&self, pmkobjectname: P0) -> ::windows_core::Result<::windows_core::IUnknown>
4292 where
4293 P0: ::windows_core::IntoParam<IMoniker>,
4294 {
4295 let mut result__ = ::std::mem::zeroed();
4296 (::windows_core::Interface::vtable(self).GetObject)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi(), &mut result__).from_abi(result__)
4297 }
4298 #[doc = "Required features: `\"Win32_Foundation\"`"]
4299 #[cfg(feature = "Win32_Foundation")]
4300 pub unsafe fn NoteChangeTime(&self, dwregister: u32, pfiletime: *const super::super::Foundation::FILETIME) -> ::windows_core::Result<()> {
4301 (::windows_core::Interface::vtable(self).NoteChangeTime)(::windows_core::Interface::as_raw(self), dwregister, pfiletime).ok()
4302 }
4303 #[doc = "Required features: `\"Win32_Foundation\"`"]
4304 #[cfg(feature = "Win32_Foundation")]
4305 pub unsafe fn GetTimeOfLastChange<P0>(&self, pmkobjectname: P0) -> ::windows_core::Result<super::super::Foundation::FILETIME>
4306 where
4307 P0: ::windows_core::IntoParam<IMoniker>,
4308 {
4309 let mut result__ = ::std::mem::zeroed();
4310 (::windows_core::Interface::vtable(self).GetTimeOfLastChange)(::windows_core::Interface::as_raw(self), pmkobjectname.into_param().abi(), &mut result__).from_abi(result__)
4311 }
4312 pub unsafe fn EnumRunning(&self) -> ::windows_core::Result<IEnumMoniker> {
4313 let mut result__ = ::std::mem::zeroed();
4314 (::windows_core::Interface::vtable(self).EnumRunning)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4315 }
4316}
4317::windows_core::imp::interface_hierarchy!(IRunningObjectTable, ::windows_core::IUnknown);
4318unsafe impl ::windows_core::Interface for IRunningObjectTable {
4319 type Vtable = IRunningObjectTable_Vtbl;
4320}
4321unsafe impl ::windows_core::ComInterface for IRunningObjectTable {
4322 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000010_0000_0000_c000_000000000046);
4323}
4324#[repr(C)]
4325#[doc(hidden)]
4326pub struct IRunningObjectTable_Vtbl {
4327 pub base__: ::windows_core::IUnknown_Vtbl,
4328 pub Register: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grfflags: ROT_FLAGS, punkobject: *mut ::core::ffi::c_void, pmkobjectname: *mut ::core::ffi::c_void, pdwregister: *mut u32) -> ::windows_core::HRESULT,
4329 pub Revoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwregister: u32) -> ::windows_core::HRESULT,
4330 pub IsRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkobjectname: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4331 pub GetObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkobjectname: *mut ::core::ffi::c_void, ppunkobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4332 #[cfg(feature = "Win32_Foundation")]
4333 pub NoteChangeTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwregister: u32, pfiletime: *const super::super::Foundation::FILETIME) -> ::windows_core::HRESULT,
4334 #[cfg(not(feature = "Win32_Foundation"))]
4335 NoteChangeTime: usize,
4336 #[cfg(feature = "Win32_Foundation")]
4337 pub GetTimeOfLastChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmkobjectname: *mut ::core::ffi::c_void, pfiletime: *mut super::super::Foundation::FILETIME) -> ::windows_core::HRESULT,
4338 #[cfg(not(feature = "Win32_Foundation"))]
4339 GetTimeOfLastChange: usize,
4340 pub EnumRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenummoniker: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4341}
4342#[repr(transparent)]
4343#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4344pub struct ISequentialStream(::windows_core::IUnknown);
4345impl ISequentialStream {
4346 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
4347 (::windows_core::Interface::vtable(self).Read)(::windows_core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(src:pcbread.unwrap_or(::std::ptr::null_mut())))
4348 }
4349 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
4350 (::windows_core::Interface::vtable(self).Write)(::windows_core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(src:pcbwritten.unwrap_or(::std::ptr::null_mut())))
4351 }
4352}
4353::windows_core::imp::interface_hierarchy!(ISequentialStream, ::windows_core::IUnknown);
4354unsafe impl ::windows_core::Interface for ISequentialStream {
4355 type Vtable = ISequentialStream_Vtbl;
4356}
4357unsafe impl ::windows_core::ComInterface for ISequentialStream {
4358 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0c733a30_2a1c_11ce_ade5_00aa0044773d);
4359}
4360#[repr(C)]
4361#[doc(hidden)]
4362pub struct ISequentialStream_Vtbl {
4363 pub base__: ::windows_core::IUnknown_Vtbl,
4364 pub Read: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows_core::HRESULT,
4365 pub Write: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows_core::HRESULT,
4366}
4367#[repr(transparent)]
4368#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4369pub struct IServerSecurity(::windows_core::IUnknown);
4370impl IServerSecurity {
4371 pub unsafe fn QueryBlanket(&self, pauthnsvc: ::core::option::Option<*mut u32>, pauthzsvc: ::core::option::Option<*mut u32>, pserverprincname: *mut *mut u16, pauthnlevel: ::core::option::Option<*mut u32>, pimplevel: ::core::option::Option<*mut u32>, pprivs: *mut *mut ::core::ffi::c_void, pcapabilities: ::core::option::Option<*mut u32>) -> ::windows_core::Result<()> {
4372 (::windows_core::Interface::vtable(self).QueryBlanket)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(src:pauthnsvc.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pauthzsvc.unwrap_or(::std::ptr::null_mut())), pserverprincname, ::core::mem::transmute(src:pauthnlevel.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(src:pimplevel.unwrap_or(::std::ptr::null_mut())), pprivs, ::core::mem::transmute(src:pcapabilities.unwrap_or(::std::ptr::null_mut()))).ok()
4373 }
4374 pub unsafe fn ImpersonateClient(&self) -> ::windows_core::Result<()> {
4375 (::windows_core::Interface::vtable(self).ImpersonateClient)(::windows_core::Interface::as_raw(self)).ok()
4376 }
4377 pub unsafe fn RevertToSelf(&self) -> ::windows_core::Result<()> {
4378 (::windows_core::Interface::vtable(self).RevertToSelf)(::windows_core::Interface::as_raw(self)).ok()
4379 }
4380 #[doc = "Required features: `\"Win32_Foundation\"`"]
4381 #[cfg(feature = "Win32_Foundation")]
4382 pub unsafe fn IsImpersonating(&self) -> super::super::Foundation::BOOL {
4383 (::windows_core::Interface::vtable(self).IsImpersonating)(::windows_core::Interface::as_raw(self))
4384 }
4385}
4386::windows_core::imp::interface_hierarchy!(IServerSecurity, ::windows_core::IUnknown);
4387unsafe impl ::windows_core::Interface for IServerSecurity {
4388 type Vtable = IServerSecurity_Vtbl;
4389}
4390unsafe impl ::windows_core::ComInterface for IServerSecurity {
4391 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000013e_0000_0000_c000_000000000046);
4392}
4393#[repr(C)]
4394#[doc(hidden)]
4395pub struct IServerSecurity_Vtbl {
4396 pub base__: ::windows_core::IUnknown_Vtbl,
4397 pub QueryBlanket: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut *mut u16, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::core::ffi::c_void, pcapabilities: *mut u32) -> ::windows_core::HRESULT,
4398 pub ImpersonateClient: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4399 pub RevertToSelf: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4400 #[cfg(feature = "Win32_Foundation")]
4401 pub IsImpersonating: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::BOOL,
4402 #[cfg(not(feature = "Win32_Foundation"))]
4403 IsImpersonating: usize,
4404}
4405#[repr(transparent)]
4406#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4407pub struct IServiceProvider(::windows_core::IUnknown);
4408impl IServiceProvider {
4409 pub unsafe fn QueryService<T>(&self, guidservice: *const ::windows_core::GUID) -> ::windows_core::Result<T>
4410 where
4411 T: ::windows_core::ComInterface,
4412 {
4413 let mut result__: *mut c_void = ::std::ptr::null_mut();
4414 (::windows_core::Interface::vtable(self).QueryService)(::windows_core::Interface::as_raw(self), guidservice, &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4415 }
4416}
4417::windows_core::imp::interface_hierarchy!(IServiceProvider, ::windows_core::IUnknown);
4418unsafe impl ::windows_core::Interface for IServiceProvider {
4419 type Vtable = IServiceProvider_Vtbl;
4420}
4421unsafe impl ::windows_core::ComInterface for IServiceProvider {
4422 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x6d5140c1_7436_11ce_8034_00aa006009fa);
4423}
4424#[repr(C)]
4425#[doc(hidden)]
4426pub struct IServiceProvider_Vtbl {
4427 pub base__: ::windows_core::IUnknown_Vtbl,
4428 pub QueryService: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidservice: *const ::windows_core::GUID, riid: *const ::windows_core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4429}
4430#[repr(transparent)]
4431#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4432pub struct IStdMarshalInfo(::windows_core::IUnknown);
4433impl IStdMarshalInfo {
4434 pub unsafe fn GetClassForHandler(&self, dwdestcontext: u32, pvdestcontext: ::core::option::Option<*const ::core::ffi::c_void>) -> ::windows_core::Result<::windows_core::GUID> {
4435 let mut result__: GUID = ::std::mem::zeroed();
4436 (::windows_core::Interface::vtable(self).GetClassForHandler)(::windows_core::Interface::as_raw(self), dwdestcontext, ::core::mem::transmute(src:pvdestcontext.unwrap_or(::std::ptr::null())), &mut result__).from_abi(result__)
4437 }
4438}
4439::windows_core::imp::interface_hierarchy!(IStdMarshalInfo, ::windows_core::IUnknown);
4440unsafe impl ::windows_core::Interface for IStdMarshalInfo {
4441 type Vtable = IStdMarshalInfo_Vtbl;
4442}
4443unsafe impl ::windows_core::ComInterface for IStdMarshalInfo {
4444 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000018_0000_0000_c000_000000000046);
4445}
4446#[repr(C)]
4447#[doc(hidden)]
4448pub struct IStdMarshalInfo_Vtbl {
4449 pub base__: ::windows_core::IUnknown_Vtbl,
4450 pub GetClassForHandler: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwdestcontext: u32, pvdestcontext: *const ::core::ffi::c_void, pclsid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
4451}
4452#[repr(transparent)]
4453#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4454pub struct IStream(::windows_core::IUnknown);
4455impl IStream {
4456 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
4457 (::windows_core::Interface::vtable(self).base__.Read)(::windows_core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())))
4458 }
4459 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows_core::HRESULT {
4460 (::windows_core::Interface::vtable(self).base__.Write)(::windows_core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut())))
4461 }
4462 pub unsafe fn Seek(&self, dlibmove: i64, dworigin: STREAM_SEEK, plibnewposition: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()> {
4463 (::windows_core::Interface::vtable(self).Seek)(::windows_core::Interface::as_raw(self), dlibmove, dworigin, ::core::mem::transmute(plibnewposition.unwrap_or(::std::ptr::null_mut()))).ok()
4464 }
4465 pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows_core::Result<()> {
4466 (::windows_core::Interface::vtable(self).SetSize)(::windows_core::Interface::as_raw(self), libnewsize).ok()
4467 }
4468 pub unsafe fn CopyTo<P0>(&self, pstm: P0, cb: u64, pcbread: ::core::option::Option<*mut u64>, pcbwritten: ::core::option::Option<*mut u64>) -> ::windows_core::Result<()>
4469 where
4470 P0: ::windows_core::IntoParam<IStream>,
4471 {
4472 (::windows_core::Interface::vtable(self).CopyTo)(::windows_core::Interface::as_raw(self), pstm.into_param().abi(), cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut()))).ok()
4473 }
4474 pub unsafe fn Commit(&self, grfcommitflags: STGC) -> ::windows_core::Result<()> {
4475 (::windows_core::Interface::vtable(self).Commit)(::windows_core::Interface::as_raw(self), grfcommitflags.0 as _).ok()
4476 }
4477 pub unsafe fn Revert(&self) -> ::windows_core::Result<()> {
4478 (::windows_core::Interface::vtable(self).Revert)(::windows_core::Interface::as_raw(self)).ok()
4479 }
4480 pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: LOCKTYPE) -> ::windows_core::Result<()> {
4481 (::windows_core::Interface::vtable(self).LockRegion)(::windows_core::Interface::as_raw(self), liboffset, cb, dwlocktype.0 as _).ok()
4482 }
4483 pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows_core::Result<()> {
4484 (::windows_core::Interface::vtable(self).UnlockRegion)(::windows_core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
4485 }
4486 #[doc = "Required features: `\"Win32_Foundation\"`"]
4487 #[cfg(feature = "Win32_Foundation")]
4488 pub unsafe fn Stat(&self, pstatstg: *mut STATSTG, grfstatflag: STATFLAG) -> ::windows_core::Result<()> {
4489 (::windows_core::Interface::vtable(self).Stat)(::windows_core::Interface::as_raw(self), pstatstg, grfstatflag.0 as _).ok()
4490 }
4491 pub unsafe fn Clone(&self) -> ::windows_core::Result<IStream> {
4492 let mut result__ = ::std::mem::zeroed();
4493 (::windows_core::Interface::vtable(self).Clone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4494 }
4495}
4496::windows_core::imp::interface_hierarchy!(IStream, ::windows_core::IUnknown, ISequentialStream);
4497unsafe impl ::windows_core::Interface for IStream {
4498 type Vtable = IStream_Vtbl;
4499}
4500unsafe impl ::windows_core::ComInterface for IStream {
4501 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000000c_0000_0000_c000_000000000046);
4502}
4503#[repr(C)]
4504#[doc(hidden)]
4505pub struct IStream_Vtbl {
4506 pub base__: ISequentialStream_Vtbl,
4507 pub Seek: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dlibmove: i64, dworigin: STREAM_SEEK, plibnewposition: *mut u64) -> ::windows_core::HRESULT,
4508 pub SetSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, libnewsize: u64) -> ::windows_core::HRESULT,
4509 pub CopyTo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstm: *mut ::core::ffi::c_void, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows_core::HRESULT,
4510 pub Commit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grfcommitflags: u32) -> ::windows_core::HRESULT,
4511 pub Revert: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4512 pub LockRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows_core::HRESULT,
4513 pub UnlockRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows_core::HRESULT,
4514 #[cfg(feature = "Win32_Foundation")]
4515 pub Stat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatstg: *mut STATSTG, grfstatflag: u32) -> ::windows_core::HRESULT,
4516 #[cfg(not(feature = "Win32_Foundation"))]
4517 Stat: usize,
4518 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppstm: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4519}
4520#[repr(transparent)]
4521#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4522pub struct ISupportAllowLowerTrustActivation(::windows_core::IUnknown);
4523impl ISupportAllowLowerTrustActivation {}
4524::windows_core::imp::interface_hierarchy!(ISupportAllowLowerTrustActivation, ::windows_core::IUnknown);
4525unsafe impl ::windows_core::Interface for ISupportAllowLowerTrustActivation {
4526 type Vtable = ISupportAllowLowerTrustActivation_Vtbl;
4527}
4528unsafe impl ::windows_core::ComInterface for ISupportAllowLowerTrustActivation {
4529 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xe9956ef2_3828_4b4b_8fa9_7db61dee4954);
4530}
4531#[repr(C)]
4532#[doc(hidden)]
4533pub struct ISupportAllowLowerTrustActivation_Vtbl {
4534 pub base__: ::windows_core::IUnknown_Vtbl,
4535}
4536#[repr(transparent)]
4537#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4538pub struct ISupportErrorInfo(::windows_core::IUnknown);
4539impl ISupportErrorInfo {
4540 pub unsafe fn InterfaceSupportsErrorInfo(&self, riid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
4541 (::windows_core::Interface::vtable(self).InterfaceSupportsErrorInfo)(::windows_core::Interface::as_raw(self), riid).ok()
4542 }
4543}
4544::windows_core::imp::interface_hierarchy!(ISupportErrorInfo, ::windows_core::IUnknown);
4545unsafe impl ::windows_core::Interface for ISupportErrorInfo {
4546 type Vtable = ISupportErrorInfo_Vtbl;
4547}
4548unsafe impl ::windows_core::ComInterface for ISupportErrorInfo {
4549 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xdf0b3d60_548f_101b_8e65_08002b2bd119);
4550}
4551#[repr(C)]
4552#[doc(hidden)]
4553pub struct ISupportErrorInfo_Vtbl {
4554 pub base__: ::windows_core::IUnknown_Vtbl,
4555 pub InterfaceSupportsErrorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
4556}
4557#[repr(transparent)]
4558#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4559pub struct ISurrogate(::windows_core::IUnknown);
4560impl ISurrogate {
4561 pub unsafe fn LoadDllServer(&self, clsid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
4562 (::windows_core::Interface::vtable(self).LoadDllServer)(::windows_core::Interface::as_raw(self), clsid).ok()
4563 }
4564 pub unsafe fn FreeSurrogate(&self) -> ::windows_core::Result<()> {
4565 (::windows_core::Interface::vtable(self).FreeSurrogate)(::windows_core::Interface::as_raw(self)).ok()
4566 }
4567}
4568::windows_core::imp::interface_hierarchy!(ISurrogate, ::windows_core::IUnknown);
4569unsafe impl ::windows_core::Interface for ISurrogate {
4570 type Vtable = ISurrogate_Vtbl;
4571}
4572unsafe impl ::windows_core::ComInterface for ISurrogate {
4573 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000022_0000_0000_c000_000000000046);
4574}
4575#[repr(C)]
4576#[doc(hidden)]
4577pub struct ISurrogate_Vtbl {
4578 pub base__: ::windows_core::IUnknown_Vtbl,
4579 pub LoadDllServer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
4580 pub FreeSurrogate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4581}
4582#[repr(transparent)]
4583#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4584pub struct ISurrogateService(::windows_core::IUnknown);
4585impl ISurrogateService {
4586 #[doc = "Required features: `\"Win32_Foundation\"`"]
4587 #[cfg(feature = "Win32_Foundation")]
4588 pub unsafe fn Init<P0>(&self, rguidprocessid: *const ::windows_core::GUID, pprocesslock: P0) -> ::windows_core::Result<super::super::Foundation::BOOL>
4589 where
4590 P0: ::windows_core::IntoParam<IProcessLock>,
4591 {
4592 let mut result__: BOOL = ::std::mem::zeroed();
4593 (::windows_core::Interface::vtable(self).Init)(::windows_core::Interface::as_raw(self), rguidprocessid, pprocesslock.into_param().abi(), &mut result__).from_abi(result__)
4594 }
4595 pub unsafe fn ApplicationLaunch(&self, rguidapplid: *const ::windows_core::GUID, apptype: ApplicationType) -> ::windows_core::Result<()> {
4596 (::windows_core::Interface::vtable(self).ApplicationLaunch)(::windows_core::Interface::as_raw(self), rguidapplid, apptype).ok()
4597 }
4598 pub unsafe fn ApplicationFree(&self, rguidapplid: *const ::windows_core::GUID) -> ::windows_core::Result<()> {
4599 (::windows_core::Interface::vtable(self).ApplicationFree)(::windows_core::Interface::as_raw(self), rguidapplid).ok()
4600 }
4601 pub unsafe fn CatalogRefresh(&self, ulreserved: u32) -> ::windows_core::Result<()> {
4602 (::windows_core::Interface::vtable(self).CatalogRefresh)(::windows_core::Interface::as_raw(self), ulreserved).ok()
4603 }
4604 pub unsafe fn ProcessShutdown(&self, shutdowntype: ShutdownType) -> ::windows_core::Result<()> {
4605 (::windows_core::Interface::vtable(self).ProcessShutdown)(::windows_core::Interface::as_raw(self), shutdowntype).ok()
4606 }
4607}
4608::windows_core::imp::interface_hierarchy!(ISurrogateService, ::windows_core::IUnknown);
4609unsafe impl ::windows_core::Interface for ISurrogateService {
4610 type Vtable = ISurrogateService_Vtbl;
4611}
4612unsafe impl ::windows_core::ComInterface for ISurrogateService {
4613 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x000001d4_0000_0000_c000_000000000046);
4614}
4615#[repr(C)]
4616#[doc(hidden)]
4617pub struct ISurrogateService_Vtbl {
4618 pub base__: ::windows_core::IUnknown_Vtbl,
4619 #[cfg(feature = "Win32_Foundation")]
4620 pub Init: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguidprocessid: *const ::windows_core::GUID, pprocesslock: *mut ::core::ffi::c_void, pfapplicationaware: *mut super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
4621 #[cfg(not(feature = "Win32_Foundation"))]
4622 Init: usize,
4623 pub ApplicationLaunch: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguidapplid: *const ::windows_core::GUID, apptype: ApplicationType) -> ::windows_core::HRESULT,
4624 pub ApplicationFree: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguidapplid: *const ::windows_core::GUID) -> ::windows_core::HRESULT,
4625 pub CatalogRefresh: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulreserved: u32) -> ::windows_core::HRESULT,
4626 pub ProcessShutdown: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, shutdowntype: ShutdownType) -> ::windows_core::HRESULT,
4627}
4628#[repr(transparent)]
4629#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4630pub struct ISynchronize(::windows_core::IUnknown);
4631impl ISynchronize {
4632 pub unsafe fn Wait(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows_core::Result<()> {
4633 (::windows_core::Interface::vtable(self).Wait)(::windows_core::Interface::as_raw(self), dwflags, dwmilliseconds).ok()
4634 }
4635 pub unsafe fn Signal(&self) -> ::windows_core::Result<()> {
4636 (::windows_core::Interface::vtable(self).Signal)(::windows_core::Interface::as_raw(self)).ok()
4637 }
4638 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
4639 (::windows_core::Interface::vtable(self).Reset)(::windows_core::Interface::as_raw(self)).ok()
4640 }
4641}
4642::windows_core::imp::interface_hierarchy!(ISynchronize, ::windows_core::IUnknown);
4643unsafe impl ::windows_core::Interface for ISynchronize {
4644 type Vtable = ISynchronize_Vtbl;
4645}
4646unsafe impl ::windows_core::ComInterface for ISynchronize {
4647 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000030_0000_0000_c000_000000000046);
4648}
4649#[repr(C)]
4650#[doc(hidden)]
4651pub struct ISynchronize_Vtbl {
4652 pub base__: ::windows_core::IUnknown_Vtbl,
4653 pub Wait: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, dwmilliseconds: u32) -> ::windows_core::HRESULT,
4654 pub Signal: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4655 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4656}
4657#[repr(transparent)]
4658#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4659pub struct ISynchronizeContainer(::windows_core::IUnknown);
4660impl ISynchronizeContainer {
4661 pub unsafe fn AddSynchronize<P0>(&self, psync: P0) -> ::windows_core::Result<()>
4662 where
4663 P0: ::windows_core::IntoParam<ISynchronize>,
4664 {
4665 (::windows_core::Interface::vtable(self).AddSynchronize)(::windows_core::Interface::as_raw(self), psync.into_param().abi()).ok()
4666 }
4667 pub unsafe fn WaitMultiple(&self, dwflags: u32, dwtimeout: u32) -> ::windows_core::Result<ISynchronize> {
4668 let mut result__: *mut c_void = ::std::mem::zeroed();
4669 (::windows_core::Interface::vtable(self).WaitMultiple)(::windows_core::Interface::as_raw(self), dwflags, dwtimeout, &mut result__).from_abi(result__)
4670 }
4671}
4672::windows_core::imp::interface_hierarchy!(ISynchronizeContainer, ::windows_core::IUnknown);
4673unsafe impl ::windows_core::Interface for ISynchronizeContainer {
4674 type Vtable = ISynchronizeContainer_Vtbl;
4675}
4676unsafe impl ::windows_core::ComInterface for ISynchronizeContainer {
4677 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000033_0000_0000_c000_000000000046);
4678}
4679#[repr(C)]
4680#[doc(hidden)]
4681pub struct ISynchronizeContainer_Vtbl {
4682 pub base__: ::windows_core::IUnknown_Vtbl,
4683 pub AddSynchronize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psync: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4684 pub WaitMultiple: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, dwtimeout: u32, ppsync: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4685}
4686#[repr(transparent)]
4687#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4688pub struct ISynchronizeEvent(::windows_core::IUnknown);
4689impl ISynchronizeEvent {
4690 #[doc = "Required features: `\"Win32_Foundation\"`"]
4691 #[cfg(feature = "Win32_Foundation")]
4692 pub unsafe fn GetHandle(&self) -> ::windows_core::Result<super::super::Foundation::HANDLE> {
4693 let mut result__: HANDLE = ::std::mem::zeroed();
4694 (::windows_core::Interface::vtable(self).base__.GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4695 }
4696 #[doc = "Required features: `\"Win32_Foundation\"`"]
4697 #[cfg(feature = "Win32_Foundation")]
4698 pub unsafe fn SetEventHandle(&self, ph: *const super::super::Foundation::HANDLE) -> ::windows_core::Result<()> {
4699 (::windows_core::Interface::vtable(self).SetEventHandle)(::windows_core::Interface::as_raw(self), ph).ok()
4700 }
4701}
4702::windows_core::imp::interface_hierarchy!(ISynchronizeEvent, ::windows_core::IUnknown, ISynchronizeHandle);
4703unsafe impl ::windows_core::Interface for ISynchronizeEvent {
4704 type Vtable = ISynchronizeEvent_Vtbl;
4705}
4706unsafe impl ::windows_core::ComInterface for ISynchronizeEvent {
4707 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000032_0000_0000_c000_000000000046);
4708}
4709#[repr(C)]
4710#[doc(hidden)]
4711pub struct ISynchronizeEvent_Vtbl {
4712 pub base__: ISynchronizeHandle_Vtbl,
4713 #[cfg(feature = "Win32_Foundation")]
4714 pub SetEventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ph: *const super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
4715 #[cfg(not(feature = "Win32_Foundation"))]
4716 SetEventHandle: usize,
4717}
4718#[repr(transparent)]
4719#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4720pub struct ISynchronizeHandle(::windows_core::IUnknown);
4721impl ISynchronizeHandle {
4722 #[doc = "Required features: `\"Win32_Foundation\"`"]
4723 #[cfg(feature = "Win32_Foundation")]
4724 pub unsafe fn GetHandle(&self) -> ::windows_core::Result<super::super::Foundation::HANDLE> {
4725 let mut result__: HANDLE = ::std::mem::zeroed();
4726 (::windows_core::Interface::vtable(self).GetHandle)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4727 }
4728}
4729::windows_core::imp::interface_hierarchy!(ISynchronizeHandle, ::windows_core::IUnknown);
4730unsafe impl ::windows_core::Interface for ISynchronizeHandle {
4731 type Vtable = ISynchronizeHandle_Vtbl;
4732}
4733unsafe impl ::windows_core::ComInterface for ISynchronizeHandle {
4734 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000031_0000_0000_c000_000000000046);
4735}
4736#[repr(C)]
4737#[doc(hidden)]
4738pub struct ISynchronizeHandle_Vtbl {
4739 pub base__: ::windows_core::IUnknown_Vtbl,
4740 #[cfg(feature = "Win32_Foundation")]
4741 pub GetHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ph: *mut super::super::Foundation::HANDLE) -> ::windows_core::HRESULT,
4742 #[cfg(not(feature = "Win32_Foundation"))]
4743 GetHandle: usize,
4744}
4745#[repr(transparent)]
4746#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4747pub struct ISynchronizeMutex(::windows_core::IUnknown);
4748impl ISynchronizeMutex {
4749 pub unsafe fn Wait(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows_core::Result<()> {
4750 (::windows_core::Interface::vtable(self).base__.Wait)(::windows_core::Interface::as_raw(self), dwflags, dwmilliseconds).ok()
4751 }
4752 pub unsafe fn Signal(&self) -> ::windows_core::Result<()> {
4753 (::windows_core::Interface::vtable(self).base__.Signal)(::windows_core::Interface::as_raw(self)).ok()
4754 }
4755 pub unsafe fn Reset(&self) -> ::windows_core::Result<()> {
4756 (::windows_core::Interface::vtable(self).base__.Reset)(::windows_core::Interface::as_raw(self)).ok()
4757 }
4758 pub unsafe fn ReleaseMutex(&self) -> ::windows_core::Result<()> {
4759 (::windows_core::Interface::vtable(self).ReleaseMutex)(::windows_core::Interface::as_raw(self)).ok()
4760 }
4761}
4762::windows_core::imp::interface_hierarchy!(ISynchronizeMutex, ::windows_core::IUnknown, ISynchronize);
4763unsafe impl ::windows_core::Interface for ISynchronizeMutex {
4764 type Vtable = ISynchronizeMutex_Vtbl;
4765}
4766unsafe impl ::windows_core::ComInterface for ISynchronizeMutex {
4767 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000025_0000_0000_c000_000000000046);
4768}
4769#[repr(C)]
4770#[doc(hidden)]
4771pub struct ISynchronizeMutex_Vtbl {
4772 pub base__: ISynchronize_Vtbl,
4773 pub ReleaseMutex: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4774}
4775#[repr(transparent)]
4776#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4777pub struct ITimeAndNoticeControl(::windows_core::IUnknown);
4778impl ITimeAndNoticeControl {
4779 pub unsafe fn SuppressChanges(&self, res1: u32, res2: u32) -> ::windows_core::Result<()> {
4780 (::windows_core::Interface::vtable(self).SuppressChanges)(::windows_core::Interface::as_raw(self), res1, res2).ok()
4781 }
4782}
4783::windows_core::imp::interface_hierarchy!(ITimeAndNoticeControl, ::windows_core::IUnknown);
4784unsafe impl ::windows_core::Interface for ITimeAndNoticeControl {
4785 type Vtable = ITimeAndNoticeControl_Vtbl;
4786}
4787unsafe impl ::windows_core::ComInterface for ITimeAndNoticeControl {
4788 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xbc0bf6ae_8878_11d1_83e9_00c04fc2c6d4);
4789}
4790#[repr(C)]
4791#[doc(hidden)]
4792pub struct ITimeAndNoticeControl_Vtbl {
4793 pub base__: ::windows_core::IUnknown_Vtbl,
4794 pub SuppressChanges: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, res1: u32, res2: u32) -> ::windows_core::HRESULT,
4795}
4796#[repr(transparent)]
4797#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4798pub struct ITypeComp(::windows_core::IUnknown);
4799impl ITypeComp {
4800 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4801 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4802 pub unsafe fn Bind<P0>(&self, szname: P0, lhashval: u32, wflags: u16, pptinfo: *mut ::core::option::Option<ITypeInfo>, pdesckind: *mut DESCKIND, pbindptr: *mut BINDPTR) -> ::windows_core::Result<()>
4803 where
4804 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4805 {
4806 (::windows_core::Interface::vtable(self).Bind)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), lhashval, wflags, ::core::mem::transmute(pptinfo), pdesckind, pbindptr).ok()
4807 }
4808 pub unsafe fn BindType<P0>(&self, szname: P0, lhashval: u32, pptinfo: *mut ::core::option::Option<ITypeInfo>, pptcomp: *mut ::core::option::Option<ITypeComp>) -> ::windows_core::Result<()>
4809 where
4810 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
4811 {
4812 (::windows_core::Interface::vtable(self).BindType)(::windows_core::Interface::as_raw(self), szname.into_param().abi(), lhashval, ::core::mem::transmute(src:pptinfo), ::core::mem::transmute(src:pptcomp)).ok()
4813 }
4814}
4815::windows_core::imp::interface_hierarchy!(ITypeComp, ::windows_core::IUnknown);
4816unsafe impl ::windows_core::Interface for ITypeComp {
4817 type Vtable = ITypeComp_Vtbl;
4818}
4819unsafe impl ::windows_core::ComInterface for ITypeComp {
4820 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00020403_0000_0000_c000_000000000046);
4821}
4822#[repr(C)]
4823#[doc(hidden)]
4824pub struct ITypeComp_Vtbl {
4825 pub base__: ::windows_core::IUnknown_Vtbl,
4826 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4827 pub Bind: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::windows_core::PCWSTR, lhashval: u32, wflags: u16, pptinfo: *mut *mut ::core::ffi::c_void, pdesckind: *mut DESCKIND, pbindptr: *mut BINDPTR) -> ::windows_core::HRESULT,
4828 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4829 Bind: usize,
4830 pub BindType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, szname: ::windows_core::PCWSTR, lhashval: u32, pptinfo: *mut *mut ::core::ffi::c_void, pptcomp: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4831}
4832#[repr(transparent)]
4833#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4834pub struct ITypeInfo(::windows_core::IUnknown);
4835impl ITypeInfo {
4836 #[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4837 #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4838 pub unsafe fn GetTypeAttr(&self) -> ::windows_core::Result<*mut TYPEATTR> {
4839 let mut result__ = ::std::mem::zeroed();
4840 (::windows_core::Interface::vtable(self).GetTypeAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4841 }
4842 pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result<ITypeComp> {
4843 let mut result__ = ::std::mem::zeroed();
4844 (::windows_core::Interface::vtable(self).GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4845 }
4846 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4847 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4848 pub unsafe fn GetFuncDesc(&self, index: u32) -> ::windows_core::Result<*mut FUNCDESC> {
4849 let mut result__ = ::std::mem::zeroed();
4850 (::windows_core::Interface::vtable(self).GetFuncDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
4851 }
4852 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4853 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4854 pub unsafe fn GetVarDesc(&self, index: u32) -> ::windows_core::Result<*mut VARDESC> {
4855 let mut result__ = ::std::mem::zeroed();
4856 (::windows_core::Interface::vtable(self).GetVarDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
4857 }
4858 pub unsafe fn GetNames(&self, memid: i32, rgbstrnames: &mut [::windows_core::BSTR], pcnames: *mut u32) -> ::windows_core::Result<()> {
4859 (::windows_core::Interface::vtable(self).GetNames)(::windows_core::Interface::as_raw(self), memid, ::core::mem::transmute(rgbstrnames.as_ptr()), rgbstrnames.len().try_into().unwrap(), pcnames).ok()
4860 }
4861 pub unsafe fn GetRefTypeOfImplType(&self, index: u32) -> ::windows_core::Result<u32> {
4862 let mut result__ = ::std::mem::zeroed();
4863 (::windows_core::Interface::vtable(self).GetRefTypeOfImplType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
4864 }
4865 pub unsafe fn GetImplTypeFlags(&self, index: u32) -> ::windows_core::Result<IMPLTYPEFLAGS> {
4866 let mut result__ = ::std::mem::zeroed();
4867 (::windows_core::Interface::vtable(self).GetImplTypeFlags)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
4868 }
4869 pub unsafe fn GetIDsOfNames(&self, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, pmemid: *mut i32) -> ::windows_core::Result<()> {
4870 (::windows_core::Interface::vtable(self).GetIDsOfNames)(::windows_core::Interface::as_raw(self), rgsznames, cnames, pmemid).ok()
4871 }
4872 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4873 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4874 pub unsafe fn Invoke(&self, pvinstance: *const ::core::ffi::c_void, memid: i32, wflags: DISPATCH_FLAGS, pdispparams: *mut DISPPARAMS, pvarresult: *mut super::Variant::VARIANT, pexcepinfo: *mut EXCEPINFO, puargerr: *mut u32) -> ::windows_core::Result<()> {
4875 (::windows_core::Interface::vtable(self).Invoke)(::windows_core::Interface::as_raw(self), pvinstance, memid, wflags, pdispparams, pvarresult, pexcepinfo, puargerr).ok()
4876 }
4877 pub unsafe fn GetDocumentation(&self, memid: i32, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrdocstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> {
4878 (::windows_core::Interface::vtable(self).GetDocumentation)(::windows_core::Interface::as_raw(self), memid, ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrdocstring.unwrap_or(::std::ptr::null_mut())), pdwhelpcontext, ::core::mem::transmute(pbstrhelpfile.unwrap_or(::std::ptr::null_mut()))).ok()
4879 }
4880 pub unsafe fn GetDllEntry(&self, memid: i32, invkind: INVOKEKIND, pbstrdllname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pwordinal: *mut u16) -> ::windows_core::Result<()> {
4881 (::windows_core::Interface::vtable(self).GetDllEntry)(::windows_core::Interface::as_raw(self), memid, invkind, ::core::mem::transmute(pbstrdllname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), pwordinal).ok()
4882 }
4883 pub unsafe fn GetRefTypeInfo(&self, hreftype: u32) -> ::windows_core::Result<ITypeInfo> {
4884 let mut result__ = ::std::mem::zeroed();
4885 (::windows_core::Interface::vtable(self).GetRefTypeInfo)(::windows_core::Interface::as_raw(self), hreftype, &mut result__).from_abi(result__)
4886 }
4887 pub unsafe fn AddressOfMember(&self, memid: i32, invkind: INVOKEKIND, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
4888 (::windows_core::Interface::vtable(self).AddressOfMember)(::windows_core::Interface::as_raw(self), memid, invkind, ppv).ok()
4889 }
4890 pub unsafe fn CreateInstance<P0, T>(&self, punkouter: P0) -> ::windows_core::Result<T>
4891 where
4892 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
4893 T: ::windows_core::ComInterface,
4894 {
4895 let mut result__ = ::std::ptr::null_mut();
4896 (::windows_core::Interface::vtable(self).CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
4897 }
4898 pub unsafe fn GetMops(&self, memid: i32) -> ::windows_core::Result<::windows_core::BSTR> {
4899 let mut result__ = ::std::mem::zeroed();
4900 (::windows_core::Interface::vtable(self).GetMops)(::windows_core::Interface::as_raw(self), memid, &mut result__).from_abi(result__)
4901 }
4902 pub unsafe fn GetContainingTypeLib(&self, pptlib: *mut ::core::option::Option<ITypeLib>, pindex: *mut u32) -> ::windows_core::Result<()> {
4903 (::windows_core::Interface::vtable(self).GetContainingTypeLib)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pptlib), pindex).ok()
4904 }
4905 #[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4906 #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4907 pub unsafe fn ReleaseTypeAttr(&self, ptypeattr: *const TYPEATTR) {
4908 (::windows_core::Interface::vtable(self).ReleaseTypeAttr)(::windows_core::Interface::as_raw(self), ptypeattr)
4909 }
4910 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4911 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4912 pub unsafe fn ReleaseFuncDesc(&self, pfuncdesc: *const FUNCDESC) {
4913 (::windows_core::Interface::vtable(self).ReleaseFuncDesc)(::windows_core::Interface::as_raw(self), pfuncdesc)
4914 }
4915 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4916 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4917 pub unsafe fn ReleaseVarDesc(&self, pvardesc: *const VARDESC) {
4918 (::windows_core::Interface::vtable(self).ReleaseVarDesc)(::windows_core::Interface::as_raw(self), pvardesc)
4919 }
4920}
4921::windows_core::imp::interface_hierarchy!(ITypeInfo, ::windows_core::IUnknown);
4922unsafe impl ::windows_core::Interface for ITypeInfo {
4923 type Vtable = ITypeInfo_Vtbl;
4924}
4925unsafe impl ::windows_core::ComInterface for ITypeInfo {
4926 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00020401_0000_0000_c000_000000000046);
4927}
4928#[repr(C)]
4929#[doc(hidden)]
4930pub struct ITypeInfo_Vtbl {
4931 pub base__: ::windows_core::IUnknown_Vtbl,
4932 #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4933 pub GetTypeAttr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptypeattr: *mut *mut TYPEATTR) -> ::windows_core::HRESULT,
4934 #[cfg(not(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4935 GetTypeAttr: usize,
4936 pub GetTypeComp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptcomp: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4937 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4938 pub GetFuncDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, ppfuncdesc: *mut *mut FUNCDESC) -> ::windows_core::HRESULT,
4939 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4940 GetFuncDesc: usize,
4941 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4942 pub GetVarDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, ppvardesc: *mut *mut VARDESC) -> ::windows_core::HRESULT,
4943 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4944 GetVarDesc: usize,
4945 pub GetNames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, rgbstrnames: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, cmaxnames: u32, pcnames: *mut u32) -> ::windows_core::HRESULT,
4946 pub GetRefTypeOfImplType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, preftype: *mut u32) -> ::windows_core::HRESULT,
4947 pub GetImplTypeFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, pimpltypeflags: *mut IMPLTYPEFLAGS) -> ::windows_core::HRESULT,
4948 pub GetIDsOfNames: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, pmemid: *mut i32) -> ::windows_core::HRESULT,
4949 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4950 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvinstance: *const ::core::ffi::c_void, memid: i32, wflags: DISPATCH_FLAGS, pdispparams: *mut DISPPARAMS, pvarresult: *mut super::Variant::VARIANT, pexcepinfo: *mut EXCEPINFO, puargerr: *mut u32) -> ::windows_core::HRESULT,
4951 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4952 Invoke: usize,
4953 pub GetDocumentation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrdocstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
4954 pub GetDllEntry: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, invkind: INVOKEKIND, pbstrdllname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pwordinal: *mut u16) -> ::windows_core::HRESULT,
4955 pub GetRefTypeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hreftype: u32, pptinfo: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4956 pub AddressOfMember: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, invkind: INVOKEKIND, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4957 pub CreateInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, riid: *const ::windows_core::GUID, ppvobj: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
4958 pub GetMops: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, pbstrmops: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
4959 pub GetContainingTypeLib: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptlib: *mut *mut ::core::ffi::c_void, pindex: *mut u32) -> ::windows_core::HRESULT,
4960 #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4961 pub ReleaseTypeAttr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptypeattr: *const TYPEATTR),
4962 #[cfg(not(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4963 ReleaseTypeAttr: usize,
4964 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4965 pub ReleaseFuncDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfuncdesc: *const FUNCDESC),
4966 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4967 ReleaseFuncDesc: usize,
4968 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4969 pub ReleaseVarDesc: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvardesc: *const VARDESC),
4970 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
4971 ReleaseVarDesc: usize,
4972}
4973#[repr(transparent)]
4974#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
4975pub struct ITypeInfo2(::windows_core::IUnknown);
4976impl ITypeInfo2 {
4977 #[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4978 #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4979 pub unsafe fn GetTypeAttr(&self) -> ::windows_core::Result<*mut TYPEATTR> {
4980 let mut result__ = ::std::mem::zeroed();
4981 (::windows_core::Interface::vtable(self).base__.GetTypeAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4982 }
4983 pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result<ITypeComp> {
4984 let mut result__ = ::std::mem::zeroed();
4985 (::windows_core::Interface::vtable(self).base__.GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
4986 }
4987 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4988 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4989 pub unsafe fn GetFuncDesc(&self, index: u32) -> ::windows_core::Result<*mut FUNCDESC> {
4990 let mut result__ = ::std::mem::zeroed();
4991 (::windows_core::Interface::vtable(self).base__.GetFuncDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
4992 }
4993 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
4994 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
4995 pub unsafe fn GetVarDesc(&self, index: u32) -> ::windows_core::Result<*mut VARDESC> {
4996 let mut result__ = ::std::mem::zeroed();
4997 (::windows_core::Interface::vtable(self).base__.GetVarDesc)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
4998 }
4999 pub unsafe fn GetNames(&self, memid: i32, rgbstrnames: &mut [::windows_core::BSTR], pcnames: *mut u32) -> ::windows_core::Result<()> {
5000 (::windows_core::Interface::vtable(self).base__.GetNames)(::windows_core::Interface::as_raw(self), memid, ::core::mem::transmute(rgbstrnames.as_ptr()), rgbstrnames.len().try_into().unwrap(), pcnames).ok()
5001 }
5002 pub unsafe fn GetRefTypeOfImplType(&self, index: u32) -> ::windows_core::Result<u32> {
5003 let mut result__ = ::std::mem::zeroed();
5004 (::windows_core::Interface::vtable(self).base__.GetRefTypeOfImplType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5005 }
5006 pub unsafe fn GetImplTypeFlags(&self, index: u32) -> ::windows_core::Result<IMPLTYPEFLAGS> {
5007 let mut result__ = ::std::mem::zeroed();
5008 (::windows_core::Interface::vtable(self).base__.GetImplTypeFlags)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5009 }
5010 pub unsafe fn GetIDsOfNames(&self, rgsznames: *const ::windows_core::PCWSTR, cnames: u32, pmemid: *mut i32) -> ::windows_core::Result<()> {
5011 (::windows_core::Interface::vtable(self).base__.GetIDsOfNames)(::windows_core::Interface::as_raw(self), rgsznames, cnames, pmemid).ok()
5012 }
5013 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5014 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5015 pub unsafe fn Invoke(&self, pvinstance: *const ::core::ffi::c_void, memid: i32, wflags: DISPATCH_FLAGS, pdispparams: *mut DISPPARAMS, pvarresult: *mut super::Variant::VARIANT, pexcepinfo: *mut EXCEPINFO, puargerr: *mut u32) -> ::windows_core::Result<()> {
5016 (::windows_core::Interface::vtable(self).base__.Invoke)(::windows_core::Interface::as_raw(self), pvinstance, memid, wflags, pdispparams, pvarresult, pexcepinfo, puargerr).ok()
5017 }
5018 pub unsafe fn GetDocumentation(&self, memid: i32, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrdocstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> {
5019 (::windows_core::Interface::vtable(self).base__.GetDocumentation)(::windows_core::Interface::as_raw(self), memid, ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrdocstring.unwrap_or(::std::ptr::null_mut())), pdwhelpcontext, ::core::mem::transmute(pbstrhelpfile.unwrap_or(::std::ptr::null_mut()))).ok()
5020 }
5021 pub unsafe fn GetDllEntry(&self, memid: i32, invkind: INVOKEKIND, pbstrdllname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pwordinal: *mut u16) -> ::windows_core::Result<()> {
5022 (::windows_core::Interface::vtable(self).base__.GetDllEntry)(::windows_core::Interface::as_raw(self), memid, invkind, ::core::mem::transmute(pbstrdllname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), pwordinal).ok()
5023 }
5024 pub unsafe fn GetRefTypeInfo(&self, hreftype: u32) -> ::windows_core::Result<ITypeInfo> {
5025 let mut result__ = ::std::mem::zeroed();
5026 (::windows_core::Interface::vtable(self).base__.GetRefTypeInfo)(::windows_core::Interface::as_raw(self), hreftype, &mut result__).from_abi(result__)
5027 }
5028 pub unsafe fn AddressOfMember(&self, memid: i32, invkind: INVOKEKIND, ppv: *mut *mut ::core::ffi::c_void) -> ::windows_core::Result<()> {
5029 (::windows_core::Interface::vtable(self).base__.AddressOfMember)(::windows_core::Interface::as_raw(self), memid, invkind, ppv).ok()
5030 }
5031 pub unsafe fn CreateInstance<P0, T>(&self, punkouter: P0) -> ::windows_core::Result<T>
5032 where
5033 P0: ::windows_core::IntoParam<::windows_core::IUnknown>,
5034 T: ::windows_core::ComInterface,
5035 {
5036 let mut result__ = ::std::ptr::null_mut();
5037 (::windows_core::Interface::vtable(self).base__.CreateInstance)(::windows_core::Interface::as_raw(self), punkouter.into_param().abi(), &<T as ::windows_core::ComInterface>::IID, &mut result__).from_abi(result__)
5038 }
5039 pub unsafe fn GetMops(&self, memid: i32) -> ::windows_core::Result<::windows_core::BSTR> {
5040 let mut result__ = ::std::mem::zeroed();
5041 (::windows_core::Interface::vtable(self).base__.GetMops)(::windows_core::Interface::as_raw(self), memid, &mut result__).from_abi(result__)
5042 }
5043 pub unsafe fn GetContainingTypeLib(&self, pptlib: *mut ::core::option::Option<ITypeLib>, pindex: *mut u32) -> ::windows_core::Result<()> {
5044 (::windows_core::Interface::vtable(self).base__.GetContainingTypeLib)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(pptlib), pindex).ok()
5045 }
5046 #[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5047 #[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5048 pub unsafe fn ReleaseTypeAttr(&self, ptypeattr: *const TYPEATTR) {
5049 (::windows_core::Interface::vtable(self).base__.ReleaseTypeAttr)(::windows_core::Interface::as_raw(self), ptypeattr)
5050 }
5051 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5052 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5053 pub unsafe fn ReleaseFuncDesc(&self, pfuncdesc: *const FUNCDESC) {
5054 (::windows_core::Interface::vtable(self).base__.ReleaseFuncDesc)(::windows_core::Interface::as_raw(self), pfuncdesc)
5055 }
5056 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5057 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5058 pub unsafe fn ReleaseVarDesc(&self, pvardesc: *const VARDESC) {
5059 (::windows_core::Interface::vtable(self).base__.ReleaseVarDesc)(::windows_core::Interface::as_raw(self), pvardesc)
5060 }
5061 pub unsafe fn GetTypeKind(&self) -> ::windows_core::Result<TYPEKIND> {
5062 let mut result__ = ::std::mem::zeroed();
5063 (::windows_core::Interface::vtable(self).GetTypeKind)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5064 }
5065 pub unsafe fn GetTypeFlags(&self) -> ::windows_core::Result<u32> {
5066 let mut result__ = ::std::mem::zeroed();
5067 (::windows_core::Interface::vtable(self).GetTypeFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5068 }
5069 pub unsafe fn GetFuncIndexOfMemId(&self, memid: i32, invkind: INVOKEKIND) -> ::windows_core::Result<u32> {
5070 let mut result__ = ::std::mem::zeroed();
5071 (::windows_core::Interface::vtable(self).GetFuncIndexOfMemId)(::windows_core::Interface::as_raw(self), memid, invkind, &mut result__).from_abi(result__)
5072 }
5073 pub unsafe fn GetVarIndexOfMemId(&self, memid: i32) -> ::windows_core::Result<u32> {
5074 let mut result__ = ::std::mem::zeroed();
5075 (::windows_core::Interface::vtable(self).GetVarIndexOfMemId)(::windows_core::Interface::as_raw(self), memid, &mut result__).from_abi(result__)
5076 }
5077 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5078 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5079 pub unsafe fn GetCustData(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result<super::Variant::VARIANT> {
5080 let mut result__ = ::std::mem::zeroed();
5081 (::windows_core::Interface::vtable(self).GetCustData)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__)
5082 }
5083 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5084 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5085 pub unsafe fn GetFuncCustData(&self, index: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<super::Variant::VARIANT> {
5086 let mut result__ = ::std::mem::zeroed();
5087 (::windows_core::Interface::vtable(self).GetFuncCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).from_abi(result__)
5088 }
5089 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5090 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5091 pub unsafe fn GetParamCustData(&self, indexfunc: u32, indexparam: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<super::Variant::VARIANT> {
5092 let mut result__ = ::std::mem::zeroed();
5093 (::windows_core::Interface::vtable(self).GetParamCustData)(::windows_core::Interface::as_raw(self), indexfunc, indexparam, guid, &mut result__).from_abi(result__)
5094 }
5095 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5096 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5097 pub unsafe fn GetVarCustData(&self, index: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<super::Variant::VARIANT> {
5098 let mut result__ = ::std::mem::zeroed();
5099 (::windows_core::Interface::vtable(self).GetVarCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).from_abi(result__)
5100 }
5101 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5102 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5103 pub unsafe fn GetImplTypeCustData(&self, index: u32, guid: *const ::windows_core::GUID) -> ::windows_core::Result<super::Variant::VARIANT> {
5104 let mut result__ = ::std::mem::zeroed();
5105 (::windows_core::Interface::vtable(self).GetImplTypeCustData)(::windows_core::Interface::as_raw(self), index, guid, &mut result__).from_abi(result__)
5106 }
5107 pub unsafe fn GetDocumentation2(&self, memid: i32, lcid: u32, pbstrhelpstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpstringcontext: *mut u32, pbstrhelpstringdll: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> {
5108 (::windows_core::Interface::vtable(self).GetDocumentation2)(::windows_core::Interface::as_raw(self), memid, lcid, ::core::mem::transmute(pbstrhelpstring.unwrap_or(::std::ptr::null_mut())), pdwhelpstringcontext, ::core::mem::transmute(pbstrhelpstringdll.unwrap_or(::std::ptr::null_mut()))).ok()
5109 }
5110 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5111 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5112 pub unsafe fn GetAllCustData(&self) -> ::windows_core::Result<CUSTDATA> {
5113 let mut result__ = ::std::mem::zeroed();
5114 (::windows_core::Interface::vtable(self).GetAllCustData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5115 }
5116 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5117 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5118 pub unsafe fn GetAllFuncCustData(&self, index: u32) -> ::windows_core::Result<CUSTDATA> {
5119 let mut result__ = ::std::mem::zeroed();
5120 (::windows_core::Interface::vtable(self).GetAllFuncCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5121 }
5122 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5123 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5124 pub unsafe fn GetAllParamCustData(&self, indexfunc: u32, indexparam: u32) -> ::windows_core::Result<CUSTDATA> {
5125 let mut result__ = ::std::mem::zeroed();
5126 (::windows_core::Interface::vtable(self).GetAllParamCustData)(::windows_core::Interface::as_raw(self), indexfunc, indexparam, &mut result__).from_abi(result__)
5127 }
5128 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5129 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5130 pub unsafe fn GetAllVarCustData(&self, index: u32) -> ::windows_core::Result<CUSTDATA> {
5131 let mut result__ = ::std::mem::zeroed();
5132 (::windows_core::Interface::vtable(self).GetAllVarCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5133 }
5134 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5135 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5136 pub unsafe fn GetAllImplTypeCustData(&self, index: u32) -> ::windows_core::Result<CUSTDATA> {
5137 let mut result__ = ::std::mem::zeroed();
5138 (::windows_core::Interface::vtable(self).GetAllImplTypeCustData)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5139 }
5140}
5141::windows_core::imp::interface_hierarchy!(ITypeInfo2, ::windows_core::IUnknown, ITypeInfo);
5142unsafe impl ::windows_core::Interface for ITypeInfo2 {
5143 type Vtable = ITypeInfo2_Vtbl;
5144}
5145unsafe impl ::windows_core::ComInterface for ITypeInfo2 {
5146 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00020412_0000_0000_c000_000000000046);
5147}
5148#[repr(C)]
5149#[doc(hidden)]
5150pub struct ITypeInfo2_Vtbl {
5151 pub base__: ITypeInfo_Vtbl,
5152 pub GetTypeKind: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptypekind: *mut TYPEKIND) -> ::windows_core::HRESULT,
5153 pub GetTypeFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptypeflags: *mut u32) -> ::windows_core::HRESULT,
5154 pub GetFuncIndexOfMemId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, invkind: INVOKEKIND, pfuncindex: *mut u32) -> ::windows_core::HRESULT,
5155 pub GetVarIndexOfMemId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, pvarindex: *mut u32) -> ::windows_core::HRESULT,
5156 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5157 pub GetCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID, pvarval: *mut super::Variant::VARIANT) -> ::windows_core::HRESULT,
5158 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5159 GetCustData: usize,
5160 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5161 pub GetFuncCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, guid: *const ::windows_core::GUID, pvarval: *mut super::Variant::VARIANT) -> ::windows_core::HRESULT,
5162 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5163 GetFuncCustData: usize,
5164 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5165 pub GetParamCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, indexfunc: u32, indexparam: u32, guid: *const ::windows_core::GUID, pvarval: *mut super::Variant::VARIANT) -> ::windows_core::HRESULT,
5166 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5167 GetParamCustData: usize,
5168 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5169 pub GetVarCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, guid: *const ::windows_core::GUID, pvarval: *mut super::Variant::VARIANT) -> ::windows_core::HRESULT,
5170 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5171 GetVarCustData: usize,
5172 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5173 pub GetImplTypeCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, guid: *const ::windows_core::GUID, pvarval: *mut super::Variant::VARIANT) -> ::windows_core::HRESULT,
5174 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5175 GetImplTypeCustData: usize,
5176 pub GetDocumentation2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, memid: i32, lcid: u32, pbstrhelpstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pdwhelpstringcontext: *mut u32, pbstrhelpstringdll: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5177 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5178 pub GetAllCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcustdata: *mut CUSTDATA) -> ::windows_core::HRESULT,
5179 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5180 GetAllCustData: usize,
5181 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5182 pub GetAllFuncCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, pcustdata: *mut CUSTDATA) -> ::windows_core::HRESULT,
5183 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5184 GetAllFuncCustData: usize,
5185 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5186 pub GetAllParamCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, indexfunc: u32, indexparam: u32, pcustdata: *mut CUSTDATA) -> ::windows_core::HRESULT,
5187 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5188 GetAllParamCustData: usize,
5189 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5190 pub GetAllVarCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, pcustdata: *mut CUSTDATA) -> ::windows_core::HRESULT,
5191 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5192 GetAllVarCustData: usize,
5193 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5194 pub GetAllImplTypeCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, pcustdata: *mut CUSTDATA) -> ::windows_core::HRESULT,
5195 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5196 GetAllImplTypeCustData: usize,
5197}
5198#[repr(transparent)]
5199#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5200pub struct ITypeLib(::windows_core::IUnknown);
5201impl ITypeLib {
5202 pub unsafe fn GetTypeInfoCount(&self) -> u32 {
5203 (::windows_core::Interface::vtable(self).GetTypeInfoCount)(::windows_core::Interface::as_raw(self))
5204 }
5205 pub unsafe fn GetTypeInfo(&self, index: u32) -> ::windows_core::Result<ITypeInfo> {
5206 let mut result__ = ::std::mem::zeroed();
5207 (::windows_core::Interface::vtable(self).GetTypeInfo)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5208 }
5209 pub unsafe fn GetTypeInfoType(&self, index: u32) -> ::windows_core::Result<TYPEKIND> {
5210 let mut result__ = ::std::mem::zeroed();
5211 (::windows_core::Interface::vtable(self).GetTypeInfoType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5212 }
5213 pub unsafe fn GetTypeInfoOfGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result<ITypeInfo> {
5214 let mut result__ = ::std::mem::zeroed();
5215 (::windows_core::Interface::vtable(self).GetTypeInfoOfGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__)
5216 }
5217 pub unsafe fn GetLibAttr(&self) -> ::windows_core::Result<*mut TLIBATTR> {
5218 let mut result__ = ::std::mem::zeroed();
5219 (::windows_core::Interface::vtable(self).GetLibAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5220 }
5221 pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result<ITypeComp> {
5222 let mut result__ = ::std::mem::zeroed();
5223 (::windows_core::Interface::vtable(self).GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5224 }
5225 pub unsafe fn GetDocumentation(&self, index: i32, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrdocstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> {
5226 (::windows_core::Interface::vtable(self).GetDocumentation)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrdocstring.unwrap_or(::std::ptr::null_mut())), pdwhelpcontext, ::core::mem::transmute(pbstrhelpfile.unwrap_or(::std::ptr::null_mut()))).ok()
5227 }
5228 #[doc = "Required features: `\"Win32_Foundation\"`"]
5229 #[cfg(feature = "Win32_Foundation")]
5230 pub unsafe fn IsName(&self, sznamebuf: ::windows_core::PWSTR, lhashval: u32, pfname: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> {
5231 (::windows_core::Interface::vtable(self).IsName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(sznamebuf), lhashval, pfname).ok()
5232 }
5233 pub unsafe fn FindName(&self, sznamebuf: ::windows_core::PWSTR, lhashval: u32, pptinfo: *mut ::core::option::Option<ITypeInfo>, rgmemid: *mut i32, pcfound: *mut u16) -> ::windows_core::Result<()> {
5234 (::windows_core::Interface::vtable(self).FindName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(sznamebuf), lhashval, ::core::mem::transmute(pptinfo), rgmemid, pcfound).ok()
5235 }
5236 pub unsafe fn ReleaseTLibAttr(&self, ptlibattr: *const TLIBATTR) {
5237 (::windows_core::Interface::vtable(self).ReleaseTLibAttr)(::windows_core::Interface::as_raw(self), ptlibattr)
5238 }
5239}
5240::windows_core::imp::interface_hierarchy!(ITypeLib, ::windows_core::IUnknown);
5241unsafe impl ::windows_core::Interface for ITypeLib {
5242 type Vtable = ITypeLib_Vtbl;
5243}
5244unsafe impl ::windows_core::ComInterface for ITypeLib {
5245 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00020402_0000_0000_c000_000000000046);
5246}
5247#[repr(C)]
5248#[doc(hidden)]
5249pub struct ITypeLib_Vtbl {
5250 pub base__: ::windows_core::IUnknown_Vtbl,
5251 pub GetTypeInfoCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> u32,
5252 pub GetTypeInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, pptinfo: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5253 pub GetTypeInfoType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, ptkind: *mut TYPEKIND) -> ::windows_core::HRESULT,
5254 pub GetTypeInfoOfGuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID, pptinfo: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5255 pub GetLibAttr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptlibattr: *mut *mut TLIBATTR) -> ::windows_core::HRESULT,
5256 pub GetTypeComp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptcomp: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5257 pub GetDocumentation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, pbstrname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pbstrdocstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5258 #[cfg(feature = "Win32_Foundation")]
5259 pub IsName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sznamebuf: ::windows_core::PWSTR, lhashval: u32, pfname: *mut super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
5260 #[cfg(not(feature = "Win32_Foundation"))]
5261 IsName: usize,
5262 pub FindName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sznamebuf: ::windows_core::PWSTR, lhashval: u32, pptinfo: *mut *mut ::core::ffi::c_void, rgmemid: *mut i32, pcfound: *mut u16) -> ::windows_core::HRESULT,
5263 pub ReleaseTLibAttr: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptlibattr: *const TLIBATTR),
5264}
5265#[repr(transparent)]
5266#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5267pub struct ITypeLib2(::windows_core::IUnknown);
5268impl ITypeLib2 {
5269 pub unsafe fn GetTypeInfoCount(&self) -> u32 {
5270 (::windows_core::Interface::vtable(self).base__.GetTypeInfoCount)(::windows_core::Interface::as_raw(self))
5271 }
5272 pub unsafe fn GetTypeInfo(&self, index: u32) -> ::windows_core::Result<ITypeInfo> {
5273 let mut result__ = ::std::mem::zeroed();
5274 (::windows_core::Interface::vtable(self).base__.GetTypeInfo)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5275 }
5276 pub unsafe fn GetTypeInfoType(&self, index: u32) -> ::windows_core::Result<TYPEKIND> {
5277 let mut result__ = ::std::mem::zeroed();
5278 (::windows_core::Interface::vtable(self).base__.GetTypeInfoType)(::windows_core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5279 }
5280 pub unsafe fn GetTypeInfoOfGuid(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result<ITypeInfo> {
5281 let mut result__ = ::std::mem::zeroed();
5282 (::windows_core::Interface::vtable(self).base__.GetTypeInfoOfGuid)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__)
5283 }
5284 pub unsafe fn GetLibAttr(&self) -> ::windows_core::Result<*mut TLIBATTR> {
5285 let mut result__ = ::std::mem::zeroed();
5286 (::windows_core::Interface::vtable(self).base__.GetLibAttr)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5287 }
5288 pub unsafe fn GetTypeComp(&self) -> ::windows_core::Result<ITypeComp> {
5289 let mut result__ = ::std::mem::zeroed();
5290 (::windows_core::Interface::vtable(self).base__.GetTypeComp)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5291 }
5292 pub unsafe fn GetDocumentation(&self, index: i32, pbstrname: ::core::option::Option<*mut ::windows_core::BSTR>, pbstrdocstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> {
5293 (::windows_core::Interface::vtable(self).base__.GetDocumentation)(::windows_core::Interface::as_raw(self), index, ::core::mem::transmute(pbstrname.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrdocstring.unwrap_or(::std::ptr::null_mut())), pdwhelpcontext, ::core::mem::transmute(pbstrhelpfile.unwrap_or(::std::ptr::null_mut()))).ok()
5294 }
5295 #[doc = "Required features: `\"Win32_Foundation\"`"]
5296 #[cfg(feature = "Win32_Foundation")]
5297 pub unsafe fn IsName(&self, sznamebuf: ::windows_core::PWSTR, lhashval: u32, pfname: *mut super::super::Foundation::BOOL) -> ::windows_core::Result<()> {
5298 (::windows_core::Interface::vtable(self).base__.IsName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(sznamebuf), lhashval, pfname).ok()
5299 }
5300 pub unsafe fn FindName(&self, sznamebuf: ::windows_core::PWSTR, lhashval: u32, pptinfo: *mut ::core::option::Option<ITypeInfo>, rgmemid: *mut i32, pcfound: *mut u16) -> ::windows_core::Result<()> {
5301 (::windows_core::Interface::vtable(self).base__.FindName)(::windows_core::Interface::as_raw(self), ::core::mem::transmute(sznamebuf), lhashval, ::core::mem::transmute(pptinfo), rgmemid, pcfound).ok()
5302 }
5303 pub unsafe fn ReleaseTLibAttr(&self, ptlibattr: *const TLIBATTR) {
5304 (::windows_core::Interface::vtable(self).base__.ReleaseTLibAttr)(::windows_core::Interface::as_raw(self), ptlibattr)
5305 }
5306 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5307 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5308 pub unsafe fn GetCustData(&self, guid: *const ::windows_core::GUID) -> ::windows_core::Result<super::Variant::VARIANT> {
5309 let mut result__ = ::std::mem::zeroed();
5310 (::windows_core::Interface::vtable(self).GetCustData)(::windows_core::Interface::as_raw(self), guid, &mut result__).from_abi(result__)
5311 }
5312 pub unsafe fn GetLibStatistics(&self, pcuniquenames: *mut u32, pcchuniquenames: *mut u32) -> ::windows_core::Result<()> {
5313 (::windows_core::Interface::vtable(self).GetLibStatistics)(::windows_core::Interface::as_raw(self), pcuniquenames, pcchuniquenames).ok()
5314 }
5315 pub unsafe fn GetDocumentation2(&self, index: i32, lcid: u32, pbstrhelpstring: ::core::option::Option<*mut ::windows_core::BSTR>, pdwhelpstringcontext: *mut u32, pbstrhelpstringdll: ::core::option::Option<*mut ::windows_core::BSTR>) -> ::windows_core::Result<()> {
5316 (::windows_core::Interface::vtable(self).GetDocumentation2)(::windows_core::Interface::as_raw(self), index, lcid, ::core::mem::transmute(pbstrhelpstring.unwrap_or(::std::ptr::null_mut())), pdwhelpstringcontext, ::core::mem::transmute(pbstrhelpstringdll.unwrap_or(::std::ptr::null_mut()))).ok()
5317 }
5318 #[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
5319 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5320 pub unsafe fn GetAllCustData(&self) -> ::windows_core::Result<CUSTDATA> {
5321 let mut result__ = ::std::mem::zeroed();
5322 (::windows_core::Interface::vtable(self).GetAllCustData)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5323 }
5324}
5325::windows_core::imp::interface_hierarchy!(ITypeLib2, ::windows_core::IUnknown, ITypeLib);
5326unsafe impl ::windows_core::Interface for ITypeLib2 {
5327 type Vtable = ITypeLib2_Vtbl;
5328}
5329unsafe impl ::windows_core::ComInterface for ITypeLib2 {
5330 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00020411_0000_0000_c000_000000000046);
5331}
5332#[repr(C)]
5333#[doc(hidden)]
5334pub struct ITypeLib2_Vtbl {
5335 pub base__: ITypeLib_Vtbl,
5336 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5337 pub GetCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *const ::windows_core::GUID, pvarval: *mut super::Variant::VARIANT) -> ::windows_core::HRESULT,
5338 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5339 GetCustData: usize,
5340 pub GetLibStatistics: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcuniquenames: *mut u32, pcchuniquenames: *mut u32) -> ::windows_core::HRESULT,
5341 pub GetDocumentation2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, lcid: u32, pbstrhelpstring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, pdwhelpstringcontext: *mut u32, pbstrhelpstringdll: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5342 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
5343 pub GetAllCustData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcustdata: *mut CUSTDATA) -> ::windows_core::HRESULT,
5344 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant")))]
5345 GetAllCustData: usize,
5346}
5347#[repr(transparent)]
5348#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5349pub struct ITypeLibRegistration(::windows_core::IUnknown);
5350impl ITypeLibRegistration {
5351 pub unsafe fn GetGuid(&self) -> ::windows_core::Result<::windows_core::GUID> {
5352 let mut result__ = ::std::mem::zeroed();
5353 (::windows_core::Interface::vtable(self).GetGuid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5354 }
5355 pub unsafe fn GetVersion(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5356 let mut result__ = ::std::mem::zeroed();
5357 (::windows_core::Interface::vtable(self).GetVersion)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5358 }
5359 pub unsafe fn GetLcid(&self) -> ::windows_core::Result<u32> {
5360 let mut result__ = ::std::mem::zeroed();
5361 (::windows_core::Interface::vtable(self).GetLcid)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5362 }
5363 pub unsafe fn GetWin32Path(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5364 let mut result__ = ::std::mem::zeroed();
5365 (::windows_core::Interface::vtable(self).GetWin32Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5366 }
5367 pub unsafe fn GetWin64Path(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5368 let mut result__ = ::std::mem::zeroed();
5369 (::windows_core::Interface::vtable(self).GetWin64Path)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5370 }
5371 pub unsafe fn GetDisplayName(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5372 let mut result__ = ::std::mem::zeroed();
5373 (::windows_core::Interface::vtable(self).GetDisplayName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5374 }
5375 pub unsafe fn GetFlags(&self) -> ::windows_core::Result<u32> {
5376 let mut result__ = ::std::mem::zeroed();
5377 (::windows_core::Interface::vtable(self).GetFlags)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5378 }
5379 pub unsafe fn GetHelpDir(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5380 let mut result__ = ::std::mem::zeroed();
5381 (::windows_core::Interface::vtable(self).GetHelpDir)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5382 }
5383}
5384::windows_core::imp::interface_hierarchy!(ITypeLibRegistration, ::windows_core::IUnknown);
5385unsafe impl ::windows_core::Interface for ITypeLibRegistration {
5386 type Vtable = ITypeLibRegistration_Vtbl;
5387}
5388unsafe impl ::windows_core::ComInterface for ITypeLibRegistration {
5389 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x76a3e735_02df_4a12_98eb_043ad3600af3);
5390}
5391#[repr(C)]
5392#[doc(hidden)]
5393pub struct ITypeLibRegistration_Vtbl {
5394 pub base__: ::windows_core::IUnknown_Vtbl,
5395 pub GetGuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguid: *mut ::windows_core::GUID) -> ::windows_core::HRESULT,
5396 pub GetVersion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pversion: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5397 pub GetLcid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plcid: *mut u32) -> ::windows_core::HRESULT,
5398 pub GetWin32Path: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwin32path: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5399 pub GetWin64Path: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwin64path: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5400 pub GetDisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdisplayname: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5401 pub GetFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pflags: *mut u32) -> ::windows_core::HRESULT,
5402 pub GetHelpDir: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phelpdir: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5403}
5404#[repr(transparent)]
5405#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5406pub struct ITypeLibRegistrationReader(::windows_core::IUnknown);
5407impl ITypeLibRegistrationReader {
5408 pub unsafe fn EnumTypeLibRegistrations(&self) -> ::windows_core::Result<IEnumUnknown> {
5409 let mut result__: *mut c_void = ::std::mem::zeroed();
5410 (::windows_core::Interface::vtable(self).EnumTypeLibRegistrations)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5411 }
5412}
5413::windows_core::imp::interface_hierarchy!(ITypeLibRegistrationReader, ::windows_core::IUnknown);
5414unsafe impl ::windows_core::Interface for ITypeLibRegistrationReader {
5415 type Vtable = ITypeLibRegistrationReader_Vtbl;
5416}
5417unsafe impl ::windows_core::ComInterface for ITypeLibRegistrationReader {
5418 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xed6a8a2a_b160_4e77_8f73_aa7435cd5c27);
5419}
5420#[repr(C)]
5421#[doc(hidden)]
5422pub struct ITypeLibRegistrationReader_Vtbl {
5423 pub base__: ::windows_core::IUnknown_Vtbl,
5424 pub EnumTypeLibRegistrations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumunknown: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5425}
5426#[repr(transparent)]
5427#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5428pub struct IUri(::windows_core::IUnknown);
5429impl IUri {
5430 pub unsafe fn GetPropertyBSTR(&self, uriprop: Uri_PROPERTY, pbstrproperty: *mut ::windows_core::BSTR, dwflags: u32) -> ::windows_core::Result<()> {
5431 (::windows_core::Interface::vtable(self).GetPropertyBSTR)(::windows_core::Interface::as_raw(self), uriprop, ::core::mem::transmute(pbstrproperty), dwflags).ok()
5432 }
5433 pub unsafe fn GetPropertyLength(&self, uriprop: Uri_PROPERTY, pcchproperty: *mut u32, dwflags: u32) -> ::windows_core::Result<()> {
5434 (::windows_core::Interface::vtable(self).GetPropertyLength)(::windows_core::Interface::as_raw(self), uriprop, pcchproperty, dwflags).ok()
5435 }
5436 pub unsafe fn GetPropertyDWORD(&self, uriprop: Uri_PROPERTY, pdwproperty: *mut u32, dwflags: u32) -> ::windows_core::Result<()> {
5437 (::windows_core::Interface::vtable(self).GetPropertyDWORD)(::windows_core::Interface::as_raw(self), uriprop, pdwproperty, dwflags).ok()
5438 }
5439 #[doc = "Required features: `\"Win32_Foundation\"`"]
5440 #[cfg(feature = "Win32_Foundation")]
5441 pub unsafe fn HasProperty(&self, uriprop: Uri_PROPERTY) -> ::windows_core::Result<super::super::Foundation::BOOL> {
5442 let mut result__ = ::std::mem::zeroed();
5443 (::windows_core::Interface::vtable(self).HasProperty)(::windows_core::Interface::as_raw(self), uriprop, &mut result__).from_abi(result__)
5444 }
5445 pub unsafe fn GetAbsoluteUri(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5446 let mut result__ = ::std::mem::zeroed();
5447 (::windows_core::Interface::vtable(self).GetAbsoluteUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5448 }
5449 pub unsafe fn GetAuthority(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5450 let mut result__ = ::std::mem::zeroed();
5451 (::windows_core::Interface::vtable(self).GetAuthority)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5452 }
5453 pub unsafe fn GetDisplayUri(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5454 let mut result__ = ::std::mem::zeroed();
5455 (::windows_core::Interface::vtable(self).GetDisplayUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5456 }
5457 pub unsafe fn GetDomain(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5458 let mut result__ = ::std::mem::zeroed();
5459 (::windows_core::Interface::vtable(self).GetDomain)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5460 }
5461 pub unsafe fn GetExtension(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5462 let mut result__ = ::std::mem::zeroed();
5463 (::windows_core::Interface::vtable(self).GetExtension)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5464 }
5465 pub unsafe fn GetFragment(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5466 let mut result__ = ::std::mem::zeroed();
5467 (::windows_core::Interface::vtable(self).GetFragment)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5468 }
5469 pub unsafe fn GetHost(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5470 let mut result__ = ::std::mem::zeroed();
5471 (::windows_core::Interface::vtable(self).GetHost)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5472 }
5473 pub unsafe fn GetPassword(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5474 let mut result__ = ::std::mem::zeroed();
5475 (::windows_core::Interface::vtable(self).GetPassword)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5476 }
5477 pub unsafe fn GetPath(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5478 let mut result__ = ::std::mem::zeroed();
5479 (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5480 }
5481 pub unsafe fn GetPathAndQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5482 let mut result__ = ::std::mem::zeroed();
5483 (::windows_core::Interface::vtable(self).GetPathAndQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5484 }
5485 pub unsafe fn GetQuery(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5486 let mut result__ = ::std::mem::zeroed();
5487 (::windows_core::Interface::vtable(self).GetQuery)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5488 }
5489 pub unsafe fn GetRawUri(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5490 let mut result__ = ::std::mem::zeroed();
5491 (::windows_core::Interface::vtable(self).GetRawUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5492 }
5493 pub unsafe fn GetSchemeName(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5494 let mut result__ = ::std::mem::zeroed();
5495 (::windows_core::Interface::vtable(self).GetSchemeName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5496 }
5497 pub unsafe fn GetUserInfo(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5498 let mut result__ = ::std::mem::zeroed();
5499 (::windows_core::Interface::vtable(self).GetUserInfo)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5500 }
5501 pub unsafe fn GetUserName(&self) -> ::windows_core::Result<::windows_core::BSTR> {
5502 let mut result__ = ::std::mem::zeroed();
5503 (::windows_core::Interface::vtable(self).GetUserName)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5504 }
5505 pub unsafe fn GetHostType(&self) -> ::windows_core::Result<u32> {
5506 let mut result__ = ::std::mem::zeroed();
5507 (::windows_core::Interface::vtable(self).GetHostType)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5508 }
5509 pub unsafe fn GetPort(&self) -> ::windows_core::Result<u32> {
5510 let mut result__ = ::std::mem::zeroed();
5511 (::windows_core::Interface::vtable(self).GetPort)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5512 }
5513 pub unsafe fn GetScheme(&self) -> ::windows_core::Result<u32> {
5514 let mut result__ = ::std::mem::zeroed();
5515 (::windows_core::Interface::vtable(self).GetScheme)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5516 }
5517 pub unsafe fn GetZone(&self) -> ::windows_core::Result<u32> {
5518 let mut result__ = ::std::mem::zeroed();
5519 (::windows_core::Interface::vtable(self).GetZone)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5520 }
5521 pub unsafe fn GetProperties(&self) -> ::windows_core::Result<u32> {
5522 let mut result__ = ::std::mem::zeroed();
5523 (::windows_core::Interface::vtable(self).GetProperties)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5524 }
5525 #[doc = "Required features: `\"Win32_Foundation\"`"]
5526 #[cfg(feature = "Win32_Foundation")]
5527 pub unsafe fn IsEqual<P0>(&self, puri: P0) -> ::windows_core::Result<super::super::Foundation::BOOL>
5528 where
5529 P0: ::windows_core::IntoParam<IUri>,
5530 {
5531 let mut result__ = ::std::mem::zeroed();
5532 (::windows_core::Interface::vtable(self).IsEqual)(::windows_core::Interface::as_raw(self), puri.into_param().abi(), &mut result__).from_abi(result__)
5533 }
5534}
5535::windows_core::imp::interface_hierarchy!(IUri, ::windows_core::IUnknown);
5536unsafe impl ::windows_core::Interface for IUri {
5537 type Vtable = IUri_Vtbl;
5538}
5539unsafe impl ::windows_core::ComInterface for IUri {
5540 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0xa39ee748_6a27_4817_a6f2_13914bef5890);
5541}
5542#[repr(C)]
5543#[doc(hidden)]
5544pub struct IUri_Vtbl {
5545 pub base__: ::windows_core::IUnknown_Vtbl,
5546 pub GetPropertyBSTR: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uriprop: Uri_PROPERTY, pbstrproperty: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>, dwflags: u32) -> ::windows_core::HRESULT,
5547 pub GetPropertyLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uriprop: Uri_PROPERTY, pcchproperty: *mut u32, dwflags: u32) -> ::windows_core::HRESULT,
5548 pub GetPropertyDWORD: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uriprop: Uri_PROPERTY, pdwproperty: *mut u32, dwflags: u32) -> ::windows_core::HRESULT,
5549 #[cfg(feature = "Win32_Foundation")]
5550 pub HasProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uriprop: Uri_PROPERTY, pfhasproperty: *mut super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
5551 #[cfg(not(feature = "Win32_Foundation"))]
5552 HasProperty: usize,
5553 pub GetAbsoluteUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrabsoluteuri: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5554 pub GetAuthority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrauthority: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5555 pub GetDisplayUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdisplaystring: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5556 pub GetDomain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrdomain: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5557 pub GetExtension: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrextension: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5558 pub GetFragment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrfragment: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5559 pub GetHost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrhost: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5560 pub GetPassword: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrpassword: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5561 pub GetPath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrpath: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5562 pub GetPathAndQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrpathandquery: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5563 pub GetQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrquery: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5564 pub GetRawUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrrawuri: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5565 pub GetSchemeName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrschemename: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5566 pub GetUserInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstruserinfo: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5567 pub GetUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrusername: *mut ::std::mem::MaybeUninit<::windows_core::BSTR>) -> ::windows_core::HRESULT,
5568 pub GetHostType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwhosttype: *mut u32) -> ::windows_core::HRESULT,
5569 pub GetPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwport: *mut u32) -> ::windows_core::HRESULT,
5570 pub GetScheme: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwscheme: *mut u32) -> ::windows_core::HRESULT,
5571 pub GetZone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwzone: *mut u32) -> ::windows_core::HRESULT,
5572 pub GetProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwflags: *mut u32) -> ::windows_core::HRESULT,
5573 #[cfg(feature = "Win32_Foundation")]
5574 pub IsEqual: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, puri: *mut ::core::ffi::c_void, pfequal: *mut super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
5575 #[cfg(not(feature = "Win32_Foundation"))]
5576 IsEqual: usize,
5577}
5578#[repr(transparent)]
5579#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5580pub struct IUriBuilder(::windows_core::IUnknown);
5581impl IUriBuilder {
5582 pub unsafe fn CreateUriSimple(&self, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows_core::Result<IUri> {
5583 let mut result__ = ::std::mem::zeroed();
5584 (::windows_core::Interface::vtable(self).CreateUriSimple)(::windows_core::Interface::as_raw(self), dwallowencodingpropertymask, dwreserved, &mut result__).from_abi(result__)
5585 }
5586 pub unsafe fn CreateUri(&self, dwcreateflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows_core::Result<IUri> {
5587 let mut result__ = ::std::mem::zeroed();
5588 (::windows_core::Interface::vtable(self).CreateUri)(::windows_core::Interface::as_raw(self), dwcreateflags, dwallowencodingpropertymask, dwreserved, &mut result__).from_abi(result__)
5589 }
5590 pub unsafe fn CreateUriWithFlags(&self, dwcreateflags: u32, dwuribuilderflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows_core::Result<IUri> {
5591 let mut result__ = ::std::mem::zeroed();
5592 (::windows_core::Interface::vtable(self).CreateUriWithFlags)(::windows_core::Interface::as_raw(self), dwcreateflags, dwuribuilderflags, dwallowencodingpropertymask, dwreserved, &mut result__).from_abi(result__)
5593 }
5594 pub unsafe fn GetIUri(&self) -> ::windows_core::Result<IUri> {
5595 let mut result__ = ::std::mem::zeroed();
5596 (::windows_core::Interface::vtable(self).GetIUri)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5597 }
5598 pub unsafe fn SetIUri<P0>(&self, piuri: P0) -> ::windows_core::Result<()>
5599 where
5600 P0: ::windows_core::IntoParam<IUri>,
5601 {
5602 (::windows_core::Interface::vtable(self).SetIUri)(::windows_core::Interface::as_raw(self), piuri.into_param().abi()).ok()
5603 }
5604 pub unsafe fn GetFragment(&self, pcchfragment: *mut u32, ppwzfragment: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5605 (::windows_core::Interface::vtable(self).GetFragment)(::windows_core::Interface::as_raw(self), pcchfragment, ppwzfragment).ok()
5606 }
5607 pub unsafe fn GetHost(&self, pcchhost: *mut u32, ppwzhost: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5608 (::windows_core::Interface::vtable(self).GetHost)(::windows_core::Interface::as_raw(self), pcchhost, ppwzhost).ok()
5609 }
5610 pub unsafe fn GetPassword(&self, pcchpassword: *mut u32, ppwzpassword: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5611 (::windows_core::Interface::vtable(self).GetPassword)(::windows_core::Interface::as_raw(self), pcchpassword, ppwzpassword).ok()
5612 }
5613 pub unsafe fn GetPath(&self, pcchpath: *mut u32, ppwzpath: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5614 (::windows_core::Interface::vtable(self).GetPath)(::windows_core::Interface::as_raw(self), pcchpath, ppwzpath).ok()
5615 }
5616 #[doc = "Required features: `\"Win32_Foundation\"`"]
5617 #[cfg(feature = "Win32_Foundation")]
5618 pub unsafe fn GetPort(&self, pfhasport: *mut super::super::Foundation::BOOL, pdwport: *mut u32) -> ::windows_core::Result<()> {
5619 (::windows_core::Interface::vtable(self).GetPort)(::windows_core::Interface::as_raw(self), pfhasport, pdwport).ok()
5620 }
5621 pub unsafe fn GetQuery(&self, pcchquery: *mut u32, ppwzquery: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5622 (::windows_core::Interface::vtable(self).GetQuery)(::windows_core::Interface::as_raw(self), pcchquery, ppwzquery).ok()
5623 }
5624 pub unsafe fn GetSchemeName(&self, pcchschemename: *mut u32, ppwzschemename: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5625 (::windows_core::Interface::vtable(self).GetSchemeName)(::windows_core::Interface::as_raw(self), pcchschemename, ppwzschemename).ok()
5626 }
5627 pub unsafe fn GetUserName(&self, pcchusername: *mut u32, ppwzusername: *mut ::windows_core::PCWSTR) -> ::windows_core::Result<()> {
5628 (::windows_core::Interface::vtable(self).GetUserName)(::windows_core::Interface::as_raw(self), pcchusername, ppwzusername).ok()
5629 }
5630 pub unsafe fn SetFragment<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5631 where
5632 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5633 {
5634 (::windows_core::Interface::vtable(self).SetFragment)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5635 }
5636 pub unsafe fn SetHost<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5637 where
5638 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5639 {
5640 (::windows_core::Interface::vtable(self).SetHost)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5641 }
5642 pub unsafe fn SetPassword<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5643 where
5644 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5645 {
5646 (::windows_core::Interface::vtable(self).SetPassword)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5647 }
5648 pub unsafe fn SetPath<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5649 where
5650 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5651 {
5652 (::windows_core::Interface::vtable(self).SetPath)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5653 }
5654 #[doc = "Required features: `\"Win32_Foundation\"`"]
5655 #[cfg(feature = "Win32_Foundation")]
5656 pub unsafe fn SetPort<P0>(&self, fhasport: P0, dwnewvalue: u32) -> ::windows_core::Result<()>
5657 where
5658 P0: ::windows_core::IntoParam<super::super::Foundation::BOOL>,
5659 {
5660 (::windows_core::Interface::vtable(self).SetPort)(::windows_core::Interface::as_raw(self), fhasport.into_param().abi(), dwnewvalue).ok()
5661 }
5662 pub unsafe fn SetQuery<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5663 where
5664 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5665 {
5666 (::windows_core::Interface::vtable(self).SetQuery)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5667 }
5668 pub unsafe fn SetSchemeName<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5669 where
5670 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5671 {
5672 (::windows_core::Interface::vtable(self).SetSchemeName)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5673 }
5674 pub unsafe fn SetUserName<P0>(&self, pwznewvalue: P0) -> ::windows_core::Result<()>
5675 where
5676 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5677 {
5678 (::windows_core::Interface::vtable(self).SetUserName)(::windows_core::Interface::as_raw(self), pwznewvalue.into_param().abi()).ok()
5679 }
5680 pub unsafe fn RemoveProperties(&self, dwpropertymask: u32) -> ::windows_core::Result<()> {
5681 (::windows_core::Interface::vtable(self).RemoveProperties)(::windows_core::Interface::as_raw(self), dwpropertymask).ok()
5682 }
5683 #[doc = "Required features: `\"Win32_Foundation\"`"]
5684 #[cfg(feature = "Win32_Foundation")]
5685 pub unsafe fn HasBeenModified(&self) -> ::windows_core::Result<super::super::Foundation::BOOL> {
5686 let mut result__ = ::std::mem::zeroed();
5687 (::windows_core::Interface::vtable(self).HasBeenModified)(::windows_core::Interface::as_raw(self), &mut result__).from_abi(result__)
5688 }
5689}
5690::windows_core::imp::interface_hierarchy!(IUriBuilder, ::windows_core::IUnknown);
5691unsafe impl ::windows_core::Interface for IUriBuilder {
5692 type Vtable = IUriBuilder_Vtbl;
5693}
5694unsafe impl ::windows_core::ComInterface for IUriBuilder {
5695 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x4221b2e1_8955_46c0_bd5b_de9897565de7);
5696}
5697#[repr(C)]
5698#[doc(hidden)]
5699pub struct IUriBuilder_Vtbl {
5700 pub base__: ::windows_core::IUnknown_Vtbl,
5701 pub CreateUriSimple: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwallowencodingpropertymask: u32, dwreserved: usize, ppiuri: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5702 pub CreateUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcreateflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize, ppiuri: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5703 pub CreateUriWithFlags: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwcreateflags: u32, dwuribuilderflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize, ppiuri: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5704 pub GetIUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppiuri: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5705 pub SetIUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, piuri: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5706 pub GetFragment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchfragment: *mut u32, ppwzfragment: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5707 pub GetHost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchhost: *mut u32, ppwzhost: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5708 pub GetPassword: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchpassword: *mut u32, ppwzpassword: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5709 pub GetPath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchpath: *mut u32, ppwzpath: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5710 #[cfg(feature = "Win32_Foundation")]
5711 pub GetPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfhasport: *mut super::super::Foundation::BOOL, pdwport: *mut u32) -> ::windows_core::HRESULT,
5712 #[cfg(not(feature = "Win32_Foundation"))]
5713 GetPort: usize,
5714 pub GetQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchquery: *mut u32, ppwzquery: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5715 pub GetSchemeName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchschemename: *mut u32, ppwzschemename: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5716 pub GetUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcchusername: *mut u32, ppwzusername: *mut ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5717 pub SetFragment: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5718 pub SetHost: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5719 pub SetPassword: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5720 pub SetPath: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5721 #[cfg(feature = "Win32_Foundation")]
5722 pub SetPort: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fhasport: super::super::Foundation::BOOL, dwnewvalue: u32) -> ::windows_core::HRESULT,
5723 #[cfg(not(feature = "Win32_Foundation"))]
5724 SetPort: usize,
5725 pub SetQuery: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5726 pub SetSchemeName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5727 pub SetUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwznewvalue: ::windows_core::PCWSTR) -> ::windows_core::HRESULT,
5728 pub RemoveProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwpropertymask: u32) -> ::windows_core::HRESULT,
5729 #[cfg(feature = "Win32_Foundation")]
5730 pub HasBeenModified: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfmodified: *mut super::super::Foundation::BOOL) -> ::windows_core::HRESULT,
5731 #[cfg(not(feature = "Win32_Foundation"))]
5732 HasBeenModified: usize,
5733}
5734#[repr(transparent)]
5735#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5736pub struct IUrlMon(::windows_core::IUnknown);
5737impl IUrlMon {
5738 pub unsafe fn AsyncGetClassBits<P0, P1, P2, P3>(&self, rclsid: *const ::windows_core::GUID, psztype: P0, pszext: P1, dwfileversionms: u32, dwfileversionls: u32, pszcodebase: P2, pbc: P3, dwclasscontext: u32, riid: *const ::windows_core::GUID, flags: u32) -> ::windows_core::Result<()>
5739 where
5740 P0: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5741 P1: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5742 P2: ::windows_core::IntoParam<::windows_core::PCWSTR>,
5743 P3: ::windows_core::IntoParam<IBindCtx>,
5744 {
5745 (::windows_core::Interface::vtable(self).AsyncGetClassBits)(::windows_core::Interface::as_raw(self), rclsid, psztype.into_param().abi(), pszext.into_param().abi(), dwfileversionms, dwfileversionls, pszcodebase.into_param().abi(), pbc.into_param().abi(), dwclasscontext, riid, flags).ok()
5746 }
5747}
5748::windows_core::imp::interface_hierarchy!(IUrlMon, ::windows_core::IUnknown);
5749unsafe impl ::windows_core::Interface for IUrlMon {
5750 type Vtable = IUrlMon_Vtbl;
5751}
5752unsafe impl ::windows_core::ComInterface for IUrlMon {
5753 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x00000026_0000_0000_c000_000000000046);
5754}
5755#[repr(C)]
5756#[doc(hidden)]
5757pub struct IUrlMon_Vtbl {
5758 pub base__: ::windows_core::IUnknown_Vtbl,
5759 pub AsyncGetClassBits: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rclsid: *const ::windows_core::GUID, psztype: ::windows_core::PCWSTR, pszext: ::windows_core::PCWSTR, dwfileversionms: u32, dwfileversionls: u32, pszcodebase: ::windows_core::PCWSTR, pbc: *mut ::core::ffi::c_void, dwclasscontext: u32, riid: *const ::windows_core::GUID, flags: u32) -> ::windows_core::HRESULT,
5760}
5761#[repr(transparent)]
5762#[derive(::core::cmp::PartialEq, ::core::cmp::Eq, ::core::fmt::Debug, ::core::clone::Clone)]
5763pub struct IWaitMultiple(::windows_core::IUnknown);
5764impl IWaitMultiple {
5765 pub unsafe fn WaitMultiple(&self, timeout: u32) -> ::windows_core::Result<ISynchronize> {
5766 let mut result__: *mut c_void = ::std::mem::zeroed();
5767 (::windows_core::Interface::vtable(self).WaitMultiple)(::windows_core::Interface::as_raw(self), timeout, &mut result__).from_abi(result__)
5768 }
5769 pub unsafe fn AddSynchronize<P0>(&self, psync: P0) -> ::windows_core::Result<()>
5770 where
5771 P0: ::windows_core::IntoParam<ISynchronize>,
5772 {
5773 (::windows_core::Interface::vtable(self).AddSynchronize)(::windows_core::Interface::as_raw(self), psync.into_param().abi()).ok()
5774 }
5775}
5776::windows_core::imp::interface_hierarchy!(IWaitMultiple, ::windows_core::IUnknown);
5777unsafe impl ::windows_core::Interface for IWaitMultiple {
5778 type Vtable = IWaitMultiple_Vtbl;
5779}
5780unsafe impl ::windows_core::ComInterface for IWaitMultiple {
5781 const IID: ::windows_core::GUID = ::windows_core::GUID::from_u128(uuid:0x0000002b_0000_0000_c000_000000000046);
5782}
5783#[repr(C)]
5784#[doc(hidden)]
5785pub struct IWaitMultiple_Vtbl {
5786 pub base__: ::windows_core::IUnknown_Vtbl,
5787 pub WaitMultiple: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, timeout: u32, psync: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5788 pub AddSynchronize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psync: *mut ::core::ffi::c_void) -> ::windows_core::HRESULT,
5789}
5790pub const ADVFCACHE_FORCEBUILTIN: ADVF = ADVF(16i32);
5791pub const ADVFCACHE_NOHANDLER: ADVF = ADVF(8i32);
5792pub const ADVFCACHE_ONSAVE: ADVF = ADVF(32i32);
5793pub const ADVF_DATAONSTOP: ADVF = ADVF(64i32);
5794pub const ADVF_NODATA: ADVF = ADVF(1i32);
5795pub const ADVF_ONLYONCE: ADVF = ADVF(4i32);
5796pub const ADVF_PRIMEFIRST: ADVF = ADVF(2i32);
5797pub const APPIDREGFLAGS_AAA_NO_IMPLICIT_ACTIVATE_AS_IU: u32 = 2048u32;
5798pub const APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP: u32 = 1u32;
5799pub const APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY: u32 = 4u32;
5800pub const APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY: u32 = 32u32;
5801pub const APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION: u32 = 16u32;
5802pub const APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN: u32 = 8u32;
5803pub const APPIDREGFLAGS_RESERVED1: u32 = 64u32;
5804pub const APPIDREGFLAGS_RESERVED2: u32 = 128u32;
5805pub const APPIDREGFLAGS_RESERVED3: u32 = 256u32;
5806pub const APPIDREGFLAGS_RESERVED4: u32 = 512u32;
5807pub const APPIDREGFLAGS_RESERVED5: u32 = 1024u32;
5808pub const APPIDREGFLAGS_RESERVED7: u32 = 4096u32;
5809pub const APPIDREGFLAGS_RESERVED8: u32 = 8192u32;
5810pub const APPIDREGFLAGS_RESERVED9: u32 = 16384u32;
5811pub const APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND: u32 = 2u32;
5812pub const APTTYPEQUALIFIER_APPLICATION_STA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(6i32);
5813pub const APTTYPEQUALIFIER_IMPLICIT_MTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(1i32);
5814pub const APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(4i32);
5815pub const APTTYPEQUALIFIER_NA_ON_MAINSTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(5i32);
5816pub const APTTYPEQUALIFIER_NA_ON_MTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(2i32);
5817pub const APTTYPEQUALIFIER_NA_ON_STA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(3i32);
5818pub const APTTYPEQUALIFIER_NONE: APTTYPEQUALIFIER = APTTYPEQUALIFIER(0i32);
5819pub const APTTYPEQUALIFIER_RESERVED_1: APTTYPEQUALIFIER = APTTYPEQUALIFIER(7i32);
5820pub const APTTYPE_CURRENT: APTTYPE = APTTYPE(-1i32);
5821pub const APTTYPE_MAINSTA: APTTYPE = APTTYPE(3i32);
5822pub const APTTYPE_MTA: APTTYPE = APTTYPE(1i32);
5823pub const APTTYPE_NA: APTTYPE = APTTYPE(2i32);
5824pub const APTTYPE_STA: APTTYPE = APTTYPE(0i32);
5825pub const ASYNC_MODE_COMPATIBILITY: i32 = 1i32;
5826pub const ASYNC_MODE_DEFAULT: i32 = 0i32;
5827pub const BINDINFOF_URLENCODEDEXTRAINFO: BINDINFOF = BINDINFOF(2i32);
5828pub const BINDINFOF_URLENCODESTGMEDDATA: BINDINFOF = BINDINFOF(1i32);
5829pub const BIND_JUSTTESTEXISTENCE: BIND_FLAGS = BIND_FLAGS(2i32);
5830pub const BIND_MAYBOTHERUSER: BIND_FLAGS = BIND_FLAGS(1i32);
5831pub const CALLTYPE_ASYNC: CALLTYPE = CALLTYPE(3i32);
5832pub const CALLTYPE_ASYNC_CALLPENDING: CALLTYPE = CALLTYPE(5i32);
5833pub const CALLTYPE_NESTED: CALLTYPE = CALLTYPE(2i32);
5834pub const CALLTYPE_TOPLEVEL: CALLTYPE = CALLTYPE(1i32);
5835pub const CALLTYPE_TOPLEVEL_CALLPENDING: CALLTYPE = CALLTYPE(4i32);
5836pub const CC_CDECL: CALLCONV = CALLCONV(1i32);
5837pub const CC_FASTCALL: CALLCONV = CALLCONV(0i32);
5838pub const CC_FPFASTCALL: CALLCONV = CALLCONV(5i32);
5839pub const CC_MACPASCAL: CALLCONV = CALLCONV(3i32);
5840pub const CC_MAX: CALLCONV = CALLCONV(9i32);
5841pub const CC_MPWCDECL: CALLCONV = CALLCONV(7i32);
5842pub const CC_MPWPASCAL: CALLCONV = CALLCONV(8i32);
5843pub const CC_MSCPASCAL: CALLCONV = CALLCONV(2i32);
5844pub const CC_PASCAL: CALLCONV = CALLCONV(2i32);
5845pub const CC_STDCALL: CALLCONV = CALLCONV(4i32);
5846pub const CC_SYSCALL: CALLCONV = CALLCONV(6i32);
5847pub const CLSCTX_ACTIVATE_32_BIT_SERVER: CLSCTX = CLSCTX(262144u32);
5848pub const CLSCTX_ACTIVATE_64_BIT_SERVER: CLSCTX = CLSCTX(524288u32);
5849pub const CLSCTX_ACTIVATE_AAA_AS_IU: CLSCTX = CLSCTX(8388608u32);
5850pub const CLSCTX_ACTIVATE_ARM32_SERVER: CLSCTX = CLSCTX(33554432u32);
5851pub const CLSCTX_ACTIVATE_X86_SERVER: CLSCTX = CLSCTX(262144u32);
5852pub const CLSCTX_ALL: CLSCTX = CLSCTX(23u32);
5853pub const CLSCTX_ALLOW_LOWER_TRUST_REGISTRATION: CLSCTX = CLSCTX(67108864u32);
5854pub const CLSCTX_APPCONTAINER: CLSCTX = CLSCTX(4194304u32);
5855pub const CLSCTX_DISABLE_AAA: CLSCTX = CLSCTX(32768u32);
5856pub const CLSCTX_ENABLE_AAA: CLSCTX = CLSCTX(65536u32);
5857pub const CLSCTX_ENABLE_CLOAKING: CLSCTX = CLSCTX(1048576u32);
5858pub const CLSCTX_ENABLE_CODE_DOWNLOAD: CLSCTX = CLSCTX(8192u32);
5859pub const CLSCTX_FROM_DEFAULT_CONTEXT: CLSCTX = CLSCTX(131072u32);
5860pub const CLSCTX_INPROC_HANDLER: CLSCTX = CLSCTX(2u32);
5861pub const CLSCTX_INPROC_HANDLER16: CLSCTX = CLSCTX(32u32);
5862pub const CLSCTX_INPROC_SERVER: CLSCTX = CLSCTX(1u32);
5863pub const CLSCTX_INPROC_SERVER16: CLSCTX = CLSCTX(8u32);
5864pub const CLSCTX_LOCAL_SERVER: CLSCTX = CLSCTX(4u32);
5865pub const CLSCTX_NO_CODE_DOWNLOAD: CLSCTX = CLSCTX(1024u32);
5866pub const CLSCTX_NO_CUSTOM_MARSHAL: CLSCTX = CLSCTX(4096u32);
5867pub const CLSCTX_NO_FAILURE_LOG: CLSCTX = CLSCTX(16384u32);
5868pub const CLSCTX_PS_DLL: CLSCTX = CLSCTX(2147483648u32);
5869pub const CLSCTX_REMOTE_SERVER: CLSCTX = CLSCTX(16u32);
5870pub const CLSCTX_RESERVED1: CLSCTX = CLSCTX(64u32);
5871pub const CLSCTX_RESERVED2: CLSCTX = CLSCTX(128u32);
5872pub const CLSCTX_RESERVED3: CLSCTX = CLSCTX(256u32);
5873pub const CLSCTX_RESERVED4: CLSCTX = CLSCTX(512u32);
5874pub const CLSCTX_RESERVED5: CLSCTX = CLSCTX(2048u32);
5875pub const CLSCTX_RESERVED6: CLSCTX = CLSCTX(16777216u32);
5876pub const CLSCTX_SERVER: CLSCTX = CLSCTX(21u32);
5877pub const COINITBASE_MULTITHREADED: COINITBASE = COINITBASE(0i32);
5878pub const COINIT_APARTMENTTHREADED: COINIT = COINIT(2i32);
5879pub const COINIT_DISABLE_OLE1DDE: COINIT = COINIT(4i32);
5880pub const COINIT_MULTITHREADED: COINIT = COINIT(0i32);
5881pub const COINIT_SPEED_OVER_MEMORY: COINIT = COINIT(8i32);
5882pub const COLE_DEFAULT_AUTHINFO: i32 = -1i32;
5883pub const COLE_DEFAULT_PRINCIPAL: ::windows_core::PCWSTR = ::windows_core::PCWSTR(-1i32 as _);
5884pub const COMBND_RESERVED1: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(4i32);
5885pub const COMBND_RESERVED2: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(5i32);
5886pub const COMBND_RESERVED3: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(8i32);
5887pub const COMBND_RESERVED4: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(16i32);
5888pub const COMBND_RPCTIMEOUT: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(1i32);
5889pub const COMBND_SERVER_LOCALITY: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(2i32);
5890pub const COMGLB_APPID: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(2i32);
5891pub const COMGLB_EXCEPTION_DONOT_HANDLE: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(1i32);
5892pub const COMGLB_EXCEPTION_DONOT_HANDLE_ANY: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(2i32);
5893pub const COMGLB_EXCEPTION_DONOT_HANDLE_FATAL: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(1i32);
5894pub const COMGLB_EXCEPTION_HANDLE: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(0i32);
5895pub const COMGLB_EXCEPTION_HANDLING: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(1i32);
5896pub const COMGLB_FAST_RUNDOWN: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(8i32);
5897pub const COMGLB_PROPERTIES_RESERVED1: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(6i32);
5898pub const COMGLB_PROPERTIES_RESERVED2: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(7i32);
5899pub const COMGLB_PROPERTIES_RESERVED3: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(8i32);
5900pub const COMGLB_RESERVED1: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(16i32);
5901pub const COMGLB_RESERVED2: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(32i32);
5902pub const COMGLB_RESERVED3: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(64i32);
5903pub const COMGLB_RESERVED4: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(256i32);
5904pub const COMGLB_RESERVED5: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(512i32);
5905pub const COMGLB_RESERVED6: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(1024i32);
5906pub const COMGLB_RO_SETTINGS: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(4i32);
5907pub const COMGLB_RPC_THREADPOOL_SETTING: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(3i32);
5908pub const COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL: GLOBALOPT_RPCTP_VALUES = GLOBALOPT_RPCTP_VALUES(0i32);
5909pub const COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL: GLOBALOPT_RPCTP_VALUES = GLOBALOPT_RPCTP_VALUES(1i32);
5910pub const COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(1i32);
5911pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(4i32);
5912pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(2i32);
5913pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(128i32);
5914pub const COMGLB_UNMARSHALING_POLICY: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(5i32);
5915pub const COMGLB_UNMARSHALING_POLICY_HYBRID: GLOBALOPT_UNMARSHALING_POLICY_VALUES = GLOBALOPT_UNMARSHALING_POLICY_VALUES(2i32);
5916pub const COMGLB_UNMARSHALING_POLICY_NORMAL: GLOBALOPT_UNMARSHALING_POLICY_VALUES = GLOBALOPT_UNMARSHALING_POLICY_VALUES(0i32);
5917pub const COMGLB_UNMARSHALING_POLICY_STRONG: GLOBALOPT_UNMARSHALING_POLICY_VALUES = GLOBALOPT_UNMARSHALING_POLICY_VALUES(1i32);
5918pub const COM_RIGHTS_ACTIVATE_LOCAL: u32 = 8u32;
5919pub const COM_RIGHTS_ACTIVATE_REMOTE: u32 = 16u32;
5920pub const COM_RIGHTS_EXECUTE: u32 = 1u32;
5921pub const COM_RIGHTS_EXECUTE_LOCAL: u32 = 2u32;
5922pub const COM_RIGHTS_EXECUTE_REMOTE: u32 = 4u32;
5923pub const COM_RIGHTS_RESERVED1: u32 = 32u32;
5924pub const COM_RIGHTS_RESERVED2: u32 = 64u32;
5925pub const COWAIT_ALERTABLE: COWAIT_FLAGS = COWAIT_FLAGS(2i32);
5926pub const COWAIT_DEFAULT: COWAIT_FLAGS = COWAIT_FLAGS(0i32);
5927pub const COWAIT_DISPATCH_CALLS: COWAIT_FLAGS = COWAIT_FLAGS(8i32);
5928pub const COWAIT_DISPATCH_WINDOW_MESSAGES: COWAIT_FLAGS = COWAIT_FLAGS(16i32);
5929pub const COWAIT_INPUTAVAILABLE: COWAIT_FLAGS = COWAIT_FLAGS(4i32);
5930pub const COWAIT_WAITALL: COWAIT_FLAGS = COWAIT_FLAGS(1i32);
5931pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483648i32);
5932pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_10: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483639i32);
5933pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_11: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483638i32);
5934pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_12: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483637i32);
5935pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_13: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483636i32);
5936pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_14: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483635i32);
5937pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_15: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483634i32);
5938pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_16: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483633i32);
5939pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_17: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483632i32);
5940pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_18: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483631i32);
5941pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483647i32);
5942pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483646i32);
5943pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483645i32);
5944pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483644i32);
5945pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483643i32);
5946pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483642i32);
5947pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483641i32);
5948pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483640i32);
5949pub const CO_MARSHALING_SOURCE_IS_APP_CONTAINER: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(0i32);
5950pub const CWMO_DEFAULT: CWMO_FLAGS = CWMO_FLAGS(0i32);
5951pub const CWMO_DISPATCH_CALLS: CWMO_FLAGS = CWMO_FLAGS(1i32);
5952pub const CWMO_DISPATCH_WINDOW_MESSAGES: CWMO_FLAGS = CWMO_FLAGS(2i32);
5953pub const CWMO_MAX_HANDLES: u32 = 56u32;
5954pub const DATADIR_GET: DATADIR = DATADIR(1i32);
5955pub const DATADIR_SET: DATADIR = DATADIR(2i32);
5956pub const DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL: u32 = 2u32;
5957pub const DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES: u32 = 1u32;
5958pub const DCOMSCM_PING_DISALLOW_UNSECURE_CALL: u32 = 32u32;
5959pub const DCOMSCM_PING_USE_MID_AUTHNSERVICE: u32 = 16u32;
5960pub const DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL: u32 = 8u32;
5961pub const DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES: u32 = 4u32;
5962pub const DCOM_CALL_CANCELED: DCOM_CALL_STATE = DCOM_CALL_STATE(2i32);
5963pub const DCOM_CALL_COMPLETE: DCOM_CALL_STATE = DCOM_CALL_STATE(1i32);
5964pub const DCOM_NONE: DCOM_CALL_STATE = DCOM_CALL_STATE(0i32);
5965pub const DESCKIND_FUNCDESC: DESCKIND = DESCKIND(1i32);
5966pub const DESCKIND_IMPLICITAPPOBJ: DESCKIND = DESCKIND(4i32);
5967pub const DESCKIND_MAX: DESCKIND = DESCKIND(5i32);
5968pub const DESCKIND_NONE: DESCKIND = DESCKIND(0i32);
5969pub const DESCKIND_TYPECOMP: DESCKIND = DESCKIND(3i32);
5970pub const DESCKIND_VARDESC: DESCKIND = DESCKIND(2i32);
5971pub const DISPATCH_METHOD: DISPATCH_FLAGS = DISPATCH_FLAGS(1u16);
5972pub const DISPATCH_PROPERTYGET: DISPATCH_FLAGS = DISPATCH_FLAGS(2u16);
5973pub const DISPATCH_PROPERTYPUT: DISPATCH_FLAGS = DISPATCH_FLAGS(4u16);
5974pub const DISPATCH_PROPERTYPUTREF: DISPATCH_FLAGS = DISPATCH_FLAGS(8u16);
5975pub const DMUS_ERRBASE: u32 = 4096u32;
5976pub const DVASPECT_CONTENT: DVASPECT = DVASPECT(1u32);
5977pub const DVASPECT_DOCPRINT: DVASPECT = DVASPECT(8u32);
5978pub const DVASPECT_ICON: DVASPECT = DVASPECT(4u32);
5979pub const DVASPECT_OPAQUE: DVASPECT = DVASPECT(16u32);
5980pub const DVASPECT_THUMBNAIL: DVASPECT = DVASPECT(2u32);
5981pub const DVASPECT_TRANSPARENT: DVASPECT = DVASPECT(32u32);
5982pub const EOAC_ACCESS_CONTROL: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(4i32);
5983pub const EOAC_ANY_AUTHORITY: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(128i32);
5984pub const EOAC_APPID: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(8i32);
5985pub const EOAC_AUTO_IMPERSONATE: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(1024i32);
5986pub const EOAC_DEFAULT: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(2048i32);
5987pub const EOAC_DISABLE_AAA: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(4096i32);
5988pub const EOAC_DYNAMIC: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(16i32);
5989pub const EOAC_DYNAMIC_CLOAKING: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(64i32);
5990pub const EOAC_MAKE_FULLSIC: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(256i32);
5991pub const EOAC_MUTUAL_AUTH: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(1i32);
5992pub const EOAC_NONE: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(0i32);
5993pub const EOAC_NO_CUSTOM_MARSHAL: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(8192i32);
5994pub const EOAC_REQUIRE_FULLSIC: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(512i32);
5995pub const EOAC_RESERVED1: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(16384i32);
5996pub const EOAC_SECURE_REFS: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(2i32);
5997pub const EOAC_STATIC_CLOAKING: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(32i32);
5998pub const EXTCONN_CALLABLE: EXTCONN = EXTCONN(4i32);
5999pub const EXTCONN_STRONG: EXTCONN = EXTCONN(1i32);
6000pub const EXTCONN_WEAK: EXTCONN = EXTCONN(2i32);
6001pub const FADF_AUTO: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(1u16);
6002pub const FADF_BSTR: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(256u16);
6003pub const FADF_DISPATCH: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(1024u16);
6004pub const FADF_EMBEDDED: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(4u16);
6005pub const FADF_FIXEDSIZE: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(16u16);
6006pub const FADF_HAVEIID: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(64u16);
6007pub const FADF_HAVEVARTYPE: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(128u16);
6008pub const FADF_RECORD: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(32u16);
6009pub const FADF_RESERVED: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(61448u16);
6010pub const FADF_STATIC: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(2u16);
6011pub const FADF_UNKNOWN: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(512u16);
6012pub const FADF_VARIANT: ADVANCED_FEATURE_FLAGS = ADVANCED_FEATURE_FLAGS(2048u16);
6013pub const FUNCFLAG_FBINDABLE: FUNCFLAGS = FUNCFLAGS(4u16);
6014pub const FUNCFLAG_FDEFAULTBIND: FUNCFLAGS = FUNCFLAGS(32u16);
6015pub const FUNCFLAG_FDEFAULTCOLLELEM: FUNCFLAGS = FUNCFLAGS(256u16);
6016pub const FUNCFLAG_FDISPLAYBIND: FUNCFLAGS = FUNCFLAGS(16u16);
6017pub const FUNCFLAG_FHIDDEN: FUNCFLAGS = FUNCFLAGS(64u16);
6018pub const FUNCFLAG_FIMMEDIATEBIND: FUNCFLAGS = FUNCFLAGS(4096u16);
6019pub const FUNCFLAG_FNONBROWSABLE: FUNCFLAGS = FUNCFLAGS(1024u16);
6020pub const FUNCFLAG_FREPLACEABLE: FUNCFLAGS = FUNCFLAGS(2048u16);
6021pub const FUNCFLAG_FREQUESTEDIT: FUNCFLAGS = FUNCFLAGS(8u16);
6022pub const FUNCFLAG_FRESTRICTED: FUNCFLAGS = FUNCFLAGS(1u16);
6023pub const FUNCFLAG_FSOURCE: FUNCFLAGS = FUNCFLAGS(2u16);
6024pub const FUNCFLAG_FUIDEFAULT: FUNCFLAGS = FUNCFLAGS(512u16);
6025pub const FUNCFLAG_FUSESGETLASTERROR: FUNCFLAGS = FUNCFLAGS(128u16);
6026pub const FUNC_DISPATCH: FUNCKIND = FUNCKIND(4i32);
6027pub const FUNC_NONVIRTUAL: FUNCKIND = FUNCKIND(2i32);
6028pub const FUNC_PUREVIRTUAL: FUNCKIND = FUNCKIND(1i32);
6029pub const FUNC_STATIC: FUNCKIND = FUNCKIND(3i32);
6030pub const FUNC_VIRTUAL: FUNCKIND = FUNCKIND(0i32);
6031pub const ForcedShutdown: ShutdownType = ShutdownType(1i32);
6032pub const IDLFLAG_FIN: IDLFLAGS = IDLFLAGS(1u16);
6033pub const IDLFLAG_FLCID: IDLFLAGS = IDLFLAGS(4u16);
6034pub const IDLFLAG_FOUT: IDLFLAGS = IDLFLAGS(2u16);
6035pub const IDLFLAG_FRETVAL: IDLFLAGS = IDLFLAGS(8u16);
6036pub const IDLFLAG_NONE: IDLFLAGS = IDLFLAGS(0u16);
6037pub const IMPLTYPEFLAG_FDEFAULT: IMPLTYPEFLAGS = IMPLTYPEFLAGS(1i32);
6038pub const IMPLTYPEFLAG_FDEFAULTVTABLE: IMPLTYPEFLAGS = IMPLTYPEFLAGS(8i32);
6039pub const IMPLTYPEFLAG_FRESTRICTED: IMPLTYPEFLAGS = IMPLTYPEFLAGS(4i32);
6040pub const IMPLTYPEFLAG_FSOURCE: IMPLTYPEFLAGS = IMPLTYPEFLAGS(2i32);
6041pub const INVOKE_FUNC: INVOKEKIND = INVOKEKIND(1i32);
6042pub const INVOKE_PROPERTYGET: INVOKEKIND = INVOKEKIND(2i32);
6043pub const INVOKE_PROPERTYPUT: INVOKEKIND = INVOKEKIND(4i32);
6044pub const INVOKE_PROPERTYPUTREF: INVOKEKIND = INVOKEKIND(8i32);
6045pub const IdleShutdown: ShutdownType = ShutdownType(0i32);
6046pub const LOCK_EXCLUSIVE: LOCKTYPE = LOCKTYPE(2i32);
6047pub const LOCK_ONLYONCE: LOCKTYPE = LOCKTYPE(4i32);
6048pub const LOCK_WRITE: LOCKTYPE = LOCKTYPE(1i32);
6049pub const LibraryApplication: ApplicationType = ApplicationType(1i32);
6050pub const MARSHALINTERFACE_MIN: u32 = 500u32;
6051pub const MAXLSN: u64 = 9223372036854775807u64;
6052pub const MEMCTX_MACSYSTEM: MEMCTX = MEMCTX(3i32);
6053pub const MEMCTX_SAME: MEMCTX = MEMCTX(-2i32);
6054pub const MEMCTX_SHARED: MEMCTX = MEMCTX(2i32);
6055pub const MEMCTX_TASK: MEMCTX = MEMCTX(1i32);
6056pub const MEMCTX_UNKNOWN: MEMCTX = MEMCTX(-1i32);
6057pub const MKRREDUCE_ALL: MKRREDUCE = MKRREDUCE(0i32);
6058pub const MKRREDUCE_ONE: MKRREDUCE = MKRREDUCE(196608i32);
6059pub const MKRREDUCE_THROUGHUSER: MKRREDUCE = MKRREDUCE(65536i32);
6060pub const MKRREDUCE_TOUSER: MKRREDUCE = MKRREDUCE(131072i32);
6061pub const MKSYS_ANTIMONIKER: MKSYS = MKSYS(3i32);
6062pub const MKSYS_CLASSMONIKER: MKSYS = MKSYS(7i32);
6063pub const MKSYS_FILEMONIKER: MKSYS = MKSYS(2i32);
6064pub const MKSYS_GENERICCOMPOSITE: MKSYS = MKSYS(1i32);
6065pub const MKSYS_ITEMMONIKER: MKSYS = MKSYS(4i32);
6066pub const MKSYS_LUAMONIKER: MKSYS = MKSYS(10i32);
6067pub const MKSYS_NONE: MKSYS = MKSYS(0i32);
6068pub const MKSYS_OBJREFMONIKER: MKSYS = MKSYS(8i32);
6069pub const MKSYS_POINTERMONIKER: MKSYS = MKSYS(5i32);
6070pub const MKSYS_SESSIONMONIKER: MKSYS = MKSYS(9i32);
6071pub const MSHCTX_CONTAINER: MSHCTX = MSHCTX(5i32);
6072pub const MSHCTX_CROSSCTX: MSHCTX = MSHCTX(4i32);
6073pub const MSHCTX_DIFFERENTMACHINE: MSHCTX = MSHCTX(2i32);
6074pub const MSHCTX_INPROC: MSHCTX = MSHCTX(3i32);
6075pub const MSHCTX_LOCAL: MSHCTX = MSHCTX(0i32);
6076pub const MSHCTX_NOSHAREDMEM: MSHCTX = MSHCTX(1i32);
6077pub const MSHLFLAGS_NOPING: MSHLFLAGS = MSHLFLAGS(4i32);
6078pub const MSHLFLAGS_NORMAL: MSHLFLAGS = MSHLFLAGS(0i32);
6079pub const MSHLFLAGS_RESERVED1: MSHLFLAGS = MSHLFLAGS(8i32);
6080pub const MSHLFLAGS_RESERVED2: MSHLFLAGS = MSHLFLAGS(16i32);
6081pub const MSHLFLAGS_RESERVED3: MSHLFLAGS = MSHLFLAGS(32i32);
6082pub const MSHLFLAGS_RESERVED4: MSHLFLAGS = MSHLFLAGS(64i32);
6083pub const MSHLFLAGS_TABLESTRONG: MSHLFLAGS = MSHLFLAGS(1i32);
6084pub const MSHLFLAGS_TABLEWEAK: MSHLFLAGS = MSHLFLAGS(2i32);
6085pub const PENDINGMSG_CANCELCALL: PENDINGMSG = PENDINGMSG(0i32);
6086pub const PENDINGMSG_WAITDEFPROCESS: PENDINGMSG = PENDINGMSG(2i32);
6087pub const PENDINGMSG_WAITNOPROCESS: PENDINGMSG = PENDINGMSG(1i32);
6088pub const PENDINGTYPE_NESTED: PENDINGTYPE = PENDINGTYPE(2i32);
6089pub const PENDINGTYPE_TOPLEVEL: PENDINGTYPE = PENDINGTYPE(1i32);
6090pub const REGCLS_AGILE: REGCLS = REGCLS(16i32);
6091pub const REGCLS_MULTIPLEUSE: REGCLS = REGCLS(1i32);
6092pub const REGCLS_MULTI_SEPARATE: REGCLS = REGCLS(2i32);
6093pub const REGCLS_SINGLEUSE: REGCLS = REGCLS(0i32);
6094pub const REGCLS_SURROGATE: REGCLS = REGCLS(8i32);
6095pub const REGCLS_SUSPENDED: REGCLS = REGCLS(4i32);
6096pub const ROTFLAGS_ALLOWANYCLIENT: ROT_FLAGS = ROT_FLAGS(2u32);
6097pub const ROTFLAGS_REGISTRATIONKEEPSALIVE: ROT_FLAGS = ROT_FLAGS(1u32);
6098pub const ROTREGFLAGS_ALLOWANYCLIENT: u32 = 1u32;
6099pub const RPC_C_AUTHN_LEVEL_CALL: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(3u32);
6100pub const RPC_C_AUTHN_LEVEL_CONNECT: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(2u32);
6101pub const RPC_C_AUTHN_LEVEL_DEFAULT: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(0u32);
6102pub const RPC_C_AUTHN_LEVEL_NONE: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(1u32);
6103pub const RPC_C_AUTHN_LEVEL_PKT: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(4u32);
6104pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(5u32);
6105pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(6u32);
6106pub const RPC_C_IMP_LEVEL_ANONYMOUS: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(1u32);
6107pub const RPC_C_IMP_LEVEL_DEFAULT: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(0u32);
6108pub const RPC_C_IMP_LEVEL_DELEGATE: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(4u32);
6109pub const RPC_C_IMP_LEVEL_IDENTIFY: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(2u32);
6110pub const RPC_C_IMP_LEVEL_IMPERSONATE: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(3u32);
6111pub const SD_ACCESSPERMISSIONS: COMSD = COMSD(1i32);
6112pub const SD_ACCESSRESTRICTIONS: COMSD = COMSD(3i32);
6113pub const SD_LAUNCHPERMISSIONS: COMSD = COMSD(0i32);
6114pub const SD_LAUNCHRESTRICTIONS: COMSD = COMSD(2i32);
6115pub const SERVERCALL_ISHANDLED: SERVERCALL = SERVERCALL(0i32);
6116pub const SERVERCALL_REJECTED: SERVERCALL = SERVERCALL(1i32);
6117pub const SERVERCALL_RETRYLATER: SERVERCALL = SERVERCALL(2i32);
6118pub const SERVER_LOCALITY_MACHINE_LOCAL: RPCOPT_SERVER_LOCALITY_VALUES = RPCOPT_SERVER_LOCALITY_VALUES(1i32);
6119pub const SERVER_LOCALITY_PROCESS_LOCAL: RPCOPT_SERVER_LOCALITY_VALUES = RPCOPT_SERVER_LOCALITY_VALUES(0i32);
6120pub const SERVER_LOCALITY_REMOTE: RPCOPT_SERVER_LOCALITY_VALUES = RPCOPT_SERVER_LOCALITY_VALUES(2i32);
6121pub const STATFLAG_DEFAULT: STATFLAG = STATFLAG(0i32);
6122pub const STATFLAG_NONAME: STATFLAG = STATFLAG(1i32);
6123pub const STATFLAG_NOOPEN: STATFLAG = STATFLAG(2i32);
6124pub const STGC_CONSOLIDATE: STGC = STGC(8i32);
6125pub const STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE: STGC = STGC(4i32);
6126pub const STGC_DEFAULT: STGC = STGC(0i32);
6127pub const STGC_ONLYIFCURRENT: STGC = STGC(2i32);
6128pub const STGC_OVERWRITE: STGC = STGC(1i32);
6129pub const STGM_CONVERT: STGM = STGM(131072u32);
6130pub const STGM_CREATE: STGM = STGM(4096u32);
6131pub const STGM_DELETEONRELEASE: STGM = STGM(67108864u32);
6132pub const STGM_DIRECT: STGM = STGM(0u32);
6133pub const STGM_DIRECT_SWMR: STGM = STGM(4194304u32);
6134pub const STGM_FAILIFTHERE: STGM = STGM(0u32);
6135pub const STGM_NOSCRATCH: STGM = STGM(1048576u32);
6136pub const STGM_NOSNAPSHOT: STGM = STGM(2097152u32);
6137pub const STGM_PRIORITY: STGM = STGM(262144u32);
6138pub const STGM_READ: STGM = STGM(0u32);
6139pub const STGM_READWRITE: STGM = STGM(2u32);
6140pub const STGM_SHARE_DENY_NONE: STGM = STGM(64u32);
6141pub const STGM_SHARE_DENY_READ: STGM = STGM(48u32);
6142pub const STGM_SHARE_DENY_WRITE: STGM = STGM(32u32);
6143pub const STGM_SHARE_EXCLUSIVE: STGM = STGM(16u32);
6144pub const STGM_SIMPLE: STGM = STGM(134217728u32);
6145pub const STGM_TRANSACTED: STGM = STGM(65536u32);
6146pub const STGM_WRITE: STGM = STGM(1u32);
6147pub const STGTY_LOCKBYTES: STGTY = STGTY(3i32);
6148pub const STGTY_PROPERTY: STGTY = STGTY(4i32);
6149pub const STGTY_REPEAT: i32 = 256i32;
6150pub const STGTY_STORAGE: STGTY = STGTY(1i32);
6151pub const STGTY_STREAM: STGTY = STGTY(2i32);
6152pub const STG_LAYOUT_INTERLEAVED: i32 = 1i32;
6153pub const STG_LAYOUT_SEQUENTIAL: i32 = 0i32;
6154pub const STG_TOEND: i32 = -1i32;
6155pub const STREAM_SEEK_CUR: STREAM_SEEK = STREAM_SEEK(1u32);
6156pub const STREAM_SEEK_END: STREAM_SEEK = STREAM_SEEK(2u32);
6157pub const STREAM_SEEK_SET: STREAM_SEEK = STREAM_SEEK(0u32);
6158pub const SYS_MAC: SYSKIND = SYSKIND(2i32);
6159pub const SYS_WIN16: SYSKIND = SYSKIND(0i32);
6160pub const SYS_WIN32: SYSKIND = SYSKIND(1i32);
6161pub const SYS_WIN64: SYSKIND = SYSKIND(3i32);
6162pub const ServerApplication: ApplicationType = ApplicationType(0i32);
6163pub const THDTYPE_BLOCKMESSAGES: THDTYPE = THDTYPE(0i32);
6164pub const THDTYPE_PROCESSMESSAGES: THDTYPE = THDTYPE(1i32);
6165pub const TKIND_ALIAS: TYPEKIND = TYPEKIND(6i32);
6166pub const TKIND_COCLASS: TYPEKIND = TYPEKIND(5i32);
6167pub const TKIND_DISPATCH: TYPEKIND = TYPEKIND(4i32);
6168pub const TKIND_ENUM: TYPEKIND = TYPEKIND(0i32);
6169pub const TKIND_INTERFACE: TYPEKIND = TYPEKIND(3i32);
6170pub const TKIND_MAX: TYPEKIND = TYPEKIND(8i32);
6171pub const TKIND_MODULE: TYPEKIND = TYPEKIND(2i32);
6172pub const TKIND_RECORD: TYPEKIND = TYPEKIND(1i32);
6173pub const TKIND_UNION: TYPEKIND = TYPEKIND(7i32);
6174pub const TYMED_ENHMF: TYMED = TYMED(64i32);
6175pub const TYMED_FILE: TYMED = TYMED(2i32);
6176pub const TYMED_GDI: TYMED = TYMED(16i32);
6177pub const TYMED_HGLOBAL: TYMED = TYMED(1i32);
6178pub const TYMED_ISTORAGE: TYMED = TYMED(8i32);
6179pub const TYMED_ISTREAM: TYMED = TYMED(4i32);
6180pub const TYMED_MFPICT: TYMED = TYMED(32i32);
6181pub const TYMED_NULL: TYMED = TYMED(0i32);
6182pub const TYSPEC_CLSID: TYSPEC = TYSPEC(0i32);
6183pub const TYSPEC_FILEEXT: TYSPEC = TYSPEC(1i32);
6184pub const TYSPEC_FILENAME: TYSPEC = TYSPEC(3i32);
6185pub const TYSPEC_MIMETYPE: TYSPEC = TYSPEC(2i32);
6186pub const TYSPEC_OBJECTID: TYSPEC = TYSPEC(6i32);
6187pub const TYSPEC_PACKAGENAME: TYSPEC = TYSPEC(5i32);
6188pub const TYSPEC_PROGID: TYSPEC = TYSPEC(4i32);
6189pub const Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME: URI_CREATE_FLAGS = URI_CREATE_FLAGS(4u32);
6190pub const Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME: URI_CREATE_FLAGS = URI_CREATE_FLAGS(2u32);
6191pub const Uri_CREATE_ALLOW_RELATIVE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(1u32);
6192pub const Uri_CREATE_CANONICALIZE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(256u32);
6193pub const Uri_CREATE_CANONICALIZE_ABSOLUTE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(131072u32);
6194pub const Uri_CREATE_CRACK_UNKNOWN_SCHEMES: URI_CREATE_FLAGS = URI_CREATE_FLAGS(512u32);
6195pub const Uri_CREATE_DECODE_EXTRA_INFO: URI_CREATE_FLAGS = URI_CREATE_FLAGS(64u32);
6196pub const Uri_CREATE_FILE_USE_DOS_PATH: URI_CREATE_FLAGS = URI_CREATE_FLAGS(32u32);
6197pub const Uri_CREATE_IE_SETTINGS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(8192u32);
6198pub const Uri_CREATE_NOFRAG: URI_CREATE_FLAGS = URI_CREATE_FLAGS(8u32);
6199pub const Uri_CREATE_NORMALIZE_INTL_CHARACTERS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(65536u32);
6200pub const Uri_CREATE_NO_CANONICALIZE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(16u32);
6201pub const Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES: URI_CREATE_FLAGS = URI_CREATE_FLAGS(1024u32);
6202pub const Uri_CREATE_NO_DECODE_EXTRA_INFO: URI_CREATE_FLAGS = URI_CREATE_FLAGS(128u32);
6203pub const Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(32768u32);
6204pub const Uri_CREATE_NO_IE_SETTINGS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(16384u32);
6205pub const Uri_CREATE_NO_PRE_PROCESS_HTML_URI: URI_CREATE_FLAGS = URI_CREATE_FLAGS(4096u32);
6206pub const Uri_CREATE_PRE_PROCESS_HTML_URI: URI_CREATE_FLAGS = URI_CREATE_FLAGS(2048u32);
6207pub const Uri_PROPERTY_ABSOLUTE_URI: Uri_PROPERTY = Uri_PROPERTY(0i32);
6208pub const Uri_PROPERTY_AUTHORITY: Uri_PROPERTY = Uri_PROPERTY(1i32);
6209pub const Uri_PROPERTY_DISPLAY_URI: Uri_PROPERTY = Uri_PROPERTY(2i32);
6210pub const Uri_PROPERTY_DOMAIN: Uri_PROPERTY = Uri_PROPERTY(3i32);
6211pub const Uri_PROPERTY_DWORD_LAST: Uri_PROPERTY = Uri_PROPERTY(18i32);
6212pub const Uri_PROPERTY_DWORD_START: Uri_PROPERTY = Uri_PROPERTY(15i32);
6213pub const Uri_PROPERTY_EXTENSION: Uri_PROPERTY = Uri_PROPERTY(4i32);
6214pub const Uri_PROPERTY_FRAGMENT: Uri_PROPERTY = Uri_PROPERTY(5i32);
6215pub const Uri_PROPERTY_HOST: Uri_PROPERTY = Uri_PROPERTY(6i32);
6216pub const Uri_PROPERTY_HOST_TYPE: Uri_PROPERTY = Uri_PROPERTY(15i32);
6217pub const Uri_PROPERTY_PASSWORD: Uri_PROPERTY = Uri_PROPERTY(7i32);
6218pub const Uri_PROPERTY_PATH: Uri_PROPERTY = Uri_PROPERTY(8i32);
6219pub const Uri_PROPERTY_PATH_AND_QUERY: Uri_PROPERTY = Uri_PROPERTY(9i32);
6220pub const Uri_PROPERTY_PORT: Uri_PROPERTY = Uri_PROPERTY(16i32);
6221pub const Uri_PROPERTY_QUERY: Uri_PROPERTY = Uri_PROPERTY(10i32);
6222pub const Uri_PROPERTY_RAW_URI: Uri_PROPERTY = Uri_PROPERTY(11i32);
6223pub const Uri_PROPERTY_SCHEME: Uri_PROPERTY = Uri_PROPERTY(17i32);
6224pub const Uri_PROPERTY_SCHEME_NAME: Uri_PROPERTY = Uri_PROPERTY(12i32);
6225pub const Uri_PROPERTY_STRING_LAST: Uri_PROPERTY = Uri_PROPERTY(14i32);
6226pub const Uri_PROPERTY_STRING_START: Uri_PROPERTY = Uri_PROPERTY(0i32);
6227pub const Uri_PROPERTY_USER_INFO: Uri_PROPERTY = Uri_PROPERTY(13i32);
6228pub const Uri_PROPERTY_USER_NAME: Uri_PROPERTY = Uri_PROPERTY(14i32);
6229pub const Uri_PROPERTY_ZONE: Uri_PROPERTY = Uri_PROPERTY(18i32);
6230pub const VARFLAG_FBINDABLE: VARFLAGS = VARFLAGS(4u16);
6231pub const VARFLAG_FDEFAULTBIND: VARFLAGS = VARFLAGS(32u16);
6232pub const VARFLAG_FDEFAULTCOLLELEM: VARFLAGS = VARFLAGS(256u16);
6233pub const VARFLAG_FDISPLAYBIND: VARFLAGS = VARFLAGS(16u16);
6234pub const VARFLAG_FHIDDEN: VARFLAGS = VARFLAGS(64u16);
6235pub const VARFLAG_FIMMEDIATEBIND: VARFLAGS = VARFLAGS(4096u16);
6236pub const VARFLAG_FNONBROWSABLE: VARFLAGS = VARFLAGS(1024u16);
6237pub const VARFLAG_FREADONLY: VARFLAGS = VARFLAGS(1u16);
6238pub const VARFLAG_FREPLACEABLE: VARFLAGS = VARFLAGS(2048u16);
6239pub const VARFLAG_FREQUESTEDIT: VARFLAGS = VARFLAGS(8u16);
6240pub const VARFLAG_FRESTRICTED: VARFLAGS = VARFLAGS(128u16);
6241pub const VARFLAG_FSOURCE: VARFLAGS = VARFLAGS(2u16);
6242pub const VARFLAG_FUIDEFAULT: VARFLAGS = VARFLAGS(512u16);
6243pub const VAR_CONST: VARKIND = VARKIND(2i32);
6244pub const VAR_DISPATCH: VARKIND = VARKIND(3i32);
6245pub const VAR_PERINSTANCE: VARKIND = VARKIND(0i32);
6246pub const VAR_STATIC: VARKIND = VARKIND(1i32);
6247#[repr(transparent)]
6248#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6249pub struct ADVANCED_FEATURE_FLAGS(pub u16);
6250impl ::core::marker::Copy for ADVANCED_FEATURE_FLAGS {}
6251impl ::core::clone::Clone for ADVANCED_FEATURE_FLAGS {
6252 fn clone(&self) -> Self {
6253 *self
6254 }
6255}
6256impl ::core::default::Default for ADVANCED_FEATURE_FLAGS {
6257 fn default() -> Self {
6258 Self(0)
6259 }
6260}
6261impl ::windows_core::TypeKind for ADVANCED_FEATURE_FLAGS {
6262 type TypeKind = ::windows_core::CopyType;
6263}
6264impl ::core::fmt::Debug for ADVANCED_FEATURE_FLAGS {
6265 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6266 f.debug_tuple(name:"ADVANCED_FEATURE_FLAGS").field(&self.0).finish()
6267 }
6268}
6269impl ADVANCED_FEATURE_FLAGS {
6270 pub const fn contains(&self, other: Self) -> bool {
6271 self.0 & other.0 == other.0
6272 }
6273}
6274impl ::core::ops::BitOr for ADVANCED_FEATURE_FLAGS {
6275 type Output = Self;
6276 fn bitor(self, other: Self) -> Self {
6277 Self(self.0 | other.0)
6278 }
6279}
6280impl ::core::ops::BitAnd for ADVANCED_FEATURE_FLAGS {
6281 type Output = Self;
6282 fn bitand(self, other: Self) -> Self {
6283 Self(self.0 & other.0)
6284 }
6285}
6286impl ::core::ops::BitOrAssign for ADVANCED_FEATURE_FLAGS {
6287 fn bitor_assign(&mut self, other: Self) {
6288 self.0.bitor_assign(other.0)
6289 }
6290}
6291impl ::core::ops::BitAndAssign for ADVANCED_FEATURE_FLAGS {
6292 fn bitand_assign(&mut self, other: Self) {
6293 self.0.bitand_assign(other.0)
6294 }
6295}
6296impl ::core::ops::Not for ADVANCED_FEATURE_FLAGS {
6297 type Output = Self;
6298 fn not(self) -> Self {
6299 Self(self.0.not())
6300 }
6301}
6302#[repr(transparent)]
6303#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6304pub struct ADVF(pub i32);
6305impl ::core::marker::Copy for ADVF {}
6306impl ::core::clone::Clone for ADVF {
6307 fn clone(&self) -> Self {
6308 *self
6309 }
6310}
6311impl ::core::default::Default for ADVF {
6312 fn default() -> Self {
6313 Self(0)
6314 }
6315}
6316impl ::windows_core::TypeKind for ADVF {
6317 type TypeKind = ::windows_core::CopyType;
6318}
6319impl ::core::fmt::Debug for ADVF {
6320 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6321 f.debug_tuple(name:"ADVF").field(&self.0).finish()
6322 }
6323}
6324#[repr(transparent)]
6325#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6326pub struct APTTYPE(pub i32);
6327impl ::core::marker::Copy for APTTYPE {}
6328impl ::core::clone::Clone for APTTYPE {
6329 fn clone(&self) -> Self {
6330 *self
6331 }
6332}
6333impl ::core::default::Default for APTTYPE {
6334 fn default() -> Self {
6335 Self(0)
6336 }
6337}
6338impl ::windows_core::TypeKind for APTTYPE {
6339 type TypeKind = ::windows_core::CopyType;
6340}
6341impl ::core::fmt::Debug for APTTYPE {
6342 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6343 f.debug_tuple(name:"APTTYPE").field(&self.0).finish()
6344 }
6345}
6346#[repr(transparent)]
6347#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6348pub struct APTTYPEQUALIFIER(pub i32);
6349impl ::core::marker::Copy for APTTYPEQUALIFIER {}
6350impl ::core::clone::Clone for APTTYPEQUALIFIER {
6351 fn clone(&self) -> Self {
6352 *self
6353 }
6354}
6355impl ::core::default::Default for APTTYPEQUALIFIER {
6356 fn default() -> Self {
6357 Self(0)
6358 }
6359}
6360impl ::windows_core::TypeKind for APTTYPEQUALIFIER {
6361 type TypeKind = ::windows_core::CopyType;
6362}
6363impl ::core::fmt::Debug for APTTYPEQUALIFIER {
6364 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6365 f.debug_tuple(name:"APTTYPEQUALIFIER").field(&self.0).finish()
6366 }
6367}
6368#[repr(transparent)]
6369#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6370pub struct ApplicationType(pub i32);
6371impl ::core::marker::Copy for ApplicationType {}
6372impl ::core::clone::Clone for ApplicationType {
6373 fn clone(&self) -> Self {
6374 *self
6375 }
6376}
6377impl ::core::default::Default for ApplicationType {
6378 fn default() -> Self {
6379 Self(0)
6380 }
6381}
6382impl ::windows_core::TypeKind for ApplicationType {
6383 type TypeKind = ::windows_core::CopyType;
6384}
6385impl ::core::fmt::Debug for ApplicationType {
6386 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6387 f.debug_tuple(name:"ApplicationType").field(&self.0).finish()
6388 }
6389}
6390#[repr(transparent)]
6391#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6392pub struct BINDINFOF(pub i32);
6393impl ::core::marker::Copy for BINDINFOF {}
6394impl ::core::clone::Clone for BINDINFOF {
6395 fn clone(&self) -> Self {
6396 *self
6397 }
6398}
6399impl ::core::default::Default for BINDINFOF {
6400 fn default() -> Self {
6401 Self(0)
6402 }
6403}
6404impl ::windows_core::TypeKind for BINDINFOF {
6405 type TypeKind = ::windows_core::CopyType;
6406}
6407impl ::core::fmt::Debug for BINDINFOF {
6408 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6409 f.debug_tuple(name:"BINDINFOF").field(&self.0).finish()
6410 }
6411}
6412#[repr(transparent)]
6413#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6414pub struct BIND_FLAGS(pub i32);
6415impl ::core::marker::Copy for BIND_FLAGS {}
6416impl ::core::clone::Clone for BIND_FLAGS {
6417 fn clone(&self) -> Self {
6418 *self
6419 }
6420}
6421impl ::core::default::Default for BIND_FLAGS {
6422 fn default() -> Self {
6423 Self(0)
6424 }
6425}
6426impl ::windows_core::TypeKind for BIND_FLAGS {
6427 type TypeKind = ::windows_core::CopyType;
6428}
6429impl ::core::fmt::Debug for BIND_FLAGS {
6430 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6431 f.debug_tuple(name:"BIND_FLAGS").field(&self.0).finish()
6432 }
6433}
6434#[repr(transparent)]
6435#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6436pub struct CALLCONV(pub i32);
6437impl ::core::marker::Copy for CALLCONV {}
6438impl ::core::clone::Clone for CALLCONV {
6439 fn clone(&self) -> Self {
6440 *self
6441 }
6442}
6443impl ::core::default::Default for CALLCONV {
6444 fn default() -> Self {
6445 Self(0)
6446 }
6447}
6448impl ::windows_core::TypeKind for CALLCONV {
6449 type TypeKind = ::windows_core::CopyType;
6450}
6451impl ::core::fmt::Debug for CALLCONV {
6452 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6453 f.debug_tuple(name:"CALLCONV").field(&self.0).finish()
6454 }
6455}
6456#[repr(transparent)]
6457#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6458pub struct CALLTYPE(pub i32);
6459impl ::core::marker::Copy for CALLTYPE {}
6460impl ::core::clone::Clone for CALLTYPE {
6461 fn clone(&self) -> Self {
6462 *self
6463 }
6464}
6465impl ::core::default::Default for CALLTYPE {
6466 fn default() -> Self {
6467 Self(0)
6468 }
6469}
6470impl ::windows_core::TypeKind for CALLTYPE {
6471 type TypeKind = ::windows_core::CopyType;
6472}
6473impl ::core::fmt::Debug for CALLTYPE {
6474 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6475 f.debug_tuple(name:"CALLTYPE").field(&self.0).finish()
6476 }
6477}
6478#[repr(transparent)]
6479#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6480pub struct CLSCTX(pub u32);
6481impl ::core::marker::Copy for CLSCTX {}
6482impl ::core::clone::Clone for CLSCTX {
6483 fn clone(&self) -> Self {
6484 *self
6485 }
6486}
6487impl ::core::default::Default for CLSCTX {
6488 fn default() -> Self {
6489 Self(0)
6490 }
6491}
6492impl ::windows_core::TypeKind for CLSCTX {
6493 type TypeKind = ::windows_core::CopyType;
6494}
6495impl ::core::fmt::Debug for CLSCTX {
6496 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6497 f.debug_tuple(name:"CLSCTX").field(&self.0).finish()
6498 }
6499}
6500impl CLSCTX {
6501 pub const fn contains(&self, other: Self) -> bool {
6502 self.0 & other.0 == other.0
6503 }
6504}
6505impl ::core::ops::BitOr for CLSCTX {
6506 type Output = Self;
6507 fn bitor(self, other: Self) -> Self {
6508 Self(self.0 | other.0)
6509 }
6510}
6511impl ::core::ops::BitAnd for CLSCTX {
6512 type Output = Self;
6513 fn bitand(self, other: Self) -> Self {
6514 Self(self.0 & other.0)
6515 }
6516}
6517impl ::core::ops::BitOrAssign for CLSCTX {
6518 fn bitor_assign(&mut self, other: Self) {
6519 self.0.bitor_assign(other.0)
6520 }
6521}
6522impl ::core::ops::BitAndAssign for CLSCTX {
6523 fn bitand_assign(&mut self, other: Self) {
6524 self.0.bitand_assign(other.0)
6525 }
6526}
6527impl ::core::ops::Not for CLSCTX {
6528 type Output = Self;
6529 fn not(self) -> Self {
6530 Self(self.0.not())
6531 }
6532}
6533#[repr(transparent)]
6534#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6535pub struct COINIT(pub i32);
6536impl ::core::marker::Copy for COINIT {}
6537impl ::core::clone::Clone for COINIT {
6538 fn clone(&self) -> Self {
6539 *self
6540 }
6541}
6542impl ::core::default::Default for COINIT {
6543 fn default() -> Self {
6544 Self(0)
6545 }
6546}
6547impl ::windows_core::TypeKind for COINIT {
6548 type TypeKind = ::windows_core::CopyType;
6549}
6550impl ::core::fmt::Debug for COINIT {
6551 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6552 f.debug_tuple(name:"COINIT").field(&self.0).finish()
6553 }
6554}
6555impl COINIT {
6556 pub const fn contains(&self, other: Self) -> bool {
6557 self.0 & other.0 == other.0
6558 }
6559}
6560impl ::core::ops::BitOr for COINIT {
6561 type Output = Self;
6562 fn bitor(self, other: Self) -> Self {
6563 Self(self.0 | other.0)
6564 }
6565}
6566impl ::core::ops::BitAnd for COINIT {
6567 type Output = Self;
6568 fn bitand(self, other: Self) -> Self {
6569 Self(self.0 & other.0)
6570 }
6571}
6572impl ::core::ops::BitOrAssign for COINIT {
6573 fn bitor_assign(&mut self, other: Self) {
6574 self.0.bitor_assign(other.0)
6575 }
6576}
6577impl ::core::ops::BitAndAssign for COINIT {
6578 fn bitand_assign(&mut self, other: Self) {
6579 self.0.bitand_assign(other.0)
6580 }
6581}
6582impl ::core::ops::Not for COINIT {
6583 type Output = Self;
6584 fn not(self) -> Self {
6585 Self(self.0.not())
6586 }
6587}
6588#[repr(transparent)]
6589#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6590pub struct COINITBASE(pub i32);
6591impl ::core::marker::Copy for COINITBASE {}
6592impl ::core::clone::Clone for COINITBASE {
6593 fn clone(&self) -> Self {
6594 *self
6595 }
6596}
6597impl ::core::default::Default for COINITBASE {
6598 fn default() -> Self {
6599 Self(0)
6600 }
6601}
6602impl ::windows_core::TypeKind for COINITBASE {
6603 type TypeKind = ::windows_core::CopyType;
6604}
6605impl ::core::fmt::Debug for COINITBASE {
6606 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6607 f.debug_tuple(name:"COINITBASE").field(&self.0).finish()
6608 }
6609}
6610#[repr(transparent)]
6611#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6612pub struct COMSD(pub i32);
6613impl ::core::marker::Copy for COMSD {}
6614impl ::core::clone::Clone for COMSD {
6615 fn clone(&self) -> Self {
6616 *self
6617 }
6618}
6619impl ::core::default::Default for COMSD {
6620 fn default() -> Self {
6621 Self(0)
6622 }
6623}
6624impl ::windows_core::TypeKind for COMSD {
6625 type TypeKind = ::windows_core::CopyType;
6626}
6627impl ::core::fmt::Debug for COMSD {
6628 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6629 f.debug_tuple(name:"COMSD").field(&self.0).finish()
6630 }
6631}
6632#[repr(transparent)]
6633#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6634pub struct COWAIT_FLAGS(pub i32);
6635impl ::core::marker::Copy for COWAIT_FLAGS {}
6636impl ::core::clone::Clone for COWAIT_FLAGS {
6637 fn clone(&self) -> Self {
6638 *self
6639 }
6640}
6641impl ::core::default::Default for COWAIT_FLAGS {
6642 fn default() -> Self {
6643 Self(0)
6644 }
6645}
6646impl ::windows_core::TypeKind for COWAIT_FLAGS {
6647 type TypeKind = ::windows_core::CopyType;
6648}
6649impl ::core::fmt::Debug for COWAIT_FLAGS {
6650 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6651 f.debug_tuple(name:"COWAIT_FLAGS").field(&self.0).finish()
6652 }
6653}
6654impl COWAIT_FLAGS {
6655 pub const fn contains(&self, other: Self) -> bool {
6656 self.0 & other.0 == other.0
6657 }
6658}
6659impl ::core::ops::BitOr for COWAIT_FLAGS {
6660 type Output = Self;
6661 fn bitor(self, other: Self) -> Self {
6662 Self(self.0 | other.0)
6663 }
6664}
6665impl ::core::ops::BitAnd for COWAIT_FLAGS {
6666 type Output = Self;
6667 fn bitand(self, other: Self) -> Self {
6668 Self(self.0 & other.0)
6669 }
6670}
6671impl ::core::ops::BitOrAssign for COWAIT_FLAGS {
6672 fn bitor_assign(&mut self, other: Self) {
6673 self.0.bitor_assign(other.0)
6674 }
6675}
6676impl ::core::ops::BitAndAssign for COWAIT_FLAGS {
6677 fn bitand_assign(&mut self, other: Self) {
6678 self.0.bitand_assign(other.0)
6679 }
6680}
6681impl ::core::ops::Not for COWAIT_FLAGS {
6682 type Output = Self;
6683 fn not(self) -> Self {
6684 Self(self.0.not())
6685 }
6686}
6687#[repr(transparent)]
6688#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6689pub struct CO_MARSHALING_CONTEXT_ATTRIBUTES(pub i32);
6690impl ::core::marker::Copy for CO_MARSHALING_CONTEXT_ATTRIBUTES {}
6691impl ::core::clone::Clone for CO_MARSHALING_CONTEXT_ATTRIBUTES {
6692 fn clone(&self) -> Self {
6693 *self
6694 }
6695}
6696impl ::core::default::Default for CO_MARSHALING_CONTEXT_ATTRIBUTES {
6697 fn default() -> Self {
6698 Self(0)
6699 }
6700}
6701impl ::windows_core::TypeKind for CO_MARSHALING_CONTEXT_ATTRIBUTES {
6702 type TypeKind = ::windows_core::CopyType;
6703}
6704impl ::core::fmt::Debug for CO_MARSHALING_CONTEXT_ATTRIBUTES {
6705 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6706 f.debug_tuple(name:"CO_MARSHALING_CONTEXT_ATTRIBUTES").field(&self.0).finish()
6707 }
6708}
6709#[repr(transparent)]
6710#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6711pub struct CWMO_FLAGS(pub i32);
6712impl ::core::marker::Copy for CWMO_FLAGS {}
6713impl ::core::clone::Clone for CWMO_FLAGS {
6714 fn clone(&self) -> Self {
6715 *self
6716 }
6717}
6718impl ::core::default::Default for CWMO_FLAGS {
6719 fn default() -> Self {
6720 Self(0)
6721 }
6722}
6723impl ::windows_core::TypeKind for CWMO_FLAGS {
6724 type TypeKind = ::windows_core::CopyType;
6725}
6726impl ::core::fmt::Debug for CWMO_FLAGS {
6727 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6728 f.debug_tuple(name:"CWMO_FLAGS").field(&self.0).finish()
6729 }
6730}
6731impl CWMO_FLAGS {
6732 pub const fn contains(&self, other: Self) -> bool {
6733 self.0 & other.0 == other.0
6734 }
6735}
6736impl ::core::ops::BitOr for CWMO_FLAGS {
6737 type Output = Self;
6738 fn bitor(self, other: Self) -> Self {
6739 Self(self.0 | other.0)
6740 }
6741}
6742impl ::core::ops::BitAnd for CWMO_FLAGS {
6743 type Output = Self;
6744 fn bitand(self, other: Self) -> Self {
6745 Self(self.0 & other.0)
6746 }
6747}
6748impl ::core::ops::BitOrAssign for CWMO_FLAGS {
6749 fn bitor_assign(&mut self, other: Self) {
6750 self.0.bitor_assign(other.0)
6751 }
6752}
6753impl ::core::ops::BitAndAssign for CWMO_FLAGS {
6754 fn bitand_assign(&mut self, other: Self) {
6755 self.0.bitand_assign(other.0)
6756 }
6757}
6758impl ::core::ops::Not for CWMO_FLAGS {
6759 type Output = Self;
6760 fn not(self) -> Self {
6761 Self(self.0.not())
6762 }
6763}
6764#[repr(transparent)]
6765#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6766pub struct DATADIR(pub i32);
6767impl ::core::marker::Copy for DATADIR {}
6768impl ::core::clone::Clone for DATADIR {
6769 fn clone(&self) -> Self {
6770 *self
6771 }
6772}
6773impl ::core::default::Default for DATADIR {
6774 fn default() -> Self {
6775 Self(0)
6776 }
6777}
6778impl ::windows_core::TypeKind for DATADIR {
6779 type TypeKind = ::windows_core::CopyType;
6780}
6781impl ::core::fmt::Debug for DATADIR {
6782 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6783 f.debug_tuple(name:"DATADIR").field(&self.0).finish()
6784 }
6785}
6786#[repr(transparent)]
6787#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6788pub struct DCOM_CALL_STATE(pub i32);
6789impl ::core::marker::Copy for DCOM_CALL_STATE {}
6790impl ::core::clone::Clone for DCOM_CALL_STATE {
6791 fn clone(&self) -> Self {
6792 *self
6793 }
6794}
6795impl ::core::default::Default for DCOM_CALL_STATE {
6796 fn default() -> Self {
6797 Self(0)
6798 }
6799}
6800impl ::windows_core::TypeKind for DCOM_CALL_STATE {
6801 type TypeKind = ::windows_core::CopyType;
6802}
6803impl ::core::fmt::Debug for DCOM_CALL_STATE {
6804 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6805 f.debug_tuple(name:"DCOM_CALL_STATE").field(&self.0).finish()
6806 }
6807}
6808#[repr(transparent)]
6809#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6810pub struct DESCKIND(pub i32);
6811impl ::core::marker::Copy for DESCKIND {}
6812impl ::core::clone::Clone for DESCKIND {
6813 fn clone(&self) -> Self {
6814 *self
6815 }
6816}
6817impl ::core::default::Default for DESCKIND {
6818 fn default() -> Self {
6819 Self(0)
6820 }
6821}
6822impl ::windows_core::TypeKind for DESCKIND {
6823 type TypeKind = ::windows_core::CopyType;
6824}
6825impl ::core::fmt::Debug for DESCKIND {
6826 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6827 f.debug_tuple(name:"DESCKIND").field(&self.0).finish()
6828 }
6829}
6830#[repr(transparent)]
6831#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6832pub struct DISPATCH_FLAGS(pub u16);
6833impl ::core::marker::Copy for DISPATCH_FLAGS {}
6834impl ::core::clone::Clone for DISPATCH_FLAGS {
6835 fn clone(&self) -> Self {
6836 *self
6837 }
6838}
6839impl ::core::default::Default for DISPATCH_FLAGS {
6840 fn default() -> Self {
6841 Self(0)
6842 }
6843}
6844impl ::windows_core::TypeKind for DISPATCH_FLAGS {
6845 type TypeKind = ::windows_core::CopyType;
6846}
6847impl ::core::fmt::Debug for DISPATCH_FLAGS {
6848 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6849 f.debug_tuple(name:"DISPATCH_FLAGS").field(&self.0).finish()
6850 }
6851}
6852impl DISPATCH_FLAGS {
6853 pub const fn contains(&self, other: Self) -> bool {
6854 self.0 & other.0 == other.0
6855 }
6856}
6857impl ::core::ops::BitOr for DISPATCH_FLAGS {
6858 type Output = Self;
6859 fn bitor(self, other: Self) -> Self {
6860 Self(self.0 | other.0)
6861 }
6862}
6863impl ::core::ops::BitAnd for DISPATCH_FLAGS {
6864 type Output = Self;
6865 fn bitand(self, other: Self) -> Self {
6866 Self(self.0 & other.0)
6867 }
6868}
6869impl ::core::ops::BitOrAssign for DISPATCH_FLAGS {
6870 fn bitor_assign(&mut self, other: Self) {
6871 self.0.bitor_assign(other.0)
6872 }
6873}
6874impl ::core::ops::BitAndAssign for DISPATCH_FLAGS {
6875 fn bitand_assign(&mut self, other: Self) {
6876 self.0.bitand_assign(other.0)
6877 }
6878}
6879impl ::core::ops::Not for DISPATCH_FLAGS {
6880 type Output = Self;
6881 fn not(self) -> Self {
6882 Self(self.0.not())
6883 }
6884}
6885#[repr(transparent)]
6886#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6887pub struct DVASPECT(pub u32);
6888impl ::core::marker::Copy for DVASPECT {}
6889impl ::core::clone::Clone for DVASPECT {
6890 fn clone(&self) -> Self {
6891 *self
6892 }
6893}
6894impl ::core::default::Default for DVASPECT {
6895 fn default() -> Self {
6896 Self(0)
6897 }
6898}
6899impl ::windows_core::TypeKind for DVASPECT {
6900 type TypeKind = ::windows_core::CopyType;
6901}
6902impl ::core::fmt::Debug for DVASPECT {
6903 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6904 f.debug_tuple(name:"DVASPECT").field(&self.0).finish()
6905 }
6906}
6907#[repr(transparent)]
6908#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6909pub struct EOLE_AUTHENTICATION_CAPABILITIES(pub i32);
6910impl ::core::marker::Copy for EOLE_AUTHENTICATION_CAPABILITIES {}
6911impl ::core::clone::Clone for EOLE_AUTHENTICATION_CAPABILITIES {
6912 fn clone(&self) -> Self {
6913 *self
6914 }
6915}
6916impl ::core::default::Default for EOLE_AUTHENTICATION_CAPABILITIES {
6917 fn default() -> Self {
6918 Self(0)
6919 }
6920}
6921impl ::windows_core::TypeKind for EOLE_AUTHENTICATION_CAPABILITIES {
6922 type TypeKind = ::windows_core::CopyType;
6923}
6924impl ::core::fmt::Debug for EOLE_AUTHENTICATION_CAPABILITIES {
6925 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6926 f.debug_tuple(name:"EOLE_AUTHENTICATION_CAPABILITIES").field(&self.0).finish()
6927 }
6928}
6929#[repr(transparent)]
6930#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6931pub struct EXTCONN(pub i32);
6932impl ::core::marker::Copy for EXTCONN {}
6933impl ::core::clone::Clone for EXTCONN {
6934 fn clone(&self) -> Self {
6935 *self
6936 }
6937}
6938impl ::core::default::Default for EXTCONN {
6939 fn default() -> Self {
6940 Self(0)
6941 }
6942}
6943impl ::windows_core::TypeKind for EXTCONN {
6944 type TypeKind = ::windows_core::CopyType;
6945}
6946impl ::core::fmt::Debug for EXTCONN {
6947 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6948 f.debug_tuple(name:"EXTCONN").field(&self.0).finish()
6949 }
6950}
6951#[repr(transparent)]
6952#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6953pub struct FUNCFLAGS(pub u16);
6954impl ::core::marker::Copy for FUNCFLAGS {}
6955impl ::core::clone::Clone for FUNCFLAGS {
6956 fn clone(&self) -> Self {
6957 *self
6958 }
6959}
6960impl ::core::default::Default for FUNCFLAGS {
6961 fn default() -> Self {
6962 Self(0)
6963 }
6964}
6965impl ::windows_core::TypeKind for FUNCFLAGS {
6966 type TypeKind = ::windows_core::CopyType;
6967}
6968impl ::core::fmt::Debug for FUNCFLAGS {
6969 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6970 f.debug_tuple(name:"FUNCFLAGS").field(&self.0).finish()
6971 }
6972}
6973#[repr(transparent)]
6974#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6975pub struct FUNCKIND(pub i32);
6976impl ::core::marker::Copy for FUNCKIND {}
6977impl ::core::clone::Clone for FUNCKIND {
6978 fn clone(&self) -> Self {
6979 *self
6980 }
6981}
6982impl ::core::default::Default for FUNCKIND {
6983 fn default() -> Self {
6984 Self(0)
6985 }
6986}
6987impl ::windows_core::TypeKind for FUNCKIND {
6988 type TypeKind = ::windows_core::CopyType;
6989}
6990impl ::core::fmt::Debug for FUNCKIND {
6991 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6992 f.debug_tuple(name:"FUNCKIND").field(&self.0).finish()
6993 }
6994}
6995#[repr(transparent)]
6996#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
6997pub struct GLOBALOPT_EH_VALUES(pub i32);
6998impl ::core::marker::Copy for GLOBALOPT_EH_VALUES {}
6999impl ::core::clone::Clone for GLOBALOPT_EH_VALUES {
7000 fn clone(&self) -> Self {
7001 *self
7002 }
7003}
7004impl ::core::default::Default for GLOBALOPT_EH_VALUES {
7005 fn default() -> Self {
7006 Self(0)
7007 }
7008}
7009impl ::windows_core::TypeKind for GLOBALOPT_EH_VALUES {
7010 type TypeKind = ::windows_core::CopyType;
7011}
7012impl ::core::fmt::Debug for GLOBALOPT_EH_VALUES {
7013 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7014 f.debug_tuple(name:"GLOBALOPT_EH_VALUES").field(&self.0).finish()
7015 }
7016}
7017#[repr(transparent)]
7018#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7019pub struct GLOBALOPT_PROPERTIES(pub i32);
7020impl ::core::marker::Copy for GLOBALOPT_PROPERTIES {}
7021impl ::core::clone::Clone for GLOBALOPT_PROPERTIES {
7022 fn clone(&self) -> Self {
7023 *self
7024 }
7025}
7026impl ::core::default::Default for GLOBALOPT_PROPERTIES {
7027 fn default() -> Self {
7028 Self(0)
7029 }
7030}
7031impl ::windows_core::TypeKind for GLOBALOPT_PROPERTIES {
7032 type TypeKind = ::windows_core::CopyType;
7033}
7034impl ::core::fmt::Debug for GLOBALOPT_PROPERTIES {
7035 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7036 f.debug_tuple(name:"GLOBALOPT_PROPERTIES").field(&self.0).finish()
7037 }
7038}
7039#[repr(transparent)]
7040#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7041pub struct GLOBALOPT_RO_FLAGS(pub i32);
7042impl ::core::marker::Copy for GLOBALOPT_RO_FLAGS {}
7043impl ::core::clone::Clone for GLOBALOPT_RO_FLAGS {
7044 fn clone(&self) -> Self {
7045 *self
7046 }
7047}
7048impl ::core::default::Default for GLOBALOPT_RO_FLAGS {
7049 fn default() -> Self {
7050 Self(0)
7051 }
7052}
7053impl ::windows_core::TypeKind for GLOBALOPT_RO_FLAGS {
7054 type TypeKind = ::windows_core::CopyType;
7055}
7056impl ::core::fmt::Debug for GLOBALOPT_RO_FLAGS {
7057 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7058 f.debug_tuple(name:"GLOBALOPT_RO_FLAGS").field(&self.0).finish()
7059 }
7060}
7061#[repr(transparent)]
7062#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7063pub struct GLOBALOPT_RPCTP_VALUES(pub i32);
7064impl ::core::marker::Copy for GLOBALOPT_RPCTP_VALUES {}
7065impl ::core::clone::Clone for GLOBALOPT_RPCTP_VALUES {
7066 fn clone(&self) -> Self {
7067 *self
7068 }
7069}
7070impl ::core::default::Default for GLOBALOPT_RPCTP_VALUES {
7071 fn default() -> Self {
7072 Self(0)
7073 }
7074}
7075impl ::windows_core::TypeKind for GLOBALOPT_RPCTP_VALUES {
7076 type TypeKind = ::windows_core::CopyType;
7077}
7078impl ::core::fmt::Debug for GLOBALOPT_RPCTP_VALUES {
7079 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7080 f.debug_tuple(name:"GLOBALOPT_RPCTP_VALUES").field(&self.0).finish()
7081 }
7082}
7083#[repr(transparent)]
7084#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7085pub struct GLOBALOPT_UNMARSHALING_POLICY_VALUES(pub i32);
7086impl ::core::marker::Copy for GLOBALOPT_UNMARSHALING_POLICY_VALUES {}
7087impl ::core::clone::Clone for GLOBALOPT_UNMARSHALING_POLICY_VALUES {
7088 fn clone(&self) -> Self {
7089 *self
7090 }
7091}
7092impl ::core::default::Default for GLOBALOPT_UNMARSHALING_POLICY_VALUES {
7093 fn default() -> Self {
7094 Self(0)
7095 }
7096}
7097impl ::windows_core::TypeKind for GLOBALOPT_UNMARSHALING_POLICY_VALUES {
7098 type TypeKind = ::windows_core::CopyType;
7099}
7100impl ::core::fmt::Debug for GLOBALOPT_UNMARSHALING_POLICY_VALUES {
7101 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7102 f.debug_tuple(name:"GLOBALOPT_UNMARSHALING_POLICY_VALUES").field(&self.0).finish()
7103 }
7104}
7105#[repr(transparent)]
7106#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7107pub struct IDLFLAGS(pub u16);
7108impl ::core::marker::Copy for IDLFLAGS {}
7109impl ::core::clone::Clone for IDLFLAGS {
7110 fn clone(&self) -> Self {
7111 *self
7112 }
7113}
7114impl ::core::default::Default for IDLFLAGS {
7115 fn default() -> Self {
7116 Self(0)
7117 }
7118}
7119impl ::windows_core::TypeKind for IDLFLAGS {
7120 type TypeKind = ::windows_core::CopyType;
7121}
7122impl ::core::fmt::Debug for IDLFLAGS {
7123 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7124 f.debug_tuple(name:"IDLFLAGS").field(&self.0).finish()
7125 }
7126}
7127impl IDLFLAGS {
7128 pub const fn contains(&self, other: Self) -> bool {
7129 self.0 & other.0 == other.0
7130 }
7131}
7132impl ::core::ops::BitOr for IDLFLAGS {
7133 type Output = Self;
7134 fn bitor(self, other: Self) -> Self {
7135 Self(self.0 | other.0)
7136 }
7137}
7138impl ::core::ops::BitAnd for IDLFLAGS {
7139 type Output = Self;
7140 fn bitand(self, other: Self) -> Self {
7141 Self(self.0 & other.0)
7142 }
7143}
7144impl ::core::ops::BitOrAssign for IDLFLAGS {
7145 fn bitor_assign(&mut self, other: Self) {
7146 self.0.bitor_assign(other.0)
7147 }
7148}
7149impl ::core::ops::BitAndAssign for IDLFLAGS {
7150 fn bitand_assign(&mut self, other: Self) {
7151 self.0.bitand_assign(other.0)
7152 }
7153}
7154impl ::core::ops::Not for IDLFLAGS {
7155 type Output = Self;
7156 fn not(self) -> Self {
7157 Self(self.0.not())
7158 }
7159}
7160#[repr(transparent)]
7161#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7162pub struct IMPLTYPEFLAGS(pub i32);
7163impl ::core::marker::Copy for IMPLTYPEFLAGS {}
7164impl ::core::clone::Clone for IMPLTYPEFLAGS {
7165 fn clone(&self) -> Self {
7166 *self
7167 }
7168}
7169impl ::core::default::Default for IMPLTYPEFLAGS {
7170 fn default() -> Self {
7171 Self(0)
7172 }
7173}
7174impl ::windows_core::TypeKind for IMPLTYPEFLAGS {
7175 type TypeKind = ::windows_core::CopyType;
7176}
7177impl ::core::fmt::Debug for IMPLTYPEFLAGS {
7178 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7179 f.debug_tuple(name:"IMPLTYPEFLAGS").field(&self.0).finish()
7180 }
7181}
7182impl IMPLTYPEFLAGS {
7183 pub const fn contains(&self, other: Self) -> bool {
7184 self.0 & other.0 == other.0
7185 }
7186}
7187impl ::core::ops::BitOr for IMPLTYPEFLAGS {
7188 type Output = Self;
7189 fn bitor(self, other: Self) -> Self {
7190 Self(self.0 | other.0)
7191 }
7192}
7193impl ::core::ops::BitAnd for IMPLTYPEFLAGS {
7194 type Output = Self;
7195 fn bitand(self, other: Self) -> Self {
7196 Self(self.0 & other.0)
7197 }
7198}
7199impl ::core::ops::BitOrAssign for IMPLTYPEFLAGS {
7200 fn bitor_assign(&mut self, other: Self) {
7201 self.0.bitor_assign(other.0)
7202 }
7203}
7204impl ::core::ops::BitAndAssign for IMPLTYPEFLAGS {
7205 fn bitand_assign(&mut self, other: Self) {
7206 self.0.bitand_assign(other.0)
7207 }
7208}
7209impl ::core::ops::Not for IMPLTYPEFLAGS {
7210 type Output = Self;
7211 fn not(self) -> Self {
7212 Self(self.0.not())
7213 }
7214}
7215#[repr(transparent)]
7216#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7217pub struct INVOKEKIND(pub i32);
7218impl ::core::marker::Copy for INVOKEKIND {}
7219impl ::core::clone::Clone for INVOKEKIND {
7220 fn clone(&self) -> Self {
7221 *self
7222 }
7223}
7224impl ::core::default::Default for INVOKEKIND {
7225 fn default() -> Self {
7226 Self(0)
7227 }
7228}
7229impl ::windows_core::TypeKind for INVOKEKIND {
7230 type TypeKind = ::windows_core::CopyType;
7231}
7232impl ::core::fmt::Debug for INVOKEKIND {
7233 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7234 f.debug_tuple(name:"INVOKEKIND").field(&self.0).finish()
7235 }
7236}
7237#[repr(transparent)]
7238#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7239pub struct LOCKTYPE(pub i32);
7240impl ::core::marker::Copy for LOCKTYPE {}
7241impl ::core::clone::Clone for LOCKTYPE {
7242 fn clone(&self) -> Self {
7243 *self
7244 }
7245}
7246impl ::core::default::Default for LOCKTYPE {
7247 fn default() -> Self {
7248 Self(0)
7249 }
7250}
7251impl ::windows_core::TypeKind for LOCKTYPE {
7252 type TypeKind = ::windows_core::CopyType;
7253}
7254impl ::core::fmt::Debug for LOCKTYPE {
7255 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7256 f.debug_tuple(name:"LOCKTYPE").field(&self.0).finish()
7257 }
7258}
7259#[repr(transparent)]
7260#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7261pub struct MEMCTX(pub i32);
7262impl ::core::marker::Copy for MEMCTX {}
7263impl ::core::clone::Clone for MEMCTX {
7264 fn clone(&self) -> Self {
7265 *self
7266 }
7267}
7268impl ::core::default::Default for MEMCTX {
7269 fn default() -> Self {
7270 Self(0)
7271 }
7272}
7273impl ::windows_core::TypeKind for MEMCTX {
7274 type TypeKind = ::windows_core::CopyType;
7275}
7276impl ::core::fmt::Debug for MEMCTX {
7277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7278 f.debug_tuple(name:"MEMCTX").field(&self.0).finish()
7279 }
7280}
7281#[repr(transparent)]
7282#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7283pub struct MKRREDUCE(pub i32);
7284impl ::core::marker::Copy for MKRREDUCE {}
7285impl ::core::clone::Clone for MKRREDUCE {
7286 fn clone(&self) -> Self {
7287 *self
7288 }
7289}
7290impl ::core::default::Default for MKRREDUCE {
7291 fn default() -> Self {
7292 Self(0)
7293 }
7294}
7295impl ::windows_core::TypeKind for MKRREDUCE {
7296 type TypeKind = ::windows_core::CopyType;
7297}
7298impl ::core::fmt::Debug for MKRREDUCE {
7299 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7300 f.debug_tuple(name:"MKRREDUCE").field(&self.0).finish()
7301 }
7302}
7303#[repr(transparent)]
7304#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7305pub struct MKSYS(pub i32);
7306impl ::core::marker::Copy for MKSYS {}
7307impl ::core::clone::Clone for MKSYS {
7308 fn clone(&self) -> Self {
7309 *self
7310 }
7311}
7312impl ::core::default::Default for MKSYS {
7313 fn default() -> Self {
7314 Self(0)
7315 }
7316}
7317impl ::windows_core::TypeKind for MKSYS {
7318 type TypeKind = ::windows_core::CopyType;
7319}
7320impl ::core::fmt::Debug for MKSYS {
7321 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7322 f.debug_tuple(name:"MKSYS").field(&self.0).finish()
7323 }
7324}
7325#[repr(transparent)]
7326#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7327pub struct MSHCTX(pub i32);
7328impl ::core::marker::Copy for MSHCTX {}
7329impl ::core::clone::Clone for MSHCTX {
7330 fn clone(&self) -> Self {
7331 *self
7332 }
7333}
7334impl ::core::default::Default for MSHCTX {
7335 fn default() -> Self {
7336 Self(0)
7337 }
7338}
7339impl ::windows_core::TypeKind for MSHCTX {
7340 type TypeKind = ::windows_core::CopyType;
7341}
7342impl ::core::fmt::Debug for MSHCTX {
7343 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7344 f.debug_tuple(name:"MSHCTX").field(&self.0).finish()
7345 }
7346}
7347#[repr(transparent)]
7348#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7349pub struct MSHLFLAGS(pub i32);
7350impl ::core::marker::Copy for MSHLFLAGS {}
7351impl ::core::clone::Clone for MSHLFLAGS {
7352 fn clone(&self) -> Self {
7353 *self
7354 }
7355}
7356impl ::core::default::Default for MSHLFLAGS {
7357 fn default() -> Self {
7358 Self(0)
7359 }
7360}
7361impl ::windows_core::TypeKind for MSHLFLAGS {
7362 type TypeKind = ::windows_core::CopyType;
7363}
7364impl ::core::fmt::Debug for MSHLFLAGS {
7365 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7366 f.debug_tuple(name:"MSHLFLAGS").field(&self.0).finish()
7367 }
7368}
7369#[repr(transparent)]
7370#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7371pub struct PENDINGMSG(pub i32);
7372impl ::core::marker::Copy for PENDINGMSG {}
7373impl ::core::clone::Clone for PENDINGMSG {
7374 fn clone(&self) -> Self {
7375 *self
7376 }
7377}
7378impl ::core::default::Default for PENDINGMSG {
7379 fn default() -> Self {
7380 Self(0)
7381 }
7382}
7383impl ::windows_core::TypeKind for PENDINGMSG {
7384 type TypeKind = ::windows_core::CopyType;
7385}
7386impl ::core::fmt::Debug for PENDINGMSG {
7387 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7388 f.debug_tuple(name:"PENDINGMSG").field(&self.0).finish()
7389 }
7390}
7391#[repr(transparent)]
7392#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7393pub struct PENDINGTYPE(pub i32);
7394impl ::core::marker::Copy for PENDINGTYPE {}
7395impl ::core::clone::Clone for PENDINGTYPE {
7396 fn clone(&self) -> Self {
7397 *self
7398 }
7399}
7400impl ::core::default::Default for PENDINGTYPE {
7401 fn default() -> Self {
7402 Self(0)
7403 }
7404}
7405impl ::windows_core::TypeKind for PENDINGTYPE {
7406 type TypeKind = ::windows_core::CopyType;
7407}
7408impl ::core::fmt::Debug for PENDINGTYPE {
7409 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7410 f.debug_tuple(name:"PENDINGTYPE").field(&self.0).finish()
7411 }
7412}
7413#[repr(transparent)]
7414#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7415pub struct REGCLS(pub i32);
7416impl ::core::marker::Copy for REGCLS {}
7417impl ::core::clone::Clone for REGCLS {
7418 fn clone(&self) -> Self {
7419 *self
7420 }
7421}
7422impl ::core::default::Default for REGCLS {
7423 fn default() -> Self {
7424 Self(0)
7425 }
7426}
7427impl ::windows_core::TypeKind for REGCLS {
7428 type TypeKind = ::windows_core::CopyType;
7429}
7430impl ::core::fmt::Debug for REGCLS {
7431 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7432 f.debug_tuple(name:"REGCLS").field(&self.0).finish()
7433 }
7434}
7435impl REGCLS {
7436 pub const fn contains(&self, other: Self) -> bool {
7437 self.0 & other.0 == other.0
7438 }
7439}
7440impl ::core::ops::BitOr for REGCLS {
7441 type Output = Self;
7442 fn bitor(self, other: Self) -> Self {
7443 Self(self.0 | other.0)
7444 }
7445}
7446impl ::core::ops::BitAnd for REGCLS {
7447 type Output = Self;
7448 fn bitand(self, other: Self) -> Self {
7449 Self(self.0 & other.0)
7450 }
7451}
7452impl ::core::ops::BitOrAssign for REGCLS {
7453 fn bitor_assign(&mut self, other: Self) {
7454 self.0.bitor_assign(other.0)
7455 }
7456}
7457impl ::core::ops::BitAndAssign for REGCLS {
7458 fn bitand_assign(&mut self, other: Self) {
7459 self.0.bitand_assign(other.0)
7460 }
7461}
7462impl ::core::ops::Not for REGCLS {
7463 type Output = Self;
7464 fn not(self) -> Self {
7465 Self(self.0.not())
7466 }
7467}
7468#[repr(transparent)]
7469#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7470pub struct ROT_FLAGS(pub u32);
7471impl ::core::marker::Copy for ROT_FLAGS {}
7472impl ::core::clone::Clone for ROT_FLAGS {
7473 fn clone(&self) -> Self {
7474 *self
7475 }
7476}
7477impl ::core::default::Default for ROT_FLAGS {
7478 fn default() -> Self {
7479 Self(0)
7480 }
7481}
7482impl ::windows_core::TypeKind for ROT_FLAGS {
7483 type TypeKind = ::windows_core::CopyType;
7484}
7485impl ::core::fmt::Debug for ROT_FLAGS {
7486 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7487 f.debug_tuple(name:"ROT_FLAGS").field(&self.0).finish()
7488 }
7489}
7490impl ROT_FLAGS {
7491 pub const fn contains(&self, other: Self) -> bool {
7492 self.0 & other.0 == other.0
7493 }
7494}
7495impl ::core::ops::BitOr for ROT_FLAGS {
7496 type Output = Self;
7497 fn bitor(self, other: Self) -> Self {
7498 Self(self.0 | other.0)
7499 }
7500}
7501impl ::core::ops::BitAnd for ROT_FLAGS {
7502 type Output = Self;
7503 fn bitand(self, other: Self) -> Self {
7504 Self(self.0 & other.0)
7505 }
7506}
7507impl ::core::ops::BitOrAssign for ROT_FLAGS {
7508 fn bitor_assign(&mut self, other: Self) {
7509 self.0.bitor_assign(other.0)
7510 }
7511}
7512impl ::core::ops::BitAndAssign for ROT_FLAGS {
7513 fn bitand_assign(&mut self, other: Self) {
7514 self.0.bitand_assign(other.0)
7515 }
7516}
7517impl ::core::ops::Not for ROT_FLAGS {
7518 type Output = Self;
7519 fn not(self) -> Self {
7520 Self(self.0.not())
7521 }
7522}
7523#[repr(transparent)]
7524#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7525pub struct RPCOPT_PROPERTIES(pub i32);
7526impl ::core::marker::Copy for RPCOPT_PROPERTIES {}
7527impl ::core::clone::Clone for RPCOPT_PROPERTIES {
7528 fn clone(&self) -> Self {
7529 *self
7530 }
7531}
7532impl ::core::default::Default for RPCOPT_PROPERTIES {
7533 fn default() -> Self {
7534 Self(0)
7535 }
7536}
7537impl ::windows_core::TypeKind for RPCOPT_PROPERTIES {
7538 type TypeKind = ::windows_core::CopyType;
7539}
7540impl ::core::fmt::Debug for RPCOPT_PROPERTIES {
7541 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7542 f.debug_tuple(name:"RPCOPT_PROPERTIES").field(&self.0).finish()
7543 }
7544}
7545#[repr(transparent)]
7546#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7547pub struct RPCOPT_SERVER_LOCALITY_VALUES(pub i32);
7548impl ::core::marker::Copy for RPCOPT_SERVER_LOCALITY_VALUES {}
7549impl ::core::clone::Clone for RPCOPT_SERVER_LOCALITY_VALUES {
7550 fn clone(&self) -> Self {
7551 *self
7552 }
7553}
7554impl ::core::default::Default for RPCOPT_SERVER_LOCALITY_VALUES {
7555 fn default() -> Self {
7556 Self(0)
7557 }
7558}
7559impl ::windows_core::TypeKind for RPCOPT_SERVER_LOCALITY_VALUES {
7560 type TypeKind = ::windows_core::CopyType;
7561}
7562impl ::core::fmt::Debug for RPCOPT_SERVER_LOCALITY_VALUES {
7563 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7564 f.debug_tuple(name:"RPCOPT_SERVER_LOCALITY_VALUES").field(&self.0).finish()
7565 }
7566}
7567#[repr(transparent)]
7568#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7569pub struct RPC_C_AUTHN_LEVEL(pub u32);
7570impl ::core::marker::Copy for RPC_C_AUTHN_LEVEL {}
7571impl ::core::clone::Clone for RPC_C_AUTHN_LEVEL {
7572 fn clone(&self) -> Self {
7573 *self
7574 }
7575}
7576impl ::core::default::Default for RPC_C_AUTHN_LEVEL {
7577 fn default() -> Self {
7578 Self(0)
7579 }
7580}
7581impl ::windows_core::TypeKind for RPC_C_AUTHN_LEVEL {
7582 type TypeKind = ::windows_core::CopyType;
7583}
7584impl ::core::fmt::Debug for RPC_C_AUTHN_LEVEL {
7585 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7586 f.debug_tuple(name:"RPC_C_AUTHN_LEVEL").field(&self.0).finish()
7587 }
7588}
7589#[repr(transparent)]
7590#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7591pub struct RPC_C_IMP_LEVEL(pub u32);
7592impl ::core::marker::Copy for RPC_C_IMP_LEVEL {}
7593impl ::core::clone::Clone for RPC_C_IMP_LEVEL {
7594 fn clone(&self) -> Self {
7595 *self
7596 }
7597}
7598impl ::core::default::Default for RPC_C_IMP_LEVEL {
7599 fn default() -> Self {
7600 Self(0)
7601 }
7602}
7603impl ::windows_core::TypeKind for RPC_C_IMP_LEVEL {
7604 type TypeKind = ::windows_core::CopyType;
7605}
7606impl ::core::fmt::Debug for RPC_C_IMP_LEVEL {
7607 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7608 f.debug_tuple(name:"RPC_C_IMP_LEVEL").field(&self.0).finish()
7609 }
7610}
7611#[repr(transparent)]
7612#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7613pub struct SERVERCALL(pub i32);
7614impl ::core::marker::Copy for SERVERCALL {}
7615impl ::core::clone::Clone for SERVERCALL {
7616 fn clone(&self) -> Self {
7617 *self
7618 }
7619}
7620impl ::core::default::Default for SERVERCALL {
7621 fn default() -> Self {
7622 Self(0)
7623 }
7624}
7625impl ::windows_core::TypeKind for SERVERCALL {
7626 type TypeKind = ::windows_core::CopyType;
7627}
7628impl ::core::fmt::Debug for SERVERCALL {
7629 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7630 f.debug_tuple(name:"SERVERCALL").field(&self.0).finish()
7631 }
7632}
7633#[repr(transparent)]
7634#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7635pub struct STATFLAG(pub i32);
7636impl ::core::marker::Copy for STATFLAG {}
7637impl ::core::clone::Clone for STATFLAG {
7638 fn clone(&self) -> Self {
7639 *self
7640 }
7641}
7642impl ::core::default::Default for STATFLAG {
7643 fn default() -> Self {
7644 Self(0)
7645 }
7646}
7647impl ::windows_core::TypeKind for STATFLAG {
7648 type TypeKind = ::windows_core::CopyType;
7649}
7650impl ::core::fmt::Debug for STATFLAG {
7651 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7652 f.debug_tuple(name:"STATFLAG").field(&self.0).finish()
7653 }
7654}
7655#[repr(transparent)]
7656#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7657pub struct STGC(pub i32);
7658impl ::core::marker::Copy for STGC {}
7659impl ::core::clone::Clone for STGC {
7660 fn clone(&self) -> Self {
7661 *self
7662 }
7663}
7664impl ::core::default::Default for STGC {
7665 fn default() -> Self {
7666 Self(0)
7667 }
7668}
7669impl ::windows_core::TypeKind for STGC {
7670 type TypeKind = ::windows_core::CopyType;
7671}
7672impl ::core::fmt::Debug for STGC {
7673 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7674 f.debug_tuple(name:"STGC").field(&self.0).finish()
7675 }
7676}
7677impl STGC {
7678 pub const fn contains(&self, other: Self) -> bool {
7679 self.0 & other.0 == other.0
7680 }
7681}
7682impl ::core::ops::BitOr for STGC {
7683 type Output = Self;
7684 fn bitor(self, other: Self) -> Self {
7685 Self(self.0 | other.0)
7686 }
7687}
7688impl ::core::ops::BitAnd for STGC {
7689 type Output = Self;
7690 fn bitand(self, other: Self) -> Self {
7691 Self(self.0 & other.0)
7692 }
7693}
7694impl ::core::ops::BitOrAssign for STGC {
7695 fn bitor_assign(&mut self, other: Self) {
7696 self.0.bitor_assign(other.0)
7697 }
7698}
7699impl ::core::ops::BitAndAssign for STGC {
7700 fn bitand_assign(&mut self, other: Self) {
7701 self.0.bitand_assign(other.0)
7702 }
7703}
7704impl ::core::ops::Not for STGC {
7705 type Output = Self;
7706 fn not(self) -> Self {
7707 Self(self.0.not())
7708 }
7709}
7710#[repr(transparent)]
7711#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7712pub struct STGM(pub u32);
7713impl ::core::marker::Copy for STGM {}
7714impl ::core::clone::Clone for STGM {
7715 fn clone(&self) -> Self {
7716 *self
7717 }
7718}
7719impl ::core::default::Default for STGM {
7720 fn default() -> Self {
7721 Self(0)
7722 }
7723}
7724impl ::windows_core::TypeKind for STGM {
7725 type TypeKind = ::windows_core::CopyType;
7726}
7727impl ::core::fmt::Debug for STGM {
7728 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7729 f.debug_tuple(name:"STGM").field(&self.0).finish()
7730 }
7731}
7732impl STGM {
7733 pub const fn contains(&self, other: Self) -> bool {
7734 self.0 & other.0 == other.0
7735 }
7736}
7737impl ::core::ops::BitOr for STGM {
7738 type Output = Self;
7739 fn bitor(self, other: Self) -> Self {
7740 Self(self.0 | other.0)
7741 }
7742}
7743impl ::core::ops::BitAnd for STGM {
7744 type Output = Self;
7745 fn bitand(self, other: Self) -> Self {
7746 Self(self.0 & other.0)
7747 }
7748}
7749impl ::core::ops::BitOrAssign for STGM {
7750 fn bitor_assign(&mut self, other: Self) {
7751 self.0.bitor_assign(other.0)
7752 }
7753}
7754impl ::core::ops::BitAndAssign for STGM {
7755 fn bitand_assign(&mut self, other: Self) {
7756 self.0.bitand_assign(other.0)
7757 }
7758}
7759impl ::core::ops::Not for STGM {
7760 type Output = Self;
7761 fn not(self) -> Self {
7762 Self(self.0.not())
7763 }
7764}
7765#[repr(transparent)]
7766#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7767pub struct STGTY(pub i32);
7768impl ::core::marker::Copy for STGTY {}
7769impl ::core::clone::Clone for STGTY {
7770 fn clone(&self) -> Self {
7771 *self
7772 }
7773}
7774impl ::core::default::Default for STGTY {
7775 fn default() -> Self {
7776 Self(0)
7777 }
7778}
7779impl ::windows_core::TypeKind for STGTY {
7780 type TypeKind = ::windows_core::CopyType;
7781}
7782impl ::core::fmt::Debug for STGTY {
7783 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7784 f.debug_tuple(name:"STGTY").field(&self.0).finish()
7785 }
7786}
7787#[repr(transparent)]
7788#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7789pub struct STREAM_SEEK(pub u32);
7790impl ::core::marker::Copy for STREAM_SEEK {}
7791impl ::core::clone::Clone for STREAM_SEEK {
7792 fn clone(&self) -> Self {
7793 *self
7794 }
7795}
7796impl ::core::default::Default for STREAM_SEEK {
7797 fn default() -> Self {
7798 Self(0)
7799 }
7800}
7801impl ::windows_core::TypeKind for STREAM_SEEK {
7802 type TypeKind = ::windows_core::CopyType;
7803}
7804impl ::core::fmt::Debug for STREAM_SEEK {
7805 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7806 f.debug_tuple(name:"STREAM_SEEK").field(&self.0).finish()
7807 }
7808}
7809#[repr(transparent)]
7810#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7811pub struct SYSKIND(pub i32);
7812impl ::core::marker::Copy for SYSKIND {}
7813impl ::core::clone::Clone for SYSKIND {
7814 fn clone(&self) -> Self {
7815 *self
7816 }
7817}
7818impl ::core::default::Default for SYSKIND {
7819 fn default() -> Self {
7820 Self(0)
7821 }
7822}
7823impl ::windows_core::TypeKind for SYSKIND {
7824 type TypeKind = ::windows_core::CopyType;
7825}
7826impl ::core::fmt::Debug for SYSKIND {
7827 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7828 f.debug_tuple(name:"SYSKIND").field(&self.0).finish()
7829 }
7830}
7831#[repr(transparent)]
7832#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7833pub struct ShutdownType(pub i32);
7834impl ::core::marker::Copy for ShutdownType {}
7835impl ::core::clone::Clone for ShutdownType {
7836 fn clone(&self) -> Self {
7837 *self
7838 }
7839}
7840impl ::core::default::Default for ShutdownType {
7841 fn default() -> Self {
7842 Self(0)
7843 }
7844}
7845impl ::windows_core::TypeKind for ShutdownType {
7846 type TypeKind = ::windows_core::CopyType;
7847}
7848impl ::core::fmt::Debug for ShutdownType {
7849 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7850 f.debug_tuple(name:"ShutdownType").field(&self.0).finish()
7851 }
7852}
7853#[repr(transparent)]
7854#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7855pub struct THDTYPE(pub i32);
7856impl ::core::marker::Copy for THDTYPE {}
7857impl ::core::clone::Clone for THDTYPE {
7858 fn clone(&self) -> Self {
7859 *self
7860 }
7861}
7862impl ::core::default::Default for THDTYPE {
7863 fn default() -> Self {
7864 Self(0)
7865 }
7866}
7867impl ::windows_core::TypeKind for THDTYPE {
7868 type TypeKind = ::windows_core::CopyType;
7869}
7870impl ::core::fmt::Debug for THDTYPE {
7871 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7872 f.debug_tuple(name:"THDTYPE").field(&self.0).finish()
7873 }
7874}
7875#[repr(transparent)]
7876#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7877pub struct TYMED(pub i32);
7878impl ::core::marker::Copy for TYMED {}
7879impl ::core::clone::Clone for TYMED {
7880 fn clone(&self) -> Self {
7881 *self
7882 }
7883}
7884impl ::core::default::Default for TYMED {
7885 fn default() -> Self {
7886 Self(0)
7887 }
7888}
7889impl ::windows_core::TypeKind for TYMED {
7890 type TypeKind = ::windows_core::CopyType;
7891}
7892impl ::core::fmt::Debug for TYMED {
7893 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7894 f.debug_tuple(name:"TYMED").field(&self.0).finish()
7895 }
7896}
7897#[repr(transparent)]
7898#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7899pub struct TYPEKIND(pub i32);
7900impl ::core::marker::Copy for TYPEKIND {}
7901impl ::core::clone::Clone for TYPEKIND {
7902 fn clone(&self) -> Self {
7903 *self
7904 }
7905}
7906impl ::core::default::Default for TYPEKIND {
7907 fn default() -> Self {
7908 Self(0)
7909 }
7910}
7911impl ::windows_core::TypeKind for TYPEKIND {
7912 type TypeKind = ::windows_core::CopyType;
7913}
7914impl ::core::fmt::Debug for TYPEKIND {
7915 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7916 f.debug_tuple(name:"TYPEKIND").field(&self.0).finish()
7917 }
7918}
7919#[repr(transparent)]
7920#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7921pub struct TYSPEC(pub i32);
7922impl ::core::marker::Copy for TYSPEC {}
7923impl ::core::clone::Clone for TYSPEC {
7924 fn clone(&self) -> Self {
7925 *self
7926 }
7927}
7928impl ::core::default::Default for TYSPEC {
7929 fn default() -> Self {
7930 Self(0)
7931 }
7932}
7933impl ::windows_core::TypeKind for TYSPEC {
7934 type TypeKind = ::windows_core::CopyType;
7935}
7936impl ::core::fmt::Debug for TYSPEC {
7937 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7938 f.debug_tuple(name:"TYSPEC").field(&self.0).finish()
7939 }
7940}
7941#[repr(transparent)]
7942#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7943pub struct URI_CREATE_FLAGS(pub u32);
7944impl ::core::marker::Copy for URI_CREATE_FLAGS {}
7945impl ::core::clone::Clone for URI_CREATE_FLAGS {
7946 fn clone(&self) -> Self {
7947 *self
7948 }
7949}
7950impl ::core::default::Default for URI_CREATE_FLAGS {
7951 fn default() -> Self {
7952 Self(0)
7953 }
7954}
7955impl ::windows_core::TypeKind for URI_CREATE_FLAGS {
7956 type TypeKind = ::windows_core::CopyType;
7957}
7958impl ::core::fmt::Debug for URI_CREATE_FLAGS {
7959 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7960 f.debug_tuple(name:"URI_CREATE_FLAGS").field(&self.0).finish()
7961 }
7962}
7963impl URI_CREATE_FLAGS {
7964 pub const fn contains(&self, other: Self) -> bool {
7965 self.0 & other.0 == other.0
7966 }
7967}
7968impl ::core::ops::BitOr for URI_CREATE_FLAGS {
7969 type Output = Self;
7970 fn bitor(self, other: Self) -> Self {
7971 Self(self.0 | other.0)
7972 }
7973}
7974impl ::core::ops::BitAnd for URI_CREATE_FLAGS {
7975 type Output = Self;
7976 fn bitand(self, other: Self) -> Self {
7977 Self(self.0 & other.0)
7978 }
7979}
7980impl ::core::ops::BitOrAssign for URI_CREATE_FLAGS {
7981 fn bitor_assign(&mut self, other: Self) {
7982 self.0.bitor_assign(other.0)
7983 }
7984}
7985impl ::core::ops::BitAndAssign for URI_CREATE_FLAGS {
7986 fn bitand_assign(&mut self, other: Self) {
7987 self.0.bitand_assign(other.0)
7988 }
7989}
7990impl ::core::ops::Not for URI_CREATE_FLAGS {
7991 type Output = Self;
7992 fn not(self) -> Self {
7993 Self(self.0.not())
7994 }
7995}
7996#[repr(transparent)]
7997#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
7998pub struct Uri_PROPERTY(pub i32);
7999impl ::core::marker::Copy for Uri_PROPERTY {}
8000impl ::core::clone::Clone for Uri_PROPERTY {
8001 fn clone(&self) -> Self {
8002 *self
8003 }
8004}
8005impl ::core::default::Default for Uri_PROPERTY {
8006 fn default() -> Self {
8007 Self(0)
8008 }
8009}
8010impl ::windows_core::TypeKind for Uri_PROPERTY {
8011 type TypeKind = ::windows_core::CopyType;
8012}
8013impl ::core::fmt::Debug for Uri_PROPERTY {
8014 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8015 f.debug_tuple(name:"Uri_PROPERTY").field(&self.0).finish()
8016 }
8017}
8018#[repr(transparent)]
8019#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
8020pub struct VARFLAGS(pub u16);
8021impl ::core::marker::Copy for VARFLAGS {}
8022impl ::core::clone::Clone for VARFLAGS {
8023 fn clone(&self) -> Self {
8024 *self
8025 }
8026}
8027impl ::core::default::Default for VARFLAGS {
8028 fn default() -> Self {
8029 Self(0)
8030 }
8031}
8032impl ::windows_core::TypeKind for VARFLAGS {
8033 type TypeKind = ::windows_core::CopyType;
8034}
8035impl ::core::fmt::Debug for VARFLAGS {
8036 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8037 f.debug_tuple(name:"VARFLAGS").field(&self.0).finish()
8038 }
8039}
8040#[repr(transparent)]
8041#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
8042pub struct VARKIND(pub i32);
8043impl ::core::marker::Copy for VARKIND {}
8044impl ::core::clone::Clone for VARKIND {
8045 fn clone(&self) -> Self {
8046 *self
8047 }
8048}
8049impl ::core::default::Default for VARKIND {
8050 fn default() -> Self {
8051 Self(0)
8052 }
8053}
8054impl ::windows_core::TypeKind for VARKIND {
8055 type TypeKind = ::windows_core::CopyType;
8056}
8057impl ::core::fmt::Debug for VARKIND {
8058 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8059 f.debug_tuple(name:"VARKIND").field(&self.0).finish()
8060 }
8061}
8062#[repr(C)]
8063pub struct AUTHENTICATEINFO {
8064 pub dwFlags: u32,
8065 pub dwReserved: u32,
8066}
8067impl ::core::marker::Copy for AUTHENTICATEINFO {}
8068impl ::core::clone::Clone for AUTHENTICATEINFO {
8069 fn clone(&self) -> Self {
8070 *self
8071 }
8072}
8073impl ::core::fmt::Debug for AUTHENTICATEINFO {
8074 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8075 f.debug_struct("AUTHENTICATEINFO").field("dwFlags", &self.dwFlags).field(name:"dwReserved", &self.dwReserved).finish()
8076 }
8077}
8078impl ::windows_core::TypeKind for AUTHENTICATEINFO {
8079 type TypeKind = ::windows_core::CopyType;
8080}
8081impl ::core::cmp::PartialEq for AUTHENTICATEINFO {
8082 fn eq(&self, other: &Self) -> bool {
8083 self.dwFlags == other.dwFlags && self.dwReserved == other.dwReserved
8084 }
8085}
8086impl ::core::cmp::Eq for AUTHENTICATEINFO {}
8087impl ::core::default::Default for AUTHENTICATEINFO {
8088 fn default() -> Self {
8089 unsafe { ::core::mem::zeroed() }
8090 }
8091}
8092#[repr(C)]
8093#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_Security\"`, `\"Win32_System_Com_StructuredStorage\"`"]
8094#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
8095pub struct BINDINFO {
8096 pub cbSize: u32,
8097 pub szExtraInfo: ::windows_core::PWSTR,
8098 pub stgmedData: STGMEDIUM,
8099 pub grfBindInfoF: u32,
8100 pub dwBindVerb: u32,
8101 pub szCustomVerb: ::windows_core::PWSTR,
8102 pub cbstgmedData: u32,
8103 pub dwOptions: u32,
8104 pub dwOptionsFlags: u32,
8105 pub dwCodePage: u32,
8106 pub securityAttributes: super::super::Security::SECURITY_ATTRIBUTES,
8107 pub iid: ::windows_core::GUID,
8108 pub pUnk: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
8109 pub dwReserved: u32,
8110}
8111#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
8112impl ::core::clone::Clone for BINDINFO {
8113 fn clone(&self) -> Self {
8114 unsafe { ::core::mem::transmute_copy(self) }
8115 }
8116}
8117#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
8118impl ::windows_core::TypeKind for BINDINFO {
8119 type TypeKind = ::windows_core::CopyType;
8120}
8121#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
8122impl ::core::default::Default for BINDINFO {
8123 fn default() -> Self {
8124 unsafe { ::core::mem::zeroed() }
8125 }
8126}
8127#[repr(C)]
8128#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
8129#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8130pub union BINDPTR {
8131 pub lpfuncdesc: *mut FUNCDESC,
8132 pub lpvardesc: *mut VARDESC,
8133 pub lptcomp: ::std::mem::ManuallyDrop<::core::option::Option<ITypeComp>>,
8134}
8135#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8136impl ::core::clone::Clone for BINDPTR {
8137 fn clone(&self) -> Self {
8138 unsafe { ::core::mem::transmute_copy(self) }
8139 }
8140}
8141#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8142impl ::windows_core::TypeKind for BINDPTR {
8143 type TypeKind = ::windows_core::CopyType;
8144}
8145#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8146impl ::core::default::Default for BINDPTR {
8147 fn default() -> Self {
8148 unsafe { ::core::mem::zeroed() }
8149 }
8150}
8151#[repr(C)]
8152pub struct BIND_OPTS {
8153 pub cbStruct: u32,
8154 pub grfFlags: u32,
8155 pub grfMode: u32,
8156 pub dwTickCountDeadline: u32,
8157}
8158impl ::core::marker::Copy for BIND_OPTS {}
8159impl ::core::clone::Clone for BIND_OPTS {
8160 fn clone(&self) -> Self {
8161 *self
8162 }
8163}
8164impl ::core::fmt::Debug for BIND_OPTS {
8165 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8166 f.debug_struct("BIND_OPTS").field("cbStruct", &self.cbStruct).field("grfFlags", &self.grfFlags).field("grfMode", &self.grfMode).field(name:"dwTickCountDeadline", &self.dwTickCountDeadline).finish()
8167 }
8168}
8169impl ::windows_core::TypeKind for BIND_OPTS {
8170 type TypeKind = ::windows_core::CopyType;
8171}
8172impl ::core::cmp::PartialEq for BIND_OPTS {
8173 fn eq(&self, other: &Self) -> bool {
8174 self.cbStruct == other.cbStruct && self.grfFlags == other.grfFlags && self.grfMode == other.grfMode && self.dwTickCountDeadline == other.dwTickCountDeadline
8175 }
8176}
8177impl ::core::cmp::Eq for BIND_OPTS {}
8178impl ::core::default::Default for BIND_OPTS {
8179 fn default() -> Self {
8180 unsafe { ::core::mem::zeroed() }
8181 }
8182}
8183#[repr(C)]
8184pub struct BIND_OPTS2 {
8185 pub Base: BIND_OPTS,
8186 pub dwTrackFlags: u32,
8187 pub dwClassContext: u32,
8188 pub locale: u32,
8189 pub pServerInfo: *mut COSERVERINFO,
8190}
8191impl ::core::marker::Copy for BIND_OPTS2 {}
8192impl ::core::clone::Clone for BIND_OPTS2 {
8193 fn clone(&self) -> Self {
8194 *self
8195 }
8196}
8197impl ::core::fmt::Debug for BIND_OPTS2 {
8198 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8199 f.debug_struct("BIND_OPTS2").field("Base", &self.Base).field("dwTrackFlags", &self.dwTrackFlags).field("dwClassContext", &self.dwClassContext).field("locale", &self.locale).field(name:"pServerInfo", &self.pServerInfo).finish()
8200 }
8201}
8202impl ::windows_core::TypeKind for BIND_OPTS2 {
8203 type TypeKind = ::windows_core::CopyType;
8204}
8205impl ::core::cmp::PartialEq for BIND_OPTS2 {
8206 fn eq(&self, other: &Self) -> bool {
8207 self.Base == other.Base && self.dwTrackFlags == other.dwTrackFlags && self.dwClassContext == other.dwClassContext && self.locale == other.locale && self.pServerInfo == other.pServerInfo
8208 }
8209}
8210impl ::core::cmp::Eq for BIND_OPTS2 {}
8211impl ::core::default::Default for BIND_OPTS2 {
8212 fn default() -> Self {
8213 unsafe { ::core::mem::zeroed() }
8214 }
8215}
8216#[repr(C)]
8217#[doc = "Required features: `\"Win32_Foundation\"`"]
8218#[cfg(feature = "Win32_Foundation")]
8219pub struct BIND_OPTS3 {
8220 pub Base: BIND_OPTS2,
8221 pub hwnd: super::super::Foundation::HWND,
8222}
8223#[cfg(feature = "Win32_Foundation")]
8224impl ::core::marker::Copy for BIND_OPTS3 {}
8225#[cfg(feature = "Win32_Foundation")]
8226impl ::core::clone::Clone for BIND_OPTS3 {
8227 fn clone(&self) -> Self {
8228 *self
8229 }
8230}
8231#[cfg(feature = "Win32_Foundation")]
8232impl ::core::fmt::Debug for BIND_OPTS3 {
8233 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8234 f.debug_struct("BIND_OPTS3").field("Base", &self.Base).field(name:"hwnd", &self.hwnd).finish()
8235 }
8236}
8237#[cfg(feature = "Win32_Foundation")]
8238impl ::windows_core::TypeKind for BIND_OPTS3 {
8239 type TypeKind = ::windows_core::CopyType;
8240}
8241#[cfg(feature = "Win32_Foundation")]
8242impl ::core::cmp::PartialEq for BIND_OPTS3 {
8243 fn eq(&self, other: &Self) -> bool {
8244 self.Base == other.Base && self.hwnd == other.hwnd
8245 }
8246}
8247#[cfg(feature = "Win32_Foundation")]
8248impl ::core::cmp::Eq for BIND_OPTS3 {}
8249#[cfg(feature = "Win32_Foundation")]
8250impl ::core::default::Default for BIND_OPTS3 {
8251 fn default() -> Self {
8252 unsafe { ::core::mem::zeroed() }
8253 }
8254}
8255#[repr(C)]
8256pub struct BLOB {
8257 pub cbSize: u32,
8258 pub pBlobData: *mut u8,
8259}
8260impl ::core::marker::Copy for BLOB {}
8261impl ::core::clone::Clone for BLOB {
8262 fn clone(&self) -> Self {
8263 *self
8264 }
8265}
8266impl ::core::fmt::Debug for BLOB {
8267 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8268 f.debug_struct("BLOB").field("cbSize", &self.cbSize).field(name:"pBlobData", &self.pBlobData).finish()
8269 }
8270}
8271impl ::windows_core::TypeKind for BLOB {
8272 type TypeKind = ::windows_core::CopyType;
8273}
8274impl ::core::cmp::PartialEq for BLOB {
8275 fn eq(&self, other: &Self) -> bool {
8276 self.cbSize == other.cbSize && self.pBlobData == other.pBlobData
8277 }
8278}
8279impl ::core::cmp::Eq for BLOB {}
8280impl ::core::default::Default for BLOB {
8281 fn default() -> Self {
8282 unsafe { ::core::mem::zeroed() }
8283 }
8284}
8285#[repr(C)]
8286pub struct BYTE_BLOB {
8287 pub clSize: u32,
8288 pub abData: [u8; 1],
8289}
8290impl ::core::marker::Copy for BYTE_BLOB {}
8291impl ::core::clone::Clone for BYTE_BLOB {
8292 fn clone(&self) -> Self {
8293 *self
8294 }
8295}
8296impl ::core::fmt::Debug for BYTE_BLOB {
8297 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8298 f.debug_struct("BYTE_BLOB").field("clSize", &self.clSize).field(name:"abData", &self.abData).finish()
8299 }
8300}
8301impl ::windows_core::TypeKind for BYTE_BLOB {
8302 type TypeKind = ::windows_core::CopyType;
8303}
8304impl ::core::cmp::PartialEq for BYTE_BLOB {
8305 fn eq(&self, other: &Self) -> bool {
8306 self.clSize == other.clSize && self.abData == other.abData
8307 }
8308}
8309impl ::core::cmp::Eq for BYTE_BLOB {}
8310impl ::core::default::Default for BYTE_BLOB {
8311 fn default() -> Self {
8312 unsafe { ::core::mem::zeroed() }
8313 }
8314}
8315#[repr(C)]
8316pub struct BYTE_SIZEDARR {
8317 pub clSize: u32,
8318 pub pData: *mut u8,
8319}
8320impl ::core::marker::Copy for BYTE_SIZEDARR {}
8321impl ::core::clone::Clone for BYTE_SIZEDARR {
8322 fn clone(&self) -> Self {
8323 *self
8324 }
8325}
8326impl ::core::fmt::Debug for BYTE_SIZEDARR {
8327 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8328 f.debug_struct("BYTE_SIZEDARR").field("clSize", &self.clSize).field(name:"pData", &self.pData).finish()
8329 }
8330}
8331impl ::windows_core::TypeKind for BYTE_SIZEDARR {
8332 type TypeKind = ::windows_core::CopyType;
8333}
8334impl ::core::cmp::PartialEq for BYTE_SIZEDARR {
8335 fn eq(&self, other: &Self) -> bool {
8336 self.clSize == other.clSize && self.pData == other.pData
8337 }
8338}
8339impl ::core::cmp::Eq for BYTE_SIZEDARR {}
8340impl ::core::default::Default for BYTE_SIZEDARR {
8341 fn default() -> Self {
8342 unsafe { ::core::mem::zeroed() }
8343 }
8344}
8345#[repr(C)]
8346pub struct CATEGORYINFO {
8347 pub catid: ::windows_core::GUID,
8348 pub lcid: u32,
8349 pub szDescription: [u16; 128],
8350}
8351impl ::core::marker::Copy for CATEGORYINFO {}
8352impl ::core::clone::Clone for CATEGORYINFO {
8353 fn clone(&self) -> Self {
8354 *self
8355 }
8356}
8357impl ::core::fmt::Debug for CATEGORYINFO {
8358 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8359 f.debug_struct("CATEGORYINFO").field("catid", &self.catid).field("lcid", &self.lcid).field(name:"szDescription", &self.szDescription).finish()
8360 }
8361}
8362impl ::windows_core::TypeKind for CATEGORYINFO {
8363 type TypeKind = ::windows_core::CopyType;
8364}
8365impl ::core::cmp::PartialEq for CATEGORYINFO {
8366 fn eq(&self, other: &Self) -> bool {
8367 self.catid == other.catid && self.lcid == other.lcid && self.szDescription == other.szDescription
8368 }
8369}
8370impl ::core::cmp::Eq for CATEGORYINFO {}
8371impl ::core::default::Default for CATEGORYINFO {
8372 fn default() -> Self {
8373 unsafe { ::core::mem::zeroed() }
8374 }
8375}
8376#[repr(C)]
8377pub struct COAUTHIDENTITY {
8378 pub User: *mut u16,
8379 pub UserLength: u32,
8380 pub Domain: *mut u16,
8381 pub DomainLength: u32,
8382 pub Password: *mut u16,
8383 pub PasswordLength: u32,
8384 pub Flags: u32,
8385}
8386impl ::core::marker::Copy for COAUTHIDENTITY {}
8387impl ::core::clone::Clone for COAUTHIDENTITY {
8388 fn clone(&self) -> Self {
8389 *self
8390 }
8391}
8392impl ::core::fmt::Debug for COAUTHIDENTITY {
8393 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8394 f.debug_struct("COAUTHIDENTITY").field("User", &self.User).field("UserLength", &self.UserLength).field("Domain", &self.Domain).field("DomainLength", &self.DomainLength).field("Password", &self.Password).field("PasswordLength", &self.PasswordLength).field(name:"Flags", &self.Flags).finish()
8395 }
8396}
8397impl ::windows_core::TypeKind for COAUTHIDENTITY {
8398 type TypeKind = ::windows_core::CopyType;
8399}
8400impl ::core::cmp::PartialEq for COAUTHIDENTITY {
8401 fn eq(&self, other: &Self) -> bool {
8402 self.User == other.User && self.UserLength == other.UserLength && self.Domain == other.Domain && self.DomainLength == other.DomainLength && self.Password == other.Password && self.PasswordLength == other.PasswordLength && self.Flags == other.Flags
8403 }
8404}
8405impl ::core::cmp::Eq for COAUTHIDENTITY {}
8406impl ::core::default::Default for COAUTHIDENTITY {
8407 fn default() -> Self {
8408 unsafe { ::core::mem::zeroed() }
8409 }
8410}
8411#[repr(C)]
8412pub struct COAUTHINFO {
8413 pub dwAuthnSvc: u32,
8414 pub dwAuthzSvc: u32,
8415 pub pwszServerPrincName: ::windows_core::PWSTR,
8416 pub dwAuthnLevel: u32,
8417 pub dwImpersonationLevel: u32,
8418 pub pAuthIdentityData: *mut COAUTHIDENTITY,
8419 pub dwCapabilities: u32,
8420}
8421impl ::core::marker::Copy for COAUTHINFO {}
8422impl ::core::clone::Clone for COAUTHINFO {
8423 fn clone(&self) -> Self {
8424 *self
8425 }
8426}
8427impl ::core::fmt::Debug for COAUTHINFO {
8428 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8429 f.debug_struct("COAUTHINFO").field("dwAuthnSvc", &self.dwAuthnSvc).field("dwAuthzSvc", &self.dwAuthzSvc).field("pwszServerPrincName", &self.pwszServerPrincName).field("dwAuthnLevel", &self.dwAuthnLevel).field("dwImpersonationLevel", &self.dwImpersonationLevel).field("pAuthIdentityData", &self.pAuthIdentityData).field(name:"dwCapabilities", &self.dwCapabilities).finish()
8430 }
8431}
8432impl ::windows_core::TypeKind for COAUTHINFO {
8433 type TypeKind = ::windows_core::CopyType;
8434}
8435impl ::core::cmp::PartialEq for COAUTHINFO {
8436 fn eq(&self, other: &Self) -> bool {
8437 self.dwAuthnSvc == other.dwAuthnSvc && self.dwAuthzSvc == other.dwAuthzSvc && self.pwszServerPrincName == other.pwszServerPrincName && self.dwAuthnLevel == other.dwAuthnLevel && self.dwImpersonationLevel == other.dwImpersonationLevel && self.pAuthIdentityData == other.pAuthIdentityData && self.dwCapabilities == other.dwCapabilities
8438 }
8439}
8440impl ::core::cmp::Eq for COAUTHINFO {}
8441impl ::core::default::Default for COAUTHINFO {
8442 fn default() -> Self {
8443 unsafe { ::core::mem::zeroed() }
8444 }
8445}
8446#[repr(C)]
8447pub struct CONNECTDATA {
8448 pub pUnk: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
8449 pub dwCookie: u32,
8450}
8451impl ::core::clone::Clone for CONNECTDATA {
8452 fn clone(&self) -> Self {
8453 unsafe { ::core::mem::transmute_copy(self) }
8454 }
8455}
8456impl ::core::fmt::Debug for CONNECTDATA {
8457 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8458 f.debug_struct("CONNECTDATA").field("pUnk", &self.pUnk).field(name:"dwCookie", &self.dwCookie).finish()
8459 }
8460}
8461impl ::windows_core::TypeKind for CONNECTDATA {
8462 type TypeKind = ::windows_core::CopyType;
8463}
8464impl ::core::cmp::PartialEq for CONNECTDATA {
8465 fn eq(&self, other: &Self) -> bool {
8466 self.pUnk == other.pUnk && self.dwCookie == other.dwCookie
8467 }
8468}
8469impl ::core::cmp::Eq for CONNECTDATA {}
8470impl ::core::default::Default for CONNECTDATA {
8471 fn default() -> Self {
8472 unsafe { ::core::mem::zeroed() }
8473 }
8474}
8475#[repr(C)]
8476pub struct COSERVERINFO {
8477 pub dwReserved1: u32,
8478 pub pwszName: ::windows_core::PWSTR,
8479 pub pAuthInfo: *mut COAUTHINFO,
8480 pub dwReserved2: u32,
8481}
8482impl ::core::marker::Copy for COSERVERINFO {}
8483impl ::core::clone::Clone for COSERVERINFO {
8484 fn clone(&self) -> Self {
8485 *self
8486 }
8487}
8488impl ::core::fmt::Debug for COSERVERINFO {
8489 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8490 f.debug_struct("COSERVERINFO").field("dwReserved1", &self.dwReserved1).field("pwszName", &self.pwszName).field("pAuthInfo", &self.pAuthInfo).field(name:"dwReserved2", &self.dwReserved2).finish()
8491 }
8492}
8493impl ::windows_core::TypeKind for COSERVERINFO {
8494 type TypeKind = ::windows_core::CopyType;
8495}
8496impl ::core::cmp::PartialEq for COSERVERINFO {
8497 fn eq(&self, other: &Self) -> bool {
8498 self.dwReserved1 == other.dwReserved1 && self.pwszName == other.pwszName && self.pAuthInfo == other.pAuthInfo && self.dwReserved2 == other.dwReserved2
8499 }
8500}
8501impl ::core::cmp::Eq for COSERVERINFO {}
8502impl ::core::default::Default for COSERVERINFO {
8503 fn default() -> Self {
8504 unsafe { ::core::mem::zeroed() }
8505 }
8506}
8507#[repr(transparent)]
8508#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
8509pub struct CO_DEVICE_CATALOG_COOKIE(pub isize);
8510impl CO_DEVICE_CATALOG_COOKIE {
8511 pub fn is_invalid(&self) -> bool {
8512 self.0 == -1 || self.0 == 0
8513 }
8514}
8515impl ::core::default::Default for CO_DEVICE_CATALOG_COOKIE {
8516 fn default() -> Self {
8517 unsafe { ::core::mem::zeroed() }
8518 }
8519}
8520impl ::core::clone::Clone for CO_DEVICE_CATALOG_COOKIE {
8521 fn clone(&self) -> Self {
8522 *self
8523 }
8524}
8525impl ::core::marker::Copy for CO_DEVICE_CATALOG_COOKIE {}
8526impl ::core::fmt::Debug for CO_DEVICE_CATALOG_COOKIE {
8527 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8528 f.debug_tuple(name:"CO_DEVICE_CATALOG_COOKIE").field(&self.0).finish()
8529 }
8530}
8531impl ::windows_core::TypeKind for CO_DEVICE_CATALOG_COOKIE {
8532 type TypeKind = ::windows_core::CopyType;
8533}
8534#[repr(transparent)]
8535#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
8536pub struct CO_MTA_USAGE_COOKIE(pub isize);
8537impl CO_MTA_USAGE_COOKIE {
8538 pub fn is_invalid(&self) -> bool {
8539 self.0 == -1 || self.0 == 0
8540 }
8541}
8542impl ::core::default::Default for CO_MTA_USAGE_COOKIE {
8543 fn default() -> Self {
8544 unsafe { ::core::mem::zeroed() }
8545 }
8546}
8547impl ::core::clone::Clone for CO_MTA_USAGE_COOKIE {
8548 fn clone(&self) -> Self {
8549 *self
8550 }
8551}
8552impl ::core::marker::Copy for CO_MTA_USAGE_COOKIE {}
8553impl ::core::fmt::Debug for CO_MTA_USAGE_COOKIE {
8554 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8555 f.debug_tuple(name:"CO_MTA_USAGE_COOKIE").field(&self.0).finish()
8556 }
8557}
8558impl ::windows_core::TypeKind for CO_MTA_USAGE_COOKIE {
8559 type TypeKind = ::windows_core::CopyType;
8560}
8561#[repr(C)]
8562pub struct CSPLATFORM {
8563 pub dwPlatformId: u32,
8564 pub dwVersionHi: u32,
8565 pub dwVersionLo: u32,
8566 pub dwProcessorArch: u32,
8567}
8568impl ::core::marker::Copy for CSPLATFORM {}
8569impl ::core::clone::Clone for CSPLATFORM {
8570 fn clone(&self) -> Self {
8571 *self
8572 }
8573}
8574impl ::core::fmt::Debug for CSPLATFORM {
8575 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8576 f.debug_struct("CSPLATFORM").field("dwPlatformId", &self.dwPlatformId).field("dwVersionHi", &self.dwVersionHi).field("dwVersionLo", &self.dwVersionLo).field(name:"dwProcessorArch", &self.dwProcessorArch).finish()
8577 }
8578}
8579impl ::windows_core::TypeKind for CSPLATFORM {
8580 type TypeKind = ::windows_core::CopyType;
8581}
8582impl ::core::cmp::PartialEq for CSPLATFORM {
8583 fn eq(&self, other: &Self) -> bool {
8584 self.dwPlatformId == other.dwPlatformId && self.dwVersionHi == other.dwVersionHi && self.dwVersionLo == other.dwVersionLo && self.dwProcessorArch == other.dwProcessorArch
8585 }
8586}
8587impl ::core::cmp::Eq for CSPLATFORM {}
8588impl ::core::default::Default for CSPLATFORM {
8589 fn default() -> Self {
8590 unsafe { ::core::mem::zeroed() }
8591 }
8592}
8593#[repr(C)]
8594#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
8595#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8596pub struct CUSTDATA {
8597 pub cCustData: u32,
8598 pub prgCustData: *mut CUSTDATAITEM,
8599}
8600#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8601impl ::core::marker::Copy for CUSTDATA {}
8602#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8603impl ::core::clone::Clone for CUSTDATA {
8604 fn clone(&self) -> Self {
8605 *self
8606 }
8607}
8608#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8609impl ::core::fmt::Debug for CUSTDATA {
8610 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8611 f.debug_struct("CUSTDATA").field("cCustData", &self.cCustData).field("prgCustData", &self.prgCustData).finish()
8612 }
8613}
8614#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8615impl ::windows_core::TypeKind for CUSTDATA {
8616 type TypeKind = ::windows_core::CopyType;
8617}
8618#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8619impl ::core::cmp::PartialEq for CUSTDATA {
8620 fn eq(&self, other: &Self) -> bool {
8621 self.cCustData == other.cCustData && self.prgCustData == other.prgCustData
8622 }
8623}
8624#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8625impl ::core::cmp::Eq for CUSTDATA {}
8626#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8627impl ::core::default::Default for CUSTDATA {
8628 fn default() -> Self {
8629 unsafe { ::core::mem::zeroed() }
8630 }
8631}
8632#[repr(C)]
8633#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
8634#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8635pub struct CUSTDATAITEM {
8636 pub guid: ::windows_core::GUID,
8637 pub varValue: super::Variant::VARIANT,
8638}
8639#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8640impl ::core::clone::Clone for CUSTDATAITEM {
8641 fn clone(&self) -> Self {
8642 unsafe { ::core::mem::transmute_copy(self) }
8643 }
8644}
8645#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8646impl ::windows_core::TypeKind for CUSTDATAITEM {
8647 type TypeKind = ::windows_core::CopyType;
8648}
8649#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8650impl ::core::default::Default for CUSTDATAITEM {
8651 fn default() -> Self {
8652 unsafe { ::core::mem::zeroed() }
8653 }
8654}
8655#[repr(C)]
8656pub union CY {
8657 pub Anonymous: CY_0,
8658 pub int64: i64,
8659}
8660impl ::core::marker::Copy for CY {}
8661impl ::core::clone::Clone for CY {
8662 fn clone(&self) -> Self {
8663 *self
8664 }
8665}
8666impl ::windows_core::TypeKind for CY {
8667 type TypeKind = ::windows_core::CopyType;
8668}
8669impl ::core::default::Default for CY {
8670 fn default() -> Self {
8671 unsafe { ::core::mem::zeroed() }
8672 }
8673}
8674#[repr(C)]
8675pub struct CY_0 {
8676 pub Lo: u32,
8677 pub Hi: i32,
8678}
8679impl ::core::marker::Copy for CY_0 {}
8680impl ::core::clone::Clone for CY_0 {
8681 fn clone(&self) -> Self {
8682 *self
8683 }
8684}
8685impl ::core::fmt::Debug for CY_0 {
8686 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8687 f.debug_struct("CY_0").field("Lo", &self.Lo).field(name:"Hi", &self.Hi).finish()
8688 }
8689}
8690impl ::windows_core::TypeKind for CY_0 {
8691 type TypeKind = ::windows_core::CopyType;
8692}
8693impl ::core::cmp::PartialEq for CY_0 {
8694 fn eq(&self, other: &Self) -> bool {
8695 self.Lo == other.Lo && self.Hi == other.Hi
8696 }
8697}
8698impl ::core::cmp::Eq for CY_0 {}
8699impl ::core::default::Default for CY_0 {
8700 fn default() -> Self {
8701 unsafe { ::core::mem::zeroed() }
8702 }
8703}
8704#[repr(C)]
8705pub struct ComCallData {
8706 pub dwDispid: u32,
8707 pub dwReserved: u32,
8708 pub pUserDefined: *mut ::core::ffi::c_void,
8709}
8710impl ::core::marker::Copy for ComCallData {}
8711impl ::core::clone::Clone for ComCallData {
8712 fn clone(&self) -> Self {
8713 *self
8714 }
8715}
8716impl ::core::fmt::Debug for ComCallData {
8717 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8718 f.debug_struct("ComCallData").field("dwDispid", &self.dwDispid).field("dwReserved", &self.dwReserved).field(name:"pUserDefined", &self.pUserDefined).finish()
8719 }
8720}
8721impl ::windows_core::TypeKind for ComCallData {
8722 type TypeKind = ::windows_core::CopyType;
8723}
8724impl ::core::cmp::PartialEq for ComCallData {
8725 fn eq(&self, other: &Self) -> bool {
8726 self.dwDispid == other.dwDispid && self.dwReserved == other.dwReserved && self.pUserDefined == other.pUserDefined
8727 }
8728}
8729impl ::core::cmp::Eq for ComCallData {}
8730impl ::core::default::Default for ComCallData {
8731 fn default() -> Self {
8732 unsafe { ::core::mem::zeroed() }
8733 }
8734}
8735#[repr(C)]
8736pub struct ContextProperty {
8737 pub policyId: ::windows_core::GUID,
8738 pub flags: u32,
8739 pub pUnk: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
8740}
8741impl ::core::clone::Clone for ContextProperty {
8742 fn clone(&self) -> Self {
8743 unsafe { ::core::mem::transmute_copy(self) }
8744 }
8745}
8746impl ::core::fmt::Debug for ContextProperty {
8747 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8748 f.debug_struct("ContextProperty").field("policyId", &self.policyId).field("flags", &self.flags).field(name:"pUnk", &self.pUnk).finish()
8749 }
8750}
8751impl ::windows_core::TypeKind for ContextProperty {
8752 type TypeKind = ::windows_core::CopyType;
8753}
8754impl ::core::cmp::PartialEq for ContextProperty {
8755 fn eq(&self, other: &Self) -> bool {
8756 self.policyId == other.policyId && self.flags == other.flags && self.pUnk == other.pUnk
8757 }
8758}
8759impl ::core::cmp::Eq for ContextProperty {}
8760impl ::core::default::Default for ContextProperty {
8761 fn default() -> Self {
8762 unsafe { ::core::mem::zeroed() }
8763 }
8764}
8765#[repr(C)]
8766#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
8767#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8768pub struct DISPPARAMS {
8769 pub rgvarg: *mut super::Variant::VARIANT,
8770 pub rgdispidNamedArgs: *mut i32,
8771 pub cArgs: u32,
8772 pub cNamedArgs: u32,
8773}
8774#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8775impl ::core::marker::Copy for DISPPARAMS {}
8776#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8777impl ::core::clone::Clone for DISPPARAMS {
8778 fn clone(&self) -> Self {
8779 *self
8780 }
8781}
8782#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8783impl ::core::fmt::Debug for DISPPARAMS {
8784 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8785 f.debug_struct("DISPPARAMS").field("rgvarg", &self.rgvarg).field("rgdispidNamedArgs", &self.rgdispidNamedArgs).field("cArgs", &self.cArgs).field("cNamedArgs", &self.cNamedArgs).finish()
8786 }
8787}
8788#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8789impl ::windows_core::TypeKind for DISPPARAMS {
8790 type TypeKind = ::windows_core::CopyType;
8791}
8792#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8793impl ::core::cmp::PartialEq for DISPPARAMS {
8794 fn eq(&self, other: &Self) -> bool {
8795 self.rgvarg == other.rgvarg && self.rgdispidNamedArgs == other.rgdispidNamedArgs && self.cArgs == other.cArgs && self.cNamedArgs == other.cNamedArgs
8796 }
8797}
8798#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8799impl ::core::cmp::Eq for DISPPARAMS {}
8800#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8801impl ::core::default::Default for DISPPARAMS {
8802 fn default() -> Self {
8803 unsafe { ::core::mem::zeroed() }
8804 }
8805}
8806#[repr(C)]
8807pub struct DVTARGETDEVICE {
8808 pub tdSize: u32,
8809 pub tdDriverNameOffset: u16,
8810 pub tdDeviceNameOffset: u16,
8811 pub tdPortNameOffset: u16,
8812 pub tdExtDevmodeOffset: u16,
8813 pub tdData: [u8; 1],
8814}
8815impl ::core::marker::Copy for DVTARGETDEVICE {}
8816impl ::core::clone::Clone for DVTARGETDEVICE {
8817 fn clone(&self) -> Self {
8818 *self
8819 }
8820}
8821impl ::core::fmt::Debug for DVTARGETDEVICE {
8822 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8823 f.debug_struct("DVTARGETDEVICE").field("tdSize", &self.tdSize).field("tdDriverNameOffset", &self.tdDriverNameOffset).field("tdDeviceNameOffset", &self.tdDeviceNameOffset).field("tdPortNameOffset", &self.tdPortNameOffset).field("tdExtDevmodeOffset", &self.tdExtDevmodeOffset).field(name:"tdData", &self.tdData).finish()
8824 }
8825}
8826impl ::windows_core::TypeKind for DVTARGETDEVICE {
8827 type TypeKind = ::windows_core::CopyType;
8828}
8829impl ::core::cmp::PartialEq for DVTARGETDEVICE {
8830 fn eq(&self, other: &Self) -> bool {
8831 self.tdSize == other.tdSize && self.tdDriverNameOffset == other.tdDriverNameOffset && self.tdDeviceNameOffset == other.tdDeviceNameOffset && self.tdPortNameOffset == other.tdPortNameOffset && self.tdExtDevmodeOffset == other.tdExtDevmodeOffset && self.tdData == other.tdData
8832 }
8833}
8834impl ::core::cmp::Eq for DVTARGETDEVICE {}
8835impl ::core::default::Default for DVTARGETDEVICE {
8836 fn default() -> Self {
8837 unsafe { ::core::mem::zeroed() }
8838 }
8839}
8840#[repr(C)]
8841pub struct DWORD_BLOB {
8842 pub clSize: u32,
8843 pub alData: [u32; 1],
8844}
8845impl ::core::marker::Copy for DWORD_BLOB {}
8846impl ::core::clone::Clone for DWORD_BLOB {
8847 fn clone(&self) -> Self {
8848 *self
8849 }
8850}
8851impl ::core::fmt::Debug for DWORD_BLOB {
8852 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8853 f.debug_struct("DWORD_BLOB").field("clSize", &self.clSize).field(name:"alData", &self.alData).finish()
8854 }
8855}
8856impl ::windows_core::TypeKind for DWORD_BLOB {
8857 type TypeKind = ::windows_core::CopyType;
8858}
8859impl ::core::cmp::PartialEq for DWORD_BLOB {
8860 fn eq(&self, other: &Self) -> bool {
8861 self.clSize == other.clSize && self.alData == other.alData
8862 }
8863}
8864impl ::core::cmp::Eq for DWORD_BLOB {}
8865impl ::core::default::Default for DWORD_BLOB {
8866 fn default() -> Self {
8867 unsafe { ::core::mem::zeroed() }
8868 }
8869}
8870#[repr(C)]
8871pub struct DWORD_SIZEDARR {
8872 pub clSize: u32,
8873 pub pData: *mut u32,
8874}
8875impl ::core::marker::Copy for DWORD_SIZEDARR {}
8876impl ::core::clone::Clone for DWORD_SIZEDARR {
8877 fn clone(&self) -> Self {
8878 *self
8879 }
8880}
8881impl ::core::fmt::Debug for DWORD_SIZEDARR {
8882 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8883 f.debug_struct("DWORD_SIZEDARR").field("clSize", &self.clSize).field(name:"pData", &self.pData).finish()
8884 }
8885}
8886impl ::windows_core::TypeKind for DWORD_SIZEDARR {
8887 type TypeKind = ::windows_core::CopyType;
8888}
8889impl ::core::cmp::PartialEq for DWORD_SIZEDARR {
8890 fn eq(&self, other: &Self) -> bool {
8891 self.clSize == other.clSize && self.pData == other.pData
8892 }
8893}
8894impl ::core::cmp::Eq for DWORD_SIZEDARR {}
8895impl ::core::default::Default for DWORD_SIZEDARR {
8896 fn default() -> Self {
8897 unsafe { ::core::mem::zeroed() }
8898 }
8899}
8900#[repr(C)]
8901#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
8902#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8903pub struct ELEMDESC {
8904 pub tdesc: TYPEDESC,
8905 pub Anonymous: ELEMDESC_0,
8906}
8907#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8908impl ::core::marker::Copy for ELEMDESC {}
8909#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8910impl ::core::clone::Clone for ELEMDESC {
8911 fn clone(&self) -> Self {
8912 *self
8913 }
8914}
8915#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8916impl ::windows_core::TypeKind for ELEMDESC {
8917 type TypeKind = ::windows_core::CopyType;
8918}
8919#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8920impl ::core::default::Default for ELEMDESC {
8921 fn default() -> Self {
8922 unsafe { ::core::mem::zeroed() }
8923 }
8924}
8925#[repr(C)]
8926#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
8927#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8928pub union ELEMDESC_0 {
8929 pub idldesc: IDLDESC,
8930 pub paramdesc: super::Ole::PARAMDESC,
8931}
8932#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8933impl ::core::marker::Copy for ELEMDESC_0 {}
8934#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8935impl ::core::clone::Clone for ELEMDESC_0 {
8936 fn clone(&self) -> Self {
8937 *self
8938 }
8939}
8940#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8941impl ::windows_core::TypeKind for ELEMDESC_0 {
8942 type TypeKind = ::windows_core::CopyType;
8943}
8944#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
8945impl ::core::default::Default for ELEMDESC_0 {
8946 fn default() -> Self {
8947 unsafe { ::core::mem::zeroed() }
8948 }
8949}
8950#[repr(C)]
8951pub struct EXCEPINFO {
8952 pub wCode: u16,
8953 pub wReserved: u16,
8954 pub bstrSource: ::std::mem::ManuallyDrop<::windows_core::BSTR>,
8955 pub bstrDescription: ::std::mem::ManuallyDrop<::windows_core::BSTR>,
8956 pub bstrHelpFile: ::std::mem::ManuallyDrop<::windows_core::BSTR>,
8957 pub dwHelpContext: u32,
8958 pub pvReserved: *mut ::core::ffi::c_void,
8959 pub pfnDeferredFillIn: LPEXCEPFINO_DEFERRED_FILLIN,
8960 pub scode: i32,
8961}
8962impl ::core::clone::Clone for EXCEPINFO {
8963 fn clone(&self) -> Self {
8964 unsafe { ::core::mem::transmute_copy(self) }
8965 }
8966}
8967impl ::core::fmt::Debug for EXCEPINFO {
8968 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8969 f.debug_struct("EXCEPINFO").field("wCode", &self.wCode).field("wReserved", &self.wReserved).field("bstrSource", &self.bstrSource).field("bstrDescription", &self.bstrDescription).field("bstrHelpFile", &self.bstrHelpFile).field("dwHelpContext", &self.dwHelpContext).field("pvReserved", &self.pvReserved).field(name:"scode", &self.scode).finish()
8970 }
8971}
8972impl ::windows_core::TypeKind for EXCEPINFO {
8973 type TypeKind = ::windows_core::CopyType;
8974}
8975impl ::core::default::Default for EXCEPINFO {
8976 fn default() -> Self {
8977 unsafe { ::core::mem::zeroed() }
8978 }
8979}
8980#[repr(C)]
8981pub struct FLAGGED_BYTE_BLOB {
8982 pub fFlags: u32,
8983 pub clSize: u32,
8984 pub abData: [u8; 1],
8985}
8986impl ::core::marker::Copy for FLAGGED_BYTE_BLOB {}
8987impl ::core::clone::Clone for FLAGGED_BYTE_BLOB {
8988 fn clone(&self) -> Self {
8989 *self
8990 }
8991}
8992impl ::core::fmt::Debug for FLAGGED_BYTE_BLOB {
8993 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8994 f.debug_struct("FLAGGED_BYTE_BLOB").field("fFlags", &self.fFlags).field("clSize", &self.clSize).field(name:"abData", &self.abData).finish()
8995 }
8996}
8997impl ::windows_core::TypeKind for FLAGGED_BYTE_BLOB {
8998 type TypeKind = ::windows_core::CopyType;
8999}
9000impl ::core::cmp::PartialEq for FLAGGED_BYTE_BLOB {
9001 fn eq(&self, other: &Self) -> bool {
9002 self.fFlags == other.fFlags && self.clSize == other.clSize && self.abData == other.abData
9003 }
9004}
9005impl ::core::cmp::Eq for FLAGGED_BYTE_BLOB {}
9006impl ::core::default::Default for FLAGGED_BYTE_BLOB {
9007 fn default() -> Self {
9008 unsafe { ::core::mem::zeroed() }
9009 }
9010}
9011#[repr(C)]
9012pub struct FLAGGED_WORD_BLOB {
9013 pub fFlags: u32,
9014 pub clSize: u32,
9015 pub asData: [u16; 1],
9016}
9017impl ::core::marker::Copy for FLAGGED_WORD_BLOB {}
9018impl ::core::clone::Clone for FLAGGED_WORD_BLOB {
9019 fn clone(&self) -> Self {
9020 *self
9021 }
9022}
9023impl ::core::fmt::Debug for FLAGGED_WORD_BLOB {
9024 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9025 f.debug_struct("FLAGGED_WORD_BLOB").field("fFlags", &self.fFlags).field("clSize", &self.clSize).field(name:"asData", &self.asData).finish()
9026 }
9027}
9028impl ::windows_core::TypeKind for FLAGGED_WORD_BLOB {
9029 type TypeKind = ::windows_core::CopyType;
9030}
9031impl ::core::cmp::PartialEq for FLAGGED_WORD_BLOB {
9032 fn eq(&self, other: &Self) -> bool {
9033 self.fFlags == other.fFlags && self.clSize == other.clSize && self.asData == other.asData
9034 }
9035}
9036impl ::core::cmp::Eq for FLAGGED_WORD_BLOB {}
9037impl ::core::default::Default for FLAGGED_WORD_BLOB {
9038 fn default() -> Self {
9039 unsafe { ::core::mem::zeroed() }
9040 }
9041}
9042#[repr(C)]
9043#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
9044#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9045pub struct FLAG_STGMEDIUM {
9046 pub ContextFlags: i32,
9047 pub fPassOwnership: i32,
9048 pub Stgmed: STGMEDIUM,
9049}
9050#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9051impl ::core::clone::Clone for FLAG_STGMEDIUM {
9052 fn clone(&self) -> Self {
9053 unsafe { ::core::mem::transmute_copy(self) }
9054 }
9055}
9056#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9057impl ::windows_core::TypeKind for FLAG_STGMEDIUM {
9058 type TypeKind = ::windows_core::CopyType;
9059}
9060#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9061impl ::core::default::Default for FLAG_STGMEDIUM {
9062 fn default() -> Self {
9063 unsafe { ::core::mem::zeroed() }
9064 }
9065}
9066#[repr(C)]
9067pub struct FORMATETC {
9068 pub cfFormat: u16,
9069 pub ptd: *mut DVTARGETDEVICE,
9070 pub dwAspect: u32,
9071 pub lindex: i32,
9072 pub tymed: u32,
9073}
9074impl ::core::marker::Copy for FORMATETC {}
9075impl ::core::clone::Clone for FORMATETC {
9076 fn clone(&self) -> Self {
9077 *self
9078 }
9079}
9080impl ::core::fmt::Debug for FORMATETC {
9081 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9082 f.debug_struct("FORMATETC").field("cfFormat", &self.cfFormat).field("ptd", &self.ptd).field("dwAspect", &self.dwAspect).field("lindex", &self.lindex).field(name:"tymed", &self.tymed).finish()
9083 }
9084}
9085impl ::windows_core::TypeKind for FORMATETC {
9086 type TypeKind = ::windows_core::CopyType;
9087}
9088impl ::core::cmp::PartialEq for FORMATETC {
9089 fn eq(&self, other: &Self) -> bool {
9090 self.cfFormat == other.cfFormat && self.ptd == other.ptd && self.dwAspect == other.dwAspect && self.lindex == other.lindex && self.tymed == other.tymed
9091 }
9092}
9093impl ::core::cmp::Eq for FORMATETC {}
9094impl ::core::default::Default for FORMATETC {
9095 fn default() -> Self {
9096 unsafe { ::core::mem::zeroed() }
9097 }
9098}
9099#[repr(C)]
9100#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
9101#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9102pub struct FUNCDESC {
9103 pub memid: i32,
9104 pub lprgscode: *mut i32,
9105 pub lprgelemdescParam: *mut ELEMDESC,
9106 pub funckind: FUNCKIND,
9107 pub invkind: INVOKEKIND,
9108 pub callconv: CALLCONV,
9109 pub cParams: i16,
9110 pub cParamsOpt: i16,
9111 pub oVft: i16,
9112 pub cScodes: i16,
9113 pub elemdescFunc: ELEMDESC,
9114 pub wFuncFlags: FUNCFLAGS,
9115}
9116#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9117impl ::core::marker::Copy for FUNCDESC {}
9118#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9119impl ::core::clone::Clone for FUNCDESC {
9120 fn clone(&self) -> Self {
9121 *self
9122 }
9123}
9124#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9125impl ::windows_core::TypeKind for FUNCDESC {
9126 type TypeKind = ::windows_core::CopyType;
9127}
9128#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9129impl ::core::default::Default for FUNCDESC {
9130 fn default() -> Self {
9131 unsafe { ::core::mem::zeroed() }
9132 }
9133}
9134#[repr(C)]
9135#[doc = "Required features: `\"Win32_Graphics_Gdi\"`, `\"Win32_System_SystemServices\"`"]
9136#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9137pub struct GDI_OBJECT {
9138 pub ObjectType: u32,
9139 pub u: GDI_OBJECT_0,
9140}
9141#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9142impl ::core::marker::Copy for GDI_OBJECT {}
9143#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9144impl ::core::clone::Clone for GDI_OBJECT {
9145 fn clone(&self) -> Self {
9146 *self
9147 }
9148}
9149#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9150impl ::windows_core::TypeKind for GDI_OBJECT {
9151 type TypeKind = ::windows_core::CopyType;
9152}
9153#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9154impl ::core::default::Default for GDI_OBJECT {
9155 fn default() -> Self {
9156 unsafe { ::core::mem::zeroed() }
9157 }
9158}
9159#[repr(C)]
9160#[doc = "Required features: `\"Win32_Graphics_Gdi\"`, `\"Win32_System_SystemServices\"`"]
9161#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9162pub union GDI_OBJECT_0 {
9163 pub hBitmap: *mut super::SystemServices::userHBITMAP,
9164 pub hPalette: *mut super::SystemServices::userHPALETTE,
9165 pub hGeneric: *mut super::SystemServices::userHGLOBAL,
9166}
9167#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9168impl ::core::marker::Copy for GDI_OBJECT_0 {}
9169#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9170impl ::core::clone::Clone for GDI_OBJECT_0 {
9171 fn clone(&self) -> Self {
9172 *self
9173 }
9174}
9175#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9176impl ::windows_core::TypeKind for GDI_OBJECT_0 {
9177 type TypeKind = ::windows_core::CopyType;
9178}
9179#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
9180impl ::core::default::Default for GDI_OBJECT_0 {
9181 fn default() -> Self {
9182 unsafe { ::core::mem::zeroed() }
9183 }
9184}
9185#[repr(C)]
9186pub struct HYPER_SIZEDARR {
9187 pub clSize: u32,
9188 pub pData: *mut i64,
9189}
9190impl ::core::marker::Copy for HYPER_SIZEDARR {}
9191impl ::core::clone::Clone for HYPER_SIZEDARR {
9192 fn clone(&self) -> Self {
9193 *self
9194 }
9195}
9196impl ::core::fmt::Debug for HYPER_SIZEDARR {
9197 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9198 f.debug_struct("HYPER_SIZEDARR").field("clSize", &self.clSize).field(name:"pData", &self.pData).finish()
9199 }
9200}
9201impl ::windows_core::TypeKind for HYPER_SIZEDARR {
9202 type TypeKind = ::windows_core::CopyType;
9203}
9204impl ::core::cmp::PartialEq for HYPER_SIZEDARR {
9205 fn eq(&self, other: &Self) -> bool {
9206 self.clSize == other.clSize && self.pData == other.pData
9207 }
9208}
9209impl ::core::cmp::Eq for HYPER_SIZEDARR {}
9210impl ::core::default::Default for HYPER_SIZEDARR {
9211 fn default() -> Self {
9212 unsafe { ::core::mem::zeroed() }
9213 }
9214}
9215#[repr(C)]
9216pub struct IDLDESC {
9217 pub dwReserved: usize,
9218 pub wIDLFlags: IDLFLAGS,
9219}
9220impl ::core::marker::Copy for IDLDESC {}
9221impl ::core::clone::Clone for IDLDESC {
9222 fn clone(&self) -> Self {
9223 *self
9224 }
9225}
9226impl ::core::fmt::Debug for IDLDESC {
9227 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9228 f.debug_struct("IDLDESC").field("dwReserved", &self.dwReserved).field(name:"wIDLFlags", &self.wIDLFlags).finish()
9229 }
9230}
9231impl ::windows_core::TypeKind for IDLDESC {
9232 type TypeKind = ::windows_core::CopyType;
9233}
9234impl ::core::cmp::PartialEq for IDLDESC {
9235 fn eq(&self, other: &Self) -> bool {
9236 self.dwReserved == other.dwReserved && self.wIDLFlags == other.wIDLFlags
9237 }
9238}
9239impl ::core::cmp::Eq for IDLDESC {}
9240impl ::core::default::Default for IDLDESC {
9241 fn default() -> Self {
9242 unsafe { ::core::mem::zeroed() }
9243 }
9244}
9245#[repr(C)]
9246pub struct INTERFACEINFO {
9247 pub pUnk: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
9248 pub iid: ::windows_core::GUID,
9249 pub wMethod: u16,
9250}
9251impl ::core::clone::Clone for INTERFACEINFO {
9252 fn clone(&self) -> Self {
9253 unsafe { ::core::mem::transmute_copy(self) }
9254 }
9255}
9256impl ::core::fmt::Debug for INTERFACEINFO {
9257 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9258 f.debug_struct("INTERFACEINFO").field("pUnk", &self.pUnk).field("iid", &self.iid).field(name:"wMethod", &self.wMethod).finish()
9259 }
9260}
9261impl ::windows_core::TypeKind for INTERFACEINFO {
9262 type TypeKind = ::windows_core::CopyType;
9263}
9264impl ::core::cmp::PartialEq for INTERFACEINFO {
9265 fn eq(&self, other: &Self) -> bool {
9266 self.pUnk == other.pUnk && self.iid == other.iid && self.wMethod == other.wMethod
9267 }
9268}
9269impl ::core::cmp::Eq for INTERFACEINFO {}
9270impl ::core::default::Default for INTERFACEINFO {
9271 fn default() -> Self {
9272 unsafe { ::core::mem::zeroed() }
9273 }
9274}
9275#[repr(C)]
9276pub struct MULTI_QI {
9277 pub pIID: *const ::windows_core::GUID,
9278 pub pItf: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
9279 pub hr: ::windows_core::HRESULT,
9280}
9281impl ::core::clone::Clone for MULTI_QI {
9282 fn clone(&self) -> Self {
9283 unsafe { ::core::mem::transmute_copy(self) }
9284 }
9285}
9286impl ::core::fmt::Debug for MULTI_QI {
9287 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9288 f.debug_struct("MULTI_QI").field("pIID", &self.pIID).field("pItf", &self.pItf).field(name:"hr", &self.hr).finish()
9289 }
9290}
9291impl ::windows_core::TypeKind for MULTI_QI {
9292 type TypeKind = ::windows_core::CopyType;
9293}
9294impl ::core::cmp::PartialEq for MULTI_QI {
9295 fn eq(&self, other: &Self) -> bool {
9296 self.pIID == other.pIID && self.pItf == other.pItf && self.hr == other.hr
9297 }
9298}
9299impl ::core::cmp::Eq for MULTI_QI {}
9300impl ::core::default::Default for MULTI_QI {
9301 fn default() -> Self {
9302 unsafe { ::core::mem::zeroed() }
9303 }
9304}
9305#[repr(transparent)]
9306#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
9307pub struct MachineGlobalObjectTableRegistrationToken(pub isize);
9308impl ::core::default::Default for MachineGlobalObjectTableRegistrationToken {
9309 fn default() -> Self {
9310 unsafe { ::core::mem::zeroed() }
9311 }
9312}
9313impl ::core::clone::Clone for MachineGlobalObjectTableRegistrationToken {
9314 fn clone(&self) -> Self {
9315 *self
9316 }
9317}
9318impl ::core::marker::Copy for MachineGlobalObjectTableRegistrationToken {}
9319impl ::core::fmt::Debug for MachineGlobalObjectTableRegistrationToken {
9320 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9321 f.debug_tuple(name:"MachineGlobalObjectTableRegistrationToken").field(&self.0).finish()
9322 }
9323}
9324impl ::windows_core::TypeKind for MachineGlobalObjectTableRegistrationToken {
9325 type TypeKind = ::windows_core::CopyType;
9326}
9327#[repr(C)]
9328pub struct QUERYCONTEXT {
9329 pub dwContext: u32,
9330 pub Platform: CSPLATFORM,
9331 pub Locale: u32,
9332 pub dwVersionHi: u32,
9333 pub dwVersionLo: u32,
9334}
9335impl ::core::marker::Copy for QUERYCONTEXT {}
9336impl ::core::clone::Clone for QUERYCONTEXT {
9337 fn clone(&self) -> Self {
9338 *self
9339 }
9340}
9341impl ::core::fmt::Debug for QUERYCONTEXT {
9342 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9343 f.debug_struct("QUERYCONTEXT").field("dwContext", &self.dwContext).field("Platform", &self.Platform).field("Locale", &self.Locale).field("dwVersionHi", &self.dwVersionHi).field(name:"dwVersionLo", &self.dwVersionLo).finish()
9344 }
9345}
9346impl ::windows_core::TypeKind for QUERYCONTEXT {
9347 type TypeKind = ::windows_core::CopyType;
9348}
9349impl ::core::cmp::PartialEq for QUERYCONTEXT {
9350 fn eq(&self, other: &Self) -> bool {
9351 self.dwContext == other.dwContext && self.Platform == other.Platform && self.Locale == other.Locale && self.dwVersionHi == other.dwVersionHi && self.dwVersionLo == other.dwVersionLo
9352 }
9353}
9354impl ::core::cmp::Eq for QUERYCONTEXT {}
9355impl ::core::default::Default for QUERYCONTEXT {
9356 fn default() -> Self {
9357 unsafe { ::core::mem::zeroed() }
9358 }
9359}
9360#[repr(C)]
9361pub struct RPCOLEMESSAGE {
9362 pub reserved1: *mut ::core::ffi::c_void,
9363 pub dataRepresentation: u32,
9364 pub Buffer: *mut ::core::ffi::c_void,
9365 pub cbBuffer: u32,
9366 pub iMethod: u32,
9367 pub reserved2: [*mut ::core::ffi::c_void; 5],
9368 pub rpcFlags: u32,
9369}
9370impl ::core::marker::Copy for RPCOLEMESSAGE {}
9371impl ::core::clone::Clone for RPCOLEMESSAGE {
9372 fn clone(&self) -> Self {
9373 *self
9374 }
9375}
9376impl ::core::fmt::Debug for RPCOLEMESSAGE {
9377 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9378 f.debug_struct("RPCOLEMESSAGE").field("reserved1", &self.reserved1).field("dataRepresentation", &self.dataRepresentation).field("Buffer", &self.Buffer).field("cbBuffer", &self.cbBuffer).field("iMethod", &self.iMethod).field("reserved2", &self.reserved2).field(name:"rpcFlags", &self.rpcFlags).finish()
9379 }
9380}
9381impl ::windows_core::TypeKind for RPCOLEMESSAGE {
9382 type TypeKind = ::windows_core::CopyType;
9383}
9384impl ::core::cmp::PartialEq for RPCOLEMESSAGE {
9385 fn eq(&self, other: &Self) -> bool {
9386 self.reserved1 == other.reserved1 && self.dataRepresentation == other.dataRepresentation && self.Buffer == other.Buffer && self.cbBuffer == other.cbBuffer && self.iMethod == other.iMethod && self.reserved2 == other.reserved2 && self.rpcFlags == other.rpcFlags
9387 }
9388}
9389impl ::core::cmp::Eq for RPCOLEMESSAGE {}
9390impl ::core::default::Default for RPCOLEMESSAGE {
9391 fn default() -> Self {
9392 unsafe { ::core::mem::zeroed() }
9393 }
9394}
9395#[repr(C)]
9396pub struct RemSTGMEDIUM {
9397 pub tymed: u32,
9398 pub dwHandleType: u32,
9399 pub pData: u32,
9400 pub pUnkForRelease: u32,
9401 pub cbData: u32,
9402 pub data: [u8; 1],
9403}
9404impl ::core::marker::Copy for RemSTGMEDIUM {}
9405impl ::core::clone::Clone for RemSTGMEDIUM {
9406 fn clone(&self) -> Self {
9407 *self
9408 }
9409}
9410impl ::core::fmt::Debug for RemSTGMEDIUM {
9411 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9412 f.debug_struct("RemSTGMEDIUM").field("tymed", &self.tymed).field("dwHandleType", &self.dwHandleType).field("pData", &self.pData).field("pUnkForRelease", &self.pUnkForRelease).field("cbData", &self.cbData).field(name:"data", &self.data).finish()
9413 }
9414}
9415impl ::windows_core::TypeKind for RemSTGMEDIUM {
9416 type TypeKind = ::windows_core::CopyType;
9417}
9418impl ::core::cmp::PartialEq for RemSTGMEDIUM {
9419 fn eq(&self, other: &Self) -> bool {
9420 self.tymed == other.tymed && self.dwHandleType == other.dwHandleType && self.pData == other.pData && self.pUnkForRelease == other.pUnkForRelease && self.cbData == other.cbData && self.data == other.data
9421 }
9422}
9423impl ::core::cmp::Eq for RemSTGMEDIUM {}
9424impl ::core::default::Default for RemSTGMEDIUM {
9425 fn default() -> Self {
9426 unsafe { ::core::mem::zeroed() }
9427 }
9428}
9429#[repr(C)]
9430pub struct SAFEARRAY {
9431 pub cDims: u16,
9432 pub fFeatures: ADVANCED_FEATURE_FLAGS,
9433 pub cbElements: u32,
9434 pub cLocks: u32,
9435 pub pvData: *mut ::core::ffi::c_void,
9436 pub rgsabound: [SAFEARRAYBOUND; 1],
9437}
9438impl ::core::marker::Copy for SAFEARRAY {}
9439impl ::core::clone::Clone for SAFEARRAY {
9440 fn clone(&self) -> Self {
9441 *self
9442 }
9443}
9444impl ::core::fmt::Debug for SAFEARRAY {
9445 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9446 f.debug_struct("SAFEARRAY").field("cDims", &self.cDims).field("fFeatures", &self.fFeatures).field("cbElements", &self.cbElements).field("cLocks", &self.cLocks).field("pvData", &self.pvData).field(name:"rgsabound", &self.rgsabound).finish()
9447 }
9448}
9449impl ::windows_core::TypeKind for SAFEARRAY {
9450 type TypeKind = ::windows_core::CopyType;
9451}
9452impl ::core::cmp::PartialEq for SAFEARRAY {
9453 fn eq(&self, other: &Self) -> bool {
9454 self.cDims == other.cDims && self.fFeatures == other.fFeatures && self.cbElements == other.cbElements && self.cLocks == other.cLocks && self.pvData == other.pvData && self.rgsabound == other.rgsabound
9455 }
9456}
9457impl ::core::cmp::Eq for SAFEARRAY {}
9458impl ::core::default::Default for SAFEARRAY {
9459 fn default() -> Self {
9460 unsafe { ::core::mem::zeroed() }
9461 }
9462}
9463#[repr(C)]
9464pub struct SAFEARRAYBOUND {
9465 pub cElements: u32,
9466 pub lLbound: i32,
9467}
9468impl ::core::marker::Copy for SAFEARRAYBOUND {}
9469impl ::core::clone::Clone for SAFEARRAYBOUND {
9470 fn clone(&self) -> Self {
9471 *self
9472 }
9473}
9474impl ::core::fmt::Debug for SAFEARRAYBOUND {
9475 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9476 f.debug_struct("SAFEARRAYBOUND").field("cElements", &self.cElements).field(name:"lLbound", &self.lLbound).finish()
9477 }
9478}
9479impl ::windows_core::TypeKind for SAFEARRAYBOUND {
9480 type TypeKind = ::windows_core::CopyType;
9481}
9482impl ::core::cmp::PartialEq for SAFEARRAYBOUND {
9483 fn eq(&self, other: &Self) -> bool {
9484 self.cElements == other.cElements && self.lLbound == other.lLbound
9485 }
9486}
9487impl ::core::cmp::Eq for SAFEARRAYBOUND {}
9488impl ::core::default::Default for SAFEARRAYBOUND {
9489 fn default() -> Self {
9490 unsafe { ::core::mem::zeroed() }
9491 }
9492}
9493#[repr(C)]
9494pub struct SChannelHookCallInfo {
9495 pub iid: ::windows_core::GUID,
9496 pub cbSize: u32,
9497 pub uCausality: ::windows_core::GUID,
9498 pub dwServerPid: u32,
9499 pub iMethod: u32,
9500 pub pObject: *mut ::core::ffi::c_void,
9501}
9502impl ::core::marker::Copy for SChannelHookCallInfo {}
9503impl ::core::clone::Clone for SChannelHookCallInfo {
9504 fn clone(&self) -> Self {
9505 *self
9506 }
9507}
9508impl ::core::fmt::Debug for SChannelHookCallInfo {
9509 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9510 f.debug_struct("SChannelHookCallInfo").field("iid", &self.iid).field("cbSize", &self.cbSize).field("uCausality", &self.uCausality).field("dwServerPid", &self.dwServerPid).field("iMethod", &self.iMethod).field(name:"pObject", &self.pObject).finish()
9511 }
9512}
9513impl ::windows_core::TypeKind for SChannelHookCallInfo {
9514 type TypeKind = ::windows_core::CopyType;
9515}
9516impl ::core::cmp::PartialEq for SChannelHookCallInfo {
9517 fn eq(&self, other: &Self) -> bool {
9518 self.iid == other.iid && self.cbSize == other.cbSize && self.uCausality == other.uCausality && self.dwServerPid == other.dwServerPid && self.iMethod == other.iMethod && self.pObject == other.pObject
9519 }
9520}
9521impl ::core::cmp::Eq for SChannelHookCallInfo {}
9522impl ::core::default::Default for SChannelHookCallInfo {
9523 fn default() -> Self {
9524 unsafe { ::core::mem::zeroed() }
9525 }
9526}
9527#[repr(C)]
9528pub struct SOLE_AUTHENTICATION_INFO {
9529 pub dwAuthnSvc: u32,
9530 pub dwAuthzSvc: u32,
9531 pub pAuthInfo: *mut ::core::ffi::c_void,
9532}
9533impl ::core::marker::Copy for SOLE_AUTHENTICATION_INFO {}
9534impl ::core::clone::Clone for SOLE_AUTHENTICATION_INFO {
9535 fn clone(&self) -> Self {
9536 *self
9537 }
9538}
9539impl ::core::fmt::Debug for SOLE_AUTHENTICATION_INFO {
9540 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9541 f.debug_struct("SOLE_AUTHENTICATION_INFO").field("dwAuthnSvc", &self.dwAuthnSvc).field("dwAuthzSvc", &self.dwAuthzSvc).field(name:"pAuthInfo", &self.pAuthInfo).finish()
9542 }
9543}
9544impl ::windows_core::TypeKind for SOLE_AUTHENTICATION_INFO {
9545 type TypeKind = ::windows_core::CopyType;
9546}
9547impl ::core::cmp::PartialEq for SOLE_AUTHENTICATION_INFO {
9548 fn eq(&self, other: &Self) -> bool {
9549 self.dwAuthnSvc == other.dwAuthnSvc && self.dwAuthzSvc == other.dwAuthzSvc && self.pAuthInfo == other.pAuthInfo
9550 }
9551}
9552impl ::core::cmp::Eq for SOLE_AUTHENTICATION_INFO {}
9553impl ::core::default::Default for SOLE_AUTHENTICATION_INFO {
9554 fn default() -> Self {
9555 unsafe { ::core::mem::zeroed() }
9556 }
9557}
9558#[repr(C)]
9559pub struct SOLE_AUTHENTICATION_LIST {
9560 pub cAuthInfo: u32,
9561 pub aAuthInfo: *mut SOLE_AUTHENTICATION_INFO,
9562}
9563impl ::core::marker::Copy for SOLE_AUTHENTICATION_LIST {}
9564impl ::core::clone::Clone for SOLE_AUTHENTICATION_LIST {
9565 fn clone(&self) -> Self {
9566 *self
9567 }
9568}
9569impl ::core::fmt::Debug for SOLE_AUTHENTICATION_LIST {
9570 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9571 f.debug_struct("SOLE_AUTHENTICATION_LIST").field("cAuthInfo", &self.cAuthInfo).field(name:"aAuthInfo", &self.aAuthInfo).finish()
9572 }
9573}
9574impl ::windows_core::TypeKind for SOLE_AUTHENTICATION_LIST {
9575 type TypeKind = ::windows_core::CopyType;
9576}
9577impl ::core::cmp::PartialEq for SOLE_AUTHENTICATION_LIST {
9578 fn eq(&self, other: &Self) -> bool {
9579 self.cAuthInfo == other.cAuthInfo && self.aAuthInfo == other.aAuthInfo
9580 }
9581}
9582impl ::core::cmp::Eq for SOLE_AUTHENTICATION_LIST {}
9583impl ::core::default::Default for SOLE_AUTHENTICATION_LIST {
9584 fn default() -> Self {
9585 unsafe { ::core::mem::zeroed() }
9586 }
9587}
9588#[repr(C)]
9589pub struct SOLE_AUTHENTICATION_SERVICE {
9590 pub dwAuthnSvc: u32,
9591 pub dwAuthzSvc: u32,
9592 pub pPrincipalName: ::windows_core::PWSTR,
9593 pub hr: ::windows_core::HRESULT,
9594}
9595impl ::core::marker::Copy for SOLE_AUTHENTICATION_SERVICE {}
9596impl ::core::clone::Clone for SOLE_AUTHENTICATION_SERVICE {
9597 fn clone(&self) -> Self {
9598 *self
9599 }
9600}
9601impl ::core::fmt::Debug for SOLE_AUTHENTICATION_SERVICE {
9602 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9603 f.debug_struct("SOLE_AUTHENTICATION_SERVICE").field("dwAuthnSvc", &self.dwAuthnSvc).field("dwAuthzSvc", &self.dwAuthzSvc).field("pPrincipalName", &self.pPrincipalName).field(name:"hr", &self.hr).finish()
9604 }
9605}
9606impl ::windows_core::TypeKind for SOLE_AUTHENTICATION_SERVICE {
9607 type TypeKind = ::windows_core::CopyType;
9608}
9609impl ::core::cmp::PartialEq for SOLE_AUTHENTICATION_SERVICE {
9610 fn eq(&self, other: &Self) -> bool {
9611 self.dwAuthnSvc == other.dwAuthnSvc && self.dwAuthzSvc == other.dwAuthzSvc && self.pPrincipalName == other.pPrincipalName && self.hr == other.hr
9612 }
9613}
9614impl ::core::cmp::Eq for SOLE_AUTHENTICATION_SERVICE {}
9615impl ::core::default::Default for SOLE_AUTHENTICATION_SERVICE {
9616 fn default() -> Self {
9617 unsafe { ::core::mem::zeroed() }
9618 }
9619}
9620#[repr(C)]
9621pub struct STATDATA {
9622 pub formatetc: FORMATETC,
9623 pub advf: u32,
9624 pub pAdvSink: ::std::mem::ManuallyDrop<::core::option::Option<IAdviseSink>>,
9625 pub dwConnection: u32,
9626}
9627impl ::core::clone::Clone for STATDATA {
9628 fn clone(&self) -> Self {
9629 unsafe { ::core::mem::transmute_copy(self) }
9630 }
9631}
9632impl ::core::fmt::Debug for STATDATA {
9633 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9634 f.debug_struct("STATDATA").field("formatetc", &self.formatetc).field("advf", &self.advf).field("pAdvSink", &self.pAdvSink).field(name:"dwConnection", &self.dwConnection).finish()
9635 }
9636}
9637impl ::windows_core::TypeKind for STATDATA {
9638 type TypeKind = ::windows_core::CopyType;
9639}
9640impl ::core::cmp::PartialEq for STATDATA {
9641 fn eq(&self, other: &Self) -> bool {
9642 self.formatetc == other.formatetc && self.advf == other.advf && self.pAdvSink == other.pAdvSink && self.dwConnection == other.dwConnection
9643 }
9644}
9645impl ::core::cmp::Eq for STATDATA {}
9646impl ::core::default::Default for STATDATA {
9647 fn default() -> Self {
9648 unsafe { ::core::mem::zeroed() }
9649 }
9650}
9651#[repr(C)]
9652#[doc = "Required features: `\"Win32_Foundation\"`"]
9653#[cfg(feature = "Win32_Foundation")]
9654pub struct STATSTG {
9655 pub pwcsName: ::windows_core::PWSTR,
9656 pub r#type: u32,
9657 pub cbSize: u64,
9658 pub mtime: super::super::Foundation::FILETIME,
9659 pub ctime: super::super::Foundation::FILETIME,
9660 pub atime: super::super::Foundation::FILETIME,
9661 pub grfMode: STGM,
9662 pub grfLocksSupported: u32,
9663 pub clsid: ::windows_core::GUID,
9664 pub grfStateBits: u32,
9665 pub reserved: u32,
9666}
9667#[cfg(feature = "Win32_Foundation")]
9668impl ::core::marker::Copy for STATSTG {}
9669#[cfg(feature = "Win32_Foundation")]
9670impl ::core::clone::Clone for STATSTG {
9671 fn clone(&self) -> Self {
9672 *self
9673 }
9674}
9675#[cfg(feature = "Win32_Foundation")]
9676impl ::core::fmt::Debug for STATSTG {
9677 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9678 f.debug_struct("STATSTG").field("pwcsName", &self.pwcsName).field("type", &self.r#type).field("cbSize", &self.cbSize).field("mtime", &self.mtime).field("ctime", &self.ctime).field("atime", &self.atime).field("grfMode", &self.grfMode).field("grfLocksSupported", &self.grfLocksSupported).field("clsid", &self.clsid).field("grfStateBits", &self.grfStateBits).field(name:"reserved", &self.reserved).finish()
9679 }
9680}
9681#[cfg(feature = "Win32_Foundation")]
9682impl ::windows_core::TypeKind for STATSTG {
9683 type TypeKind = ::windows_core::CopyType;
9684}
9685#[cfg(feature = "Win32_Foundation")]
9686impl ::core::cmp::PartialEq for STATSTG {
9687 fn eq(&self, other: &Self) -> bool {
9688 self.pwcsName == other.pwcsName && self.r#type == other.r#type && self.cbSize == other.cbSize && self.mtime == other.mtime && self.ctime == other.ctime && self.atime == other.atime && self.grfMode == other.grfMode && self.grfLocksSupported == other.grfLocksSupported && self.clsid == other.clsid && self.grfStateBits == other.grfStateBits && self.reserved == other.reserved
9689 }
9690}
9691#[cfg(feature = "Win32_Foundation")]
9692impl ::core::cmp::Eq for STATSTG {}
9693#[cfg(feature = "Win32_Foundation")]
9694impl ::core::default::Default for STATSTG {
9695 fn default() -> Self {
9696 unsafe { ::core::mem::zeroed() }
9697 }
9698}
9699#[repr(C)]
9700#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
9701#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9702pub struct STGMEDIUM {
9703 pub tymed: u32,
9704 pub u: STGMEDIUM_0,
9705 pub pUnkForRelease: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
9706}
9707#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9708impl ::core::clone::Clone for STGMEDIUM {
9709 fn clone(&self) -> Self {
9710 unsafe { ::core::mem::transmute_copy(self) }
9711 }
9712}
9713#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9714impl ::windows_core::TypeKind for STGMEDIUM {
9715 type TypeKind = ::windows_core::CopyType;
9716}
9717#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9718impl ::core::default::Default for STGMEDIUM {
9719 fn default() -> Self {
9720 unsafe { ::core::mem::zeroed() }
9721 }
9722}
9723#[repr(C)]
9724#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_Graphics_Gdi\"`, `\"Win32_System_Com_StructuredStorage\"`"]
9725#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9726pub union STGMEDIUM_0 {
9727 pub hBitmap: super::super::Graphics::Gdi::HBITMAP,
9728 pub hMetaFilePict: *mut ::core::ffi::c_void,
9729 pub hEnhMetaFile: super::super::Graphics::Gdi::HENHMETAFILE,
9730 pub hGlobal: super::super::Foundation::HGLOBAL,
9731 pub lpszFileName: ::windows_core::PWSTR,
9732 pub pstm: ::std::mem::ManuallyDrop<::core::option::Option<IStream>>,
9733 pub pstg: ::std::mem::ManuallyDrop<::core::option::Option<StructuredStorage::IStorage>>,
9734}
9735#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9736impl ::core::clone::Clone for STGMEDIUM_0 {
9737 fn clone(&self) -> Self {
9738 unsafe { ::core::mem::transmute_copy(self) }
9739 }
9740}
9741#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9742impl ::windows_core::TypeKind for STGMEDIUM_0 {
9743 type TypeKind = ::windows_core::CopyType;
9744}
9745#[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9746impl ::core::default::Default for STGMEDIUM_0 {
9747 fn default() -> Self {
9748 unsafe { ::core::mem::zeroed() }
9749 }
9750}
9751#[repr(C)]
9752pub struct StorageLayout {
9753 pub LayoutType: u32,
9754 pub pwcsElementName: ::windows_core::PWSTR,
9755 pub cOffset: i64,
9756 pub cBytes: i64,
9757}
9758impl ::core::marker::Copy for StorageLayout {}
9759impl ::core::clone::Clone for StorageLayout {
9760 fn clone(&self) -> Self {
9761 *self
9762 }
9763}
9764impl ::core::fmt::Debug for StorageLayout {
9765 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9766 f.debug_struct("StorageLayout").field("LayoutType", &self.LayoutType).field("pwcsElementName", &self.pwcsElementName).field("cOffset", &self.cOffset).field(name:"cBytes", &self.cBytes).finish()
9767 }
9768}
9769impl ::windows_core::TypeKind for StorageLayout {
9770 type TypeKind = ::windows_core::CopyType;
9771}
9772impl ::core::cmp::PartialEq for StorageLayout {
9773 fn eq(&self, other: &Self) -> bool {
9774 self.LayoutType == other.LayoutType && self.pwcsElementName == other.pwcsElementName && self.cOffset == other.cOffset && self.cBytes == other.cBytes
9775 }
9776}
9777impl ::core::cmp::Eq for StorageLayout {}
9778impl ::core::default::Default for StorageLayout {
9779 fn default() -> Self {
9780 unsafe { ::core::mem::zeroed() }
9781 }
9782}
9783#[repr(C)]
9784pub struct TLIBATTR {
9785 pub guid: ::windows_core::GUID,
9786 pub lcid: u32,
9787 pub syskind: SYSKIND,
9788 pub wMajorVerNum: u16,
9789 pub wMinorVerNum: u16,
9790 pub wLibFlags: u16,
9791}
9792impl ::core::marker::Copy for TLIBATTR {}
9793impl ::core::clone::Clone for TLIBATTR {
9794 fn clone(&self) -> Self {
9795 *self
9796 }
9797}
9798impl ::core::fmt::Debug for TLIBATTR {
9799 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9800 f.debug_struct("TLIBATTR").field("guid", &self.guid).field("lcid", &self.lcid).field("syskind", &self.syskind).field("wMajorVerNum", &self.wMajorVerNum).field("wMinorVerNum", &self.wMinorVerNum).field(name:"wLibFlags", &self.wLibFlags).finish()
9801 }
9802}
9803impl ::windows_core::TypeKind for TLIBATTR {
9804 type TypeKind = ::windows_core::CopyType;
9805}
9806impl ::core::cmp::PartialEq for TLIBATTR {
9807 fn eq(&self, other: &Self) -> bool {
9808 self.guid == other.guid && self.lcid == other.lcid && self.syskind == other.syskind && self.wMajorVerNum == other.wMajorVerNum && self.wMinorVerNum == other.wMinorVerNum && self.wLibFlags == other.wLibFlags
9809 }
9810}
9811impl ::core::cmp::Eq for TLIBATTR {}
9812impl ::core::default::Default for TLIBATTR {
9813 fn default() -> Self {
9814 unsafe { ::core::mem::zeroed() }
9815 }
9816}
9817#[repr(C)]
9818#[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
9819#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9820pub struct TYPEATTR {
9821 pub guid: ::windows_core::GUID,
9822 pub lcid: u32,
9823 pub dwReserved: u32,
9824 pub memidConstructor: i32,
9825 pub memidDestructor: i32,
9826 pub lpstrSchema: ::windows_core::PWSTR,
9827 pub cbSizeInstance: u32,
9828 pub typekind: TYPEKIND,
9829 pub cFuncs: u16,
9830 pub cVars: u16,
9831 pub cImplTypes: u16,
9832 pub cbSizeVft: u16,
9833 pub cbAlignment: u16,
9834 pub wTypeFlags: u16,
9835 pub wMajorVerNum: u16,
9836 pub wMinorVerNum: u16,
9837 pub tdescAlias: TYPEDESC,
9838 pub idldescType: IDLDESC,
9839}
9840#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9841impl ::core::marker::Copy for TYPEATTR {}
9842#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9843impl ::core::clone::Clone for TYPEATTR {
9844 fn clone(&self) -> Self {
9845 *self
9846 }
9847}
9848#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9849impl ::windows_core::TypeKind for TYPEATTR {
9850 type TypeKind = ::windows_core::CopyType;
9851}
9852#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9853impl ::core::default::Default for TYPEATTR {
9854 fn default() -> Self {
9855 unsafe { ::core::mem::zeroed() }
9856 }
9857}
9858#[repr(C)]
9859#[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
9860#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9861pub struct TYPEDESC {
9862 pub Anonymous: TYPEDESC_0,
9863 pub vt: super::Variant::VARENUM,
9864}
9865#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9866impl ::core::marker::Copy for TYPEDESC {}
9867#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9868impl ::core::clone::Clone for TYPEDESC {
9869 fn clone(&self) -> Self {
9870 *self
9871 }
9872}
9873#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9874impl ::windows_core::TypeKind for TYPEDESC {
9875 type TypeKind = ::windows_core::CopyType;
9876}
9877#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9878impl ::core::default::Default for TYPEDESC {
9879 fn default() -> Self {
9880 unsafe { ::core::mem::zeroed() }
9881 }
9882}
9883#[repr(C)]
9884#[doc = "Required features: `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
9885#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9886pub union TYPEDESC_0 {
9887 pub lptdesc: *mut TYPEDESC,
9888 pub lpadesc: *mut super::Ole::ARRAYDESC,
9889 pub hreftype: u32,
9890}
9891#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9892impl ::core::marker::Copy for TYPEDESC_0 {}
9893#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9894impl ::core::clone::Clone for TYPEDESC_0 {
9895 fn clone(&self) -> Self {
9896 *self
9897 }
9898}
9899#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9900impl ::windows_core::TypeKind for TYPEDESC_0 {
9901 type TypeKind = ::windows_core::CopyType;
9902}
9903#[cfg(all(feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9904impl ::core::default::Default for TYPEDESC_0 {
9905 fn default() -> Self {
9906 unsafe { ::core::mem::zeroed() }
9907 }
9908}
9909#[repr(C)]
9910#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
9911#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9912pub struct VARDESC {
9913 pub memid: i32,
9914 pub lpstrSchema: ::windows_core::PWSTR,
9915 pub Anonymous: VARDESC_0,
9916 pub elemdescVar: ELEMDESC,
9917 pub wVarFlags: VARFLAGS,
9918 pub varkind: VARKIND,
9919}
9920#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9921impl ::core::marker::Copy for VARDESC {}
9922#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9923impl ::core::clone::Clone for VARDESC {
9924 fn clone(&self) -> Self {
9925 *self
9926 }
9927}
9928#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9929impl ::windows_core::TypeKind for VARDESC {
9930 type TypeKind = ::windows_core::CopyType;
9931}
9932#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9933impl ::core::default::Default for VARDESC {
9934 fn default() -> Self {
9935 unsafe { ::core::mem::zeroed() }
9936 }
9937}
9938#[repr(C)]
9939#[doc = "Required features: `\"Win32_Foundation\"`, `\"Win32_System_Ole\"`, `\"Win32_System_Variant\"`"]
9940#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9941pub union VARDESC_0 {
9942 pub oInst: u32,
9943 pub lpvarValue: *mut super::Variant::VARIANT,
9944}
9945#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9946impl ::core::marker::Copy for VARDESC_0 {}
9947#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9948impl ::core::clone::Clone for VARDESC_0 {
9949 fn clone(&self) -> Self {
9950 *self
9951 }
9952}
9953#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9954impl ::windows_core::TypeKind for VARDESC_0 {
9955 type TypeKind = ::windows_core::CopyType;
9956}
9957#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole", feature = "Win32_System_Variant"))]
9958impl ::core::default::Default for VARDESC_0 {
9959 fn default() -> Self {
9960 unsafe { ::core::mem::zeroed() }
9961 }
9962}
9963#[repr(C)]
9964pub struct WORD_BLOB {
9965 pub clSize: u32,
9966 pub asData: [u16; 1],
9967}
9968impl ::core::marker::Copy for WORD_BLOB {}
9969impl ::core::clone::Clone for WORD_BLOB {
9970 fn clone(&self) -> Self {
9971 *self
9972 }
9973}
9974impl ::core::fmt::Debug for WORD_BLOB {
9975 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9976 f.debug_struct("WORD_BLOB").field("clSize", &self.clSize).field(name:"asData", &self.asData).finish()
9977 }
9978}
9979impl ::windows_core::TypeKind for WORD_BLOB {
9980 type TypeKind = ::windows_core::CopyType;
9981}
9982impl ::core::cmp::PartialEq for WORD_BLOB {
9983 fn eq(&self, other: &Self) -> bool {
9984 self.clSize == other.clSize && self.asData == other.asData
9985 }
9986}
9987impl ::core::cmp::Eq for WORD_BLOB {}
9988impl ::core::default::Default for WORD_BLOB {
9989 fn default() -> Self {
9990 unsafe { ::core::mem::zeroed() }
9991 }
9992}
9993#[repr(C)]
9994pub struct WORD_SIZEDARR {
9995 pub clSize: u32,
9996 pub pData: *mut u16,
9997}
9998impl ::core::marker::Copy for WORD_SIZEDARR {}
9999impl ::core::clone::Clone for WORD_SIZEDARR {
10000 fn clone(&self) -> Self {
10001 *self
10002 }
10003}
10004impl ::core::fmt::Debug for WORD_SIZEDARR {
10005 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10006 f.debug_struct("WORD_SIZEDARR").field("clSize", &self.clSize).field(name:"pData", &self.pData).finish()
10007 }
10008}
10009impl ::windows_core::TypeKind for WORD_SIZEDARR {
10010 type TypeKind = ::windows_core::CopyType;
10011}
10012impl ::core::cmp::PartialEq for WORD_SIZEDARR {
10013 fn eq(&self, other: &Self) -> bool {
10014 self.clSize == other.clSize && self.pData == other.pData
10015 }
10016}
10017impl ::core::cmp::Eq for WORD_SIZEDARR {}
10018impl ::core::default::Default for WORD_SIZEDARR {
10019 fn default() -> Self {
10020 unsafe { ::core::mem::zeroed() }
10021 }
10022}
10023#[repr(C)]
10024pub struct uCLSSPEC {
10025 pub tyspec: u32,
10026 pub tagged_union: uCLSSPEC_0,
10027}
10028impl ::core::marker::Copy for uCLSSPEC {}
10029impl ::core::clone::Clone for uCLSSPEC {
10030 fn clone(&self) -> Self {
10031 *self
10032 }
10033}
10034impl ::windows_core::TypeKind for uCLSSPEC {
10035 type TypeKind = ::windows_core::CopyType;
10036}
10037impl ::core::default::Default for uCLSSPEC {
10038 fn default() -> Self {
10039 unsafe { ::core::mem::zeroed() }
10040 }
10041}
10042#[repr(C)]
10043pub union uCLSSPEC_0 {
10044 pub clsid: ::windows_core::GUID,
10045 pub pFileExt: ::windows_core::PWSTR,
10046 pub pMimeType: ::windows_core::PWSTR,
10047 pub pProgId: ::windows_core::PWSTR,
10048 pub pFileName: ::windows_core::PWSTR,
10049 pub ByName: uCLSSPEC_0_0,
10050 pub ByObjectId: uCLSSPEC_0_1,
10051}
10052impl ::core::marker::Copy for uCLSSPEC_0 {}
10053impl ::core::clone::Clone for uCLSSPEC_0 {
10054 fn clone(&self) -> Self {
10055 *self
10056 }
10057}
10058impl ::windows_core::TypeKind for uCLSSPEC_0 {
10059 type TypeKind = ::windows_core::CopyType;
10060}
10061impl ::core::default::Default for uCLSSPEC_0 {
10062 fn default() -> Self {
10063 unsafe { ::core::mem::zeroed() }
10064 }
10065}
10066#[repr(C)]
10067pub struct uCLSSPEC_0_0 {
10068 pub pPackageName: ::windows_core::PWSTR,
10069 pub PolicyId: ::windows_core::GUID,
10070}
10071impl ::core::marker::Copy for uCLSSPEC_0_0 {}
10072impl ::core::clone::Clone for uCLSSPEC_0_0 {
10073 fn clone(&self) -> Self {
10074 *self
10075 }
10076}
10077impl ::core::fmt::Debug for uCLSSPEC_0_0 {
10078 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10079 f.debug_struct("uCLSSPEC_0_0").field("pPackageName", &self.pPackageName).field(name:"PolicyId", &self.PolicyId).finish()
10080 }
10081}
10082impl ::windows_core::TypeKind for uCLSSPEC_0_0 {
10083 type TypeKind = ::windows_core::CopyType;
10084}
10085impl ::core::cmp::PartialEq for uCLSSPEC_0_0 {
10086 fn eq(&self, other: &Self) -> bool {
10087 self.pPackageName == other.pPackageName && self.PolicyId == other.PolicyId
10088 }
10089}
10090impl ::core::cmp::Eq for uCLSSPEC_0_0 {}
10091impl ::core::default::Default for uCLSSPEC_0_0 {
10092 fn default() -> Self {
10093 unsafe { ::core::mem::zeroed() }
10094 }
10095}
10096#[repr(C)]
10097pub struct uCLSSPEC_0_1 {
10098 pub ObjectId: ::windows_core::GUID,
10099 pub PolicyId: ::windows_core::GUID,
10100}
10101impl ::core::marker::Copy for uCLSSPEC_0_1 {}
10102impl ::core::clone::Clone for uCLSSPEC_0_1 {
10103 fn clone(&self) -> Self {
10104 *self
10105 }
10106}
10107impl ::core::fmt::Debug for uCLSSPEC_0_1 {
10108 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10109 f.debug_struct("uCLSSPEC_0_1").field("ObjectId", &self.ObjectId).field(name:"PolicyId", &self.PolicyId).finish()
10110 }
10111}
10112impl ::windows_core::TypeKind for uCLSSPEC_0_1 {
10113 type TypeKind = ::windows_core::CopyType;
10114}
10115impl ::core::cmp::PartialEq for uCLSSPEC_0_1 {
10116 fn eq(&self, other: &Self) -> bool {
10117 self.ObjectId == other.ObjectId && self.PolicyId == other.PolicyId
10118 }
10119}
10120impl ::core::cmp::Eq for uCLSSPEC_0_1 {}
10121impl ::core::default::Default for uCLSSPEC_0_1 {
10122 fn default() -> Self {
10123 unsafe { ::core::mem::zeroed() }
10124 }
10125}
10126#[repr(C)]
10127#[doc = "Required features: `\"Win32_Graphics_Gdi\"`, `\"Win32_System_SystemServices\"`"]
10128#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10129pub struct userFLAG_STGMEDIUM {
10130 pub ContextFlags: i32,
10131 pub fPassOwnership: i32,
10132 pub Stgmed: userSTGMEDIUM,
10133}
10134#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10135impl ::core::clone::Clone for userFLAG_STGMEDIUM {
10136 fn clone(&self) -> Self {
10137 unsafe { ::core::mem::transmute_copy(self) }
10138 }
10139}
10140#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10141impl ::windows_core::TypeKind for userFLAG_STGMEDIUM {
10142 type TypeKind = ::windows_core::CopyType;
10143}
10144#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10145impl ::core::default::Default for userFLAG_STGMEDIUM {
10146 fn default() -> Self {
10147 unsafe { ::core::mem::zeroed() }
10148 }
10149}
10150#[repr(C)]
10151#[doc = "Required features: `\"Win32_Graphics_Gdi\"`, `\"Win32_System_SystemServices\"`"]
10152#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10153pub struct userSTGMEDIUM {
10154 pub u: userSTGMEDIUM_0,
10155 pub pUnkForRelease: ::std::mem::ManuallyDrop<::core::option::Option<::windows_core::IUnknown>>,
10156}
10157#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10158impl ::core::clone::Clone for userSTGMEDIUM {
10159 fn clone(&self) -> Self {
10160 unsafe { ::core::mem::transmute_copy(self) }
10161 }
10162}
10163#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10164impl ::windows_core::TypeKind for userSTGMEDIUM {
10165 type TypeKind = ::windows_core::CopyType;
10166}
10167#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10168impl ::core::default::Default for userSTGMEDIUM {
10169 fn default() -> Self {
10170 unsafe { ::core::mem::zeroed() }
10171 }
10172}
10173#[repr(C)]
10174#[doc = "Required features: `\"Win32_Graphics_Gdi\"`, `\"Win32_System_SystemServices\"`"]
10175#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10176pub struct userSTGMEDIUM_0 {
10177 pub tymed: u32,
10178 pub u: userSTGMEDIUM_0_0,
10179}
10180#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10181impl ::core::marker::Copy for userSTGMEDIUM_0 {}
10182#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10183impl ::core::clone::Clone for userSTGMEDIUM_0 {
10184 fn clone(&self) -> Self {
10185 *self
10186 }
10187}
10188#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10189impl ::windows_core::TypeKind for userSTGMEDIUM_0 {
10190 type TypeKind = ::windows_core::CopyType;
10191}
10192#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10193impl ::core::default::Default for userSTGMEDIUM_0 {
10194 fn default() -> Self {
10195 unsafe { ::core::mem::zeroed() }
10196 }
10197}
10198#[repr(C)]
10199#[doc = "Required features: `\"Win32_Graphics_Gdi\"`, `\"Win32_System_SystemServices\"`"]
10200#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10201pub union userSTGMEDIUM_0_0 {
10202 pub hMetaFilePict: *mut super::SystemServices::userHMETAFILEPICT,
10203 pub hHEnhMetaFile: *mut super::SystemServices::userHENHMETAFILE,
10204 pub hGdiHandle: *mut GDI_OBJECT,
10205 pub hGlobal: *mut super::SystemServices::userHGLOBAL,
10206 pub lpszFileName: ::windows_core::PWSTR,
10207 pub pstm: *mut BYTE_BLOB,
10208 pub pstg: *mut BYTE_BLOB,
10209}
10210#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10211impl ::core::marker::Copy for userSTGMEDIUM_0_0 {}
10212#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10213impl ::core::clone::Clone for userSTGMEDIUM_0_0 {
10214 fn clone(&self) -> Self {
10215 *self
10216 }
10217}
10218#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10219impl ::windows_core::TypeKind for userSTGMEDIUM_0_0 {
10220 type TypeKind = ::windows_core::CopyType;
10221}
10222#[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10223impl ::core::default::Default for userSTGMEDIUM_0_0 {
10224 fn default() -> Self {
10225 unsafe { ::core::mem::zeroed() }
10226 }
10227}
10228pub type LPEXCEPFINO_DEFERRED_FILLIN = ::core::option::Option<unsafe extern "system" fn(pexcepinfo: *mut EXCEPINFO) -> ::windows_core::HRESULT>;
10229pub type LPFNCANUNLOADNOW = ::core::option::Option<unsafe extern "system" fn() -> ::windows_core::HRESULT>;
10230pub type LPFNGETCLASSOBJECT = ::core::option::Option<unsafe extern "system" fn(param0: *const ::windows_core::GUID, param1: *const ::windows_core::GUID, param2: *mut *mut ::core::ffi::c_void) -> ::windows_core::HRESULT>;
10231pub type PFNCONTEXTCALL = ::core::option::Option<unsafe extern "system" fn(pparam: *mut ComCallData) -> ::windows_core::HRESULT>;
10232#[cfg(feature = "implement")]
10233::core::include!("impl.rs");
10234