1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "Win32_System_Com_CallObj")]
3 pub mod CallObj;
4 #[cfg(feature = "Win32_System_Com_ChannelCredentials")]
5 pub mod ChannelCredentials;
6 #[cfg(feature = "Win32_System_Com_Events")]
7 pub mod Events;
8 #[cfg(feature = "Win32_System_Com_Marshal")]
9 pub mod Marshal;
10 #[cfg(feature = "Win32_System_Com_StructuredStorage")]
11 pub mod StructuredStorage;
12 #[cfg(feature = "Win32_System_Com_UI")]
13 pub mod UI;
14 #[cfg(feature = "Win32_System_Com_Urlmon")]
15 pub mod Urlmon;
16 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
17 #[repr(transparent)]
18 pub struct ADVF(pub i32);
19 pub const ADVF_NODATA: ADVF = ADVF(1i32);
20 pub const ADVF_PRIMEFIRST: ADVF = ADVF(2i32);
21 pub const ADVF_ONLYONCE: ADVF = ADVF(4i32);
22 pub const ADVF_DATAONSTOP: ADVF = ADVF(64i32);
23 pub const ADVFCACHE_NOHANDLER: ADVF = ADVF(8i32);
24 pub const ADVFCACHE_FORCEBUILTIN: ADVF = ADVF(16i32);
25 pub const ADVFCACHE_ONSAVE: ADVF = ADVF(32i32);
26 impl ::std::convert::From<i32> for ADVF {
from(value: i32) -> Self27     fn from(value: i32) -> Self {
28         Self(value)
29     }
30 }
31 unsafe impl ::windows::runtime::Abi for ADVF {
32     type Abi = Self;
33     type DefaultType = Self;
34 }
35 pub const APPIDREGFLAGS_AAA_NO_IMPLICIT_ACTIVATE_AS_IU: u32 = 2048u32;
36 pub const APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP: u32 = 1u32;
37 pub const APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY: u32 = 4u32;
38 pub const APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY: u32 = 32u32;
39 pub const APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION: u32 = 16u32;
40 pub const APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN: u32 = 8u32;
41 pub const APPIDREGFLAGS_RESERVED1: u32 = 64u32;
42 pub const APPIDREGFLAGS_RESERVED2: u32 = 128u32;
43 pub const APPIDREGFLAGS_RESERVED3: u32 = 256u32;
44 pub const APPIDREGFLAGS_RESERVED4: u32 = 512u32;
45 pub const APPIDREGFLAGS_RESERVED5: u32 = 1024u32;
46 pub const APPIDREGFLAGS_RESERVED7: u32 = 4096u32;
47 pub const APPIDREGFLAGS_RESERVED8: u32 = 8192u32;
48 pub const APPIDREGFLAGS_RESERVED9: u32 = 16384u32;
49 pub const APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND: u32 = 2u32;
50 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
51 #[repr(transparent)]
52 pub struct APTTYPE(pub i32);
53 pub const APTTYPE_CURRENT: APTTYPE = APTTYPE(-1i32);
54 pub const APTTYPE_STA: APTTYPE = APTTYPE(0i32);
55 pub const APTTYPE_MTA: APTTYPE = APTTYPE(1i32);
56 pub const APTTYPE_NA: APTTYPE = APTTYPE(2i32);
57 pub const APTTYPE_MAINSTA: APTTYPE = APTTYPE(3i32);
58 impl ::std::convert::From<i32> for APTTYPE {
from(value: i32) -> Self59     fn from(value: i32) -> Self {
60         Self(value)
61     }
62 }
63 unsafe impl ::windows::runtime::Abi for APTTYPE {
64     type Abi = Self;
65     type DefaultType = Self;
66 }
67 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
68 #[repr(transparent)]
69 pub struct APTTYPEQUALIFIER(pub i32);
70 pub const APTTYPEQUALIFIER_NONE: APTTYPEQUALIFIER = APTTYPEQUALIFIER(0i32);
71 pub const APTTYPEQUALIFIER_IMPLICIT_MTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(1i32);
72 pub const APTTYPEQUALIFIER_NA_ON_MTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(2i32);
73 pub const APTTYPEQUALIFIER_NA_ON_STA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(3i32);
74 pub const APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(4i32);
75 pub const APTTYPEQUALIFIER_NA_ON_MAINSTA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(5i32);
76 pub const APTTYPEQUALIFIER_APPLICATION_STA: APTTYPEQUALIFIER = APTTYPEQUALIFIER(6i32);
77 pub const APTTYPEQUALIFIER_RESERVED_1: APTTYPEQUALIFIER = APTTYPEQUALIFIER(7i32);
78 impl ::std::convert::From<i32> for APTTYPEQUALIFIER {
from(value: i32) -> Self79     fn from(value: i32) -> Self {
80         Self(value)
81     }
82 }
83 unsafe impl ::windows::runtime::Abi for APTTYPEQUALIFIER {
84     type Abi = Self;
85     type DefaultType = Self;
86 }
87 pub const ASYNC_MODE_COMPATIBILITY: i32 = 1i32;
88 pub const ASYNC_MODE_DEFAULT: i32 = 0i32;
89 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
90 #[repr(transparent)]
91 pub struct ApplicationType(pub i32);
92 pub const ServerApplication: ApplicationType = ApplicationType(0i32);
93 pub const LibraryApplication: ApplicationType = ApplicationType(1i32);
94 impl ::std::convert::From<i32> for ApplicationType {
from(value: i32) -> Self95     fn from(value: i32) -> Self {
96         Self(value)
97     }
98 }
99 unsafe impl ::windows::runtime::Abi for ApplicationType {
100     type Abi = Self;
101     type DefaultType = Self;
102 }
103 #[repr(transparent)]
104 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
105 pub struct AsyncIAdviseSink(::windows::runtime::IUnknown);
106 impl AsyncIAdviseSink {
107     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
Begin_OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM)108     pub unsafe fn Begin_OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
109         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pstgmed)))
110     }
Finish_OnDataChange(&self)111     pub unsafe fn Finish_OnDataChange(&self) {
112         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
113     }
Begin_OnViewChange(&self, dwaspect: u32, lindex: i32)114     pub unsafe fn Begin_OnViewChange(&self, dwaspect: u32, lindex: i32) {
115         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwaspect), ::std::mem::transmute(lindex)))
116     }
Finish_OnViewChange(&self)117     pub unsafe fn Finish_OnViewChange(&self) {
118         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
119     }
Begin_OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0)120     pub unsafe fn Begin_OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0) {
121         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pmk.into_param().abi()))
122     }
Finish_OnRename(&self)123     pub unsafe fn Finish_OnRename(&self) {
124         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
125     }
Begin_OnSave(&self)126     pub unsafe fn Begin_OnSave(&self) {
127         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
128     }
Finish_OnSave(&self)129     pub unsafe fn Finish_OnSave(&self) {
130         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)))
131     }
Begin_OnClose(&self)132     pub unsafe fn Begin_OnClose(&self) {
133         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
134     }
Finish_OnClose(&self)135     pub unsafe fn Finish_OnClose(&self) {
136         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
137     }
138 }
139 unsafe impl ::windows::runtime::Interface for AsyncIAdviseSink {
140     type Vtable = AsyncIAdviseSink_abi;
141     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(336, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
142 }
143 impl ::std::convert::From<AsyncIAdviseSink> for ::windows::runtime::IUnknown {
from(value: AsyncIAdviseSink) -> Self144     fn from(value: AsyncIAdviseSink) -> Self {
145         unsafe { ::std::mem::transmute(value) }
146     }
147 }
148 impl ::std::convert::From<&AsyncIAdviseSink> for ::windows::runtime::IUnknown {
from(value: &AsyncIAdviseSink) -> Self149     fn from(value: &AsyncIAdviseSink) -> Self {
150         ::std::convert::From::from(::std::clone::Clone::clone(value))
151     }
152 }
153 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIAdviseSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>154     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
155         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
156     }
157 }
158 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIAdviseSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>159     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
160         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
161     }
162 }
163 #[repr(C)]
164 #[doc(hidden)]
165 pub struct AsyncIAdviseSink_abi(
166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
169     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, pstgmed: *const ::std::mem::ManuallyDrop<STGMEDIUM>),
170     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwaspect: u32, lindex: i32),
173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr),
175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
180 );
181 #[repr(transparent)]
182 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
183 pub struct AsyncIAdviseSink2(::windows::runtime::IUnknown);
184 impl AsyncIAdviseSink2 {
185     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
Begin_OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM)186     pub unsafe fn Begin_OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
187         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pstgmed)))
188     }
Finish_OnDataChange(&self)189     pub unsafe fn Finish_OnDataChange(&self) {
190         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
191     }
Begin_OnViewChange(&self, dwaspect: u32, lindex: i32)192     pub unsafe fn Begin_OnViewChange(&self, dwaspect: u32, lindex: i32) {
193         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwaspect), ::std::mem::transmute(lindex)))
194     }
Finish_OnViewChange(&self)195     pub unsafe fn Finish_OnViewChange(&self) {
196         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
197     }
Begin_OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0)198     pub unsafe fn Begin_OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0) {
199         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pmk.into_param().abi()))
200     }
Finish_OnRename(&self)201     pub unsafe fn Finish_OnRename(&self) {
202         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
203     }
Begin_OnSave(&self)204     pub unsafe fn Begin_OnSave(&self) {
205         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)))
206     }
Finish_OnSave(&self)207     pub unsafe fn Finish_OnSave(&self) {
208         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self)))
209     }
Begin_OnClose(&self)210     pub unsafe fn Begin_OnClose(&self) {
211         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self)))
212     }
Finish_OnClose(&self)213     pub unsafe fn Finish_OnClose(&self) {
214         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self)))
215     }
Begin_OnLinkSrcChange<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0)216     pub unsafe fn Begin_OnLinkSrcChange<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0) {
217         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pmk.into_param().abi()))
218     }
Finish_OnLinkSrcChange(&self)219     pub unsafe fn Finish_OnLinkSrcChange(&self) {
220         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
221     }
222 }
223 unsafe impl ::windows::runtime::Interface for AsyncIAdviseSink2 {
224     type Vtable = AsyncIAdviseSink2_abi;
225     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(337, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
226 }
227 impl ::std::convert::From<AsyncIAdviseSink2> for ::windows::runtime::IUnknown {
from(value: AsyncIAdviseSink2) -> Self228     fn from(value: AsyncIAdviseSink2) -> Self {
229         unsafe { ::std::mem::transmute(value) }
230     }
231 }
232 impl ::std::convert::From<&AsyncIAdviseSink2> for ::windows::runtime::IUnknown {
from(value: &AsyncIAdviseSink2) -> Self233     fn from(value: &AsyncIAdviseSink2) -> Self {
234         ::std::convert::From::from(::std::clone::Clone::clone(value))
235     }
236 }
237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>238     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
239         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
240     }
241 }
242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
244         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
245     }
246 }
247 impl ::std::convert::From<AsyncIAdviseSink2> for AsyncIAdviseSink {
from(value: AsyncIAdviseSink2) -> Self248     fn from(value: AsyncIAdviseSink2) -> Self {
249         unsafe { ::std::mem::transmute(value) }
250     }
251 }
252 impl ::std::convert::From<&AsyncIAdviseSink2> for AsyncIAdviseSink {
from(value: &AsyncIAdviseSink2) -> Self253     fn from(value: &AsyncIAdviseSink2) -> Self {
254         ::std::convert::From::from(::std::clone::Clone::clone(value))
255     }
256 }
257 impl<'a> ::windows::runtime::IntoParam<'a, AsyncIAdviseSink> for AsyncIAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, AsyncIAdviseSink>258     fn into_param(self) -> ::windows::runtime::Param<'a, AsyncIAdviseSink> {
259         ::windows::runtime::Param::Owned(::std::convert::Into::<AsyncIAdviseSink>::into(self))
260     }
261 }
262 impl<'a> ::windows::runtime::IntoParam<'a, AsyncIAdviseSink> for &AsyncIAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, AsyncIAdviseSink>263     fn into_param(self) -> ::windows::runtime::Param<'a, AsyncIAdviseSink> {
264         ::windows::runtime::Param::Owned(::std::convert::Into::<AsyncIAdviseSink>::into(::std::clone::Clone::clone(self)))
265     }
266 }
267 #[repr(C)]
268 #[doc(hidden)]
269 pub struct AsyncIAdviseSink2_abi(
270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
273     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, pstgmed: *const ::std::mem::ManuallyDrop<STGMEDIUM>),
274     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwaspect: u32, lindex: i32),
277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr),
279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr),
285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
286 );
287 #[repr(transparent)]
288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
289 pub struct AsyncIMultiQI(::windows::runtime::IUnknown);
290 impl AsyncIMultiQI {
Begin_QueryMultipleInterfaces(&self, cmqis: u32, pmqis: *mut MULTI_QI) -> ::windows::runtime::Result<()>291     pub unsafe fn Begin_QueryMultipleInterfaces(&self, cmqis: u32, pmqis: *mut MULTI_QI) -> ::windows::runtime::Result<()> {
292         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cmqis), ::std::mem::transmute(pmqis)).ok()
293     }
Finish_QueryMultipleInterfaces(&self, pmqis: *mut MULTI_QI) -> ::windows::runtime::Result<()>294     pub unsafe fn Finish_QueryMultipleInterfaces(&self, pmqis: *mut MULTI_QI) -> ::windows::runtime::Result<()> {
295         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmqis)).ok()
296     }
297 }
298 unsafe impl ::windows::runtime::Interface for AsyncIMultiQI {
299     type Vtable = AsyncIMultiQI_abi;
300     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(917536, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
301 }
302 impl ::std::convert::From<AsyncIMultiQI> for ::windows::runtime::IUnknown {
from(value: AsyncIMultiQI) -> Self303     fn from(value: AsyncIMultiQI) -> Self {
304         unsafe { ::std::mem::transmute(value) }
305     }
306 }
307 impl ::std::convert::From<&AsyncIMultiQI> for ::windows::runtime::IUnknown {
from(value: &AsyncIMultiQI) -> Self308     fn from(value: &AsyncIMultiQI) -> Self {
309         ::std::convert::From::from(::std::clone::Clone::clone(value))
310     }
311 }
312 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIMultiQI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>313     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
314         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
315     }
316 }
317 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIMultiQI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>318     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
319         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
320     }
321 }
322 #[repr(C)]
323 #[doc(hidden)]
324 pub struct AsyncIMultiQI_abi(
325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cmqis: u32, pmqis: *mut ::std::mem::ManuallyDrop<MULTI_QI>) -> ::windows::runtime::HRESULT,
329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmqis: *mut ::std::mem::ManuallyDrop<MULTI_QI>) -> ::windows::runtime::HRESULT,
330 );
331 #[repr(transparent)]
332 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
333 pub struct AsyncIPipeByte(::windows::runtime::IUnknown);
334 impl AsyncIPipeByte {
Begin_Pull(&self, crequest: u32) -> ::windows::runtime::Result<()>335     pub unsafe fn Begin_Pull(&self, crequest: u32) -> ::windows::runtime::Result<()> {
336         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(crequest)).ok()
337     }
Finish_Pull(&self, buf: *mut u8, pcreturned: *mut u32) -> ::windows::runtime::Result<()>338     pub unsafe fn Finish_Pull(&self, buf: *mut u8, pcreturned: *mut u32) -> ::windows::runtime::Result<()> {
339         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(pcreturned)).ok()
340     }
Begin_Push(&self, buf: *const u8, csent: u32) -> ::windows::runtime::Result<()>341     pub unsafe fn Begin_Push(&self, buf: *const u8, csent: u32) -> ::windows::runtime::Result<()> {
342         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(csent)).ok()
343     }
Finish_Push(&self) -> ::windows::runtime::Result<()>344     pub unsafe fn Finish_Push(&self) -> ::windows::runtime::Result<()> {
345         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
346     }
347 }
348 unsafe impl ::windows::runtime::Interface for AsyncIPipeByte {
349     type Vtable = AsyncIPipeByte_abi;
350     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677305547, 12166, 4561, [142, 4, 0, 192, 79, 185, 152, 154]);
351 }
352 impl ::std::convert::From<AsyncIPipeByte> for ::windows::runtime::IUnknown {
from(value: AsyncIPipeByte) -> Self353     fn from(value: AsyncIPipeByte) -> Self {
354         unsafe { ::std::mem::transmute(value) }
355     }
356 }
357 impl ::std::convert::From<&AsyncIPipeByte> for ::windows::runtime::IUnknown {
from(value: &AsyncIPipeByte) -> Self358     fn from(value: &AsyncIPipeByte) -> Self {
359         ::std::convert::From::from(::std::clone::Clone::clone(value))
360     }
361 }
362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIPipeByte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
364         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
365     }
366 }
367 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIPipeByte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>368     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
369         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
370     }
371 }
372 #[repr(C)]
373 #[doc(hidden)]
374 pub struct AsyncIPipeByte_abi(
375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, crequest: u32) -> ::windows::runtime::HRESULT,
379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *mut u8, pcreturned: *mut u32) -> ::windows::runtime::HRESULT,
380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *const u8, csent: u32) -> ::windows::runtime::HRESULT,
381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
382 );
383 #[repr(transparent)]
384 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
385 pub struct AsyncIPipeDouble(::windows::runtime::IUnknown);
386 impl AsyncIPipeDouble {
Begin_Pull(&self, crequest: u32) -> ::windows::runtime::Result<()>387     pub unsafe fn Begin_Pull(&self, crequest: u32) -> ::windows::runtime::Result<()> {
388         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(crequest)).ok()
389     }
Finish_Pull(&self, buf: *mut f64, pcreturned: *mut u32) -> ::windows::runtime::Result<()>390     pub unsafe fn Finish_Pull(&self, buf: *mut f64, pcreturned: *mut u32) -> ::windows::runtime::Result<()> {
391         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(pcreturned)).ok()
392     }
Begin_Push(&self, buf: *const f64, csent: u32) -> ::windows::runtime::Result<()>393     pub unsafe fn Begin_Push(&self, buf: *const f64, csent: u32) -> ::windows::runtime::Result<()> {
394         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(csent)).ok()
395     }
Finish_Push(&self) -> ::windows::runtime::Result<()>396     pub unsafe fn Finish_Push(&self) -> ::windows::runtime::Result<()> {
397         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
398     }
399 }
400 unsafe impl ::windows::runtime::Interface for AsyncIPipeDouble {
401     type Vtable = AsyncIPipeDouble_abi;
402     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677305551, 12166, 4561, [142, 4, 0, 192, 79, 185, 152, 154]);
403 }
404 impl ::std::convert::From<AsyncIPipeDouble> for ::windows::runtime::IUnknown {
from(value: AsyncIPipeDouble) -> Self405     fn from(value: AsyncIPipeDouble) -> Self {
406         unsafe { ::std::mem::transmute(value) }
407     }
408 }
409 impl ::std::convert::From<&AsyncIPipeDouble> for ::windows::runtime::IUnknown {
from(value: &AsyncIPipeDouble) -> Self410     fn from(value: &AsyncIPipeDouble) -> Self {
411         ::std::convert::From::from(::std::clone::Clone::clone(value))
412     }
413 }
414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIPipeDouble {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
416         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
417     }
418 }
419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIPipeDouble {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
421         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
422     }
423 }
424 #[repr(C)]
425 #[doc(hidden)]
426 pub struct AsyncIPipeDouble_abi(
427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, crequest: u32) -> ::windows::runtime::HRESULT,
431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *mut f64, pcreturned: *mut u32) -> ::windows::runtime::HRESULT,
432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *const f64, csent: u32) -> ::windows::runtime::HRESULT,
433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
434 );
435 #[repr(transparent)]
436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
437 pub struct AsyncIPipeLong(::windows::runtime::IUnknown);
438 impl AsyncIPipeLong {
Begin_Pull(&self, crequest: u32) -> ::windows::runtime::Result<()>439     pub unsafe fn Begin_Pull(&self, crequest: u32) -> ::windows::runtime::Result<()> {
440         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(crequest)).ok()
441     }
Finish_Pull(&self, buf: *mut i32, pcreturned: *mut u32) -> ::windows::runtime::Result<()>442     pub unsafe fn Finish_Pull(&self, buf: *mut i32, pcreturned: *mut u32) -> ::windows::runtime::Result<()> {
443         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(pcreturned)).ok()
444     }
Begin_Push(&self, buf: *const i32, csent: u32) -> ::windows::runtime::Result<()>445     pub unsafe fn Begin_Push(&self, buf: *const i32, csent: u32) -> ::windows::runtime::Result<()> {
446         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(csent)).ok()
447     }
Finish_Push(&self) -> ::windows::runtime::Result<()>448     pub unsafe fn Finish_Push(&self) -> ::windows::runtime::Result<()> {
449         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
450     }
451 }
452 unsafe impl ::windows::runtime::Interface for AsyncIPipeLong {
453     type Vtable = AsyncIPipeLong_abi;
454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677305549, 12166, 4561, [142, 4, 0, 192, 79, 185, 152, 154]);
455 }
456 impl ::std::convert::From<AsyncIPipeLong> for ::windows::runtime::IUnknown {
from(value: AsyncIPipeLong) -> Self457     fn from(value: AsyncIPipeLong) -> Self {
458         unsafe { ::std::mem::transmute(value) }
459     }
460 }
461 impl ::std::convert::From<&AsyncIPipeLong> for ::windows::runtime::IUnknown {
from(value: &AsyncIPipeLong) -> Self462     fn from(value: &AsyncIPipeLong) -> Self {
463         ::std::convert::From::from(::std::clone::Clone::clone(value))
464     }
465 }
466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIPipeLong {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
468         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
469     }
470 }
471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIPipeLong {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
473         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
474     }
475 }
476 #[repr(C)]
477 #[doc(hidden)]
478 pub struct AsyncIPipeLong_abi(
479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, crequest: u32) -> ::windows::runtime::HRESULT,
483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *mut i32, pcreturned: *mut u32) -> ::windows::runtime::HRESULT,
484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *const i32, csent: u32) -> ::windows::runtime::HRESULT,
485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
486 );
487 #[repr(transparent)]
488 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
489 pub struct AsyncIUnknown(::windows::runtime::IUnknown);
490 impl AsyncIUnknown {
Begin_QueryInterface(&self, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>491     pub unsafe fn Begin_QueryInterface(&self, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
492         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid)).ok()
493     }
Finish_QueryInterface(&self, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>494     pub unsafe fn Finish_QueryInterface(&self, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
495         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppvobject)).ok()
496     }
Begin_AddRef(&self) -> ::windows::runtime::Result<()>497     pub unsafe fn Begin_AddRef(&self) -> ::windows::runtime::Result<()> {
498         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
499     }
Finish_AddRef(&self) -> u32500     pub unsafe fn Finish_AddRef(&self) -> u32 {
501         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
502     }
Begin_Release(&self) -> ::windows::runtime::Result<()>503     pub unsafe fn Begin_Release(&self) -> ::windows::runtime::Result<()> {
504         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
505     }
Finish_Release(&self) -> u32506     pub unsafe fn Finish_Release(&self) -> u32 {
507         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
508     }
509 }
510 unsafe impl ::windows::runtime::Interface for AsyncIUnknown {
511     type Vtable = AsyncIUnknown_abi;
512     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(917504, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
513 }
514 impl ::std::convert::From<AsyncIUnknown> for ::windows::runtime::IUnknown {
from(value: AsyncIUnknown) -> Self515     fn from(value: AsyncIUnknown) -> Self {
516         unsafe { ::std::mem::transmute(value) }
517     }
518 }
519 impl ::std::convert::From<&AsyncIUnknown> for ::windows::runtime::IUnknown {
from(value: &AsyncIUnknown) -> Self520     fn from(value: &AsyncIUnknown) -> Self {
521         ::std::convert::From::from(::std::clone::Clone::clone(value))
522     }
523 }
524 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AsyncIUnknown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>525     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
526         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
527     }
528 }
529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AsyncIUnknown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
531         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
532     }
533 }
534 #[repr(C)]
535 #[doc(hidden)]
536 pub struct AsyncIUnknown_abi(
537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
541     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
546 );
547 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
548 impl ::std::clone::Clone for BINDINFO {
clone(&self) -> Self549     fn clone(&self) -> Self {
550         unimplemented!()
551     }
552 }
553 #[repr(C)]
554 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
555 pub struct BINDINFO {
556     pub cbSize: u32,
557     pub szExtraInfo: super::super::Foundation::PWSTR,
558     pub stgmedData: STGMEDIUM,
559     pub grfBindInfoF: u32,
560     pub dwBindVerb: u32,
561     pub szCustomVerb: super::super::Foundation::PWSTR,
562     pub cbstgmedData: u32,
563     pub dwOptions: u32,
564     pub dwOptionsFlags: u32,
565     pub dwCodePage: u32,
566     pub securityAttributes: super::super::Security::SECURITY_ATTRIBUTES,
567     pub iid: ::windows::runtime::GUID,
568     pub pUnk: ::std::option::Option<::windows::runtime::IUnknown>,
569     pub dwReserved: u32,
570 }
571 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
572 impl BINDINFO {}
573 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
574 impl ::std::default::Default for BINDINFO {
default() -> Self575     fn default() -> Self {
576         unsafe { ::std::mem::zeroed() }
577     }
578 }
579 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
580 impl ::std::cmp::PartialEq for BINDINFO {
eq(&self, _other: &Self) -> bool581     fn eq(&self, _other: &Self) -> bool {
582         unimplemented!()
583     }
584 }
585 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
586 impl ::std::cmp::Eq for BINDINFO {}
587 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
588 unsafe impl ::windows::runtime::Abi for BINDINFO {
589     type Abi = ::std::mem::ManuallyDrop<Self>;
590     type DefaultType = Self;
591 }
592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
593 #[repr(transparent)]
594 pub struct BINDINFOF(pub i32);
595 pub const BINDINFOF_URLENCODESTGMEDDATA: BINDINFOF = BINDINFOF(1i32);
596 pub const BINDINFOF_URLENCODEDEXTRAINFO: BINDINFOF = BINDINFOF(2i32);
597 impl ::std::convert::From<i32> for BINDINFOF {
from(value: i32) -> Self598     fn from(value: i32) -> Self {
599         Self(value)
600     }
601 }
602 unsafe impl ::windows::runtime::Abi for BINDINFOF {
603     type Abi = Self;
604     type DefaultType = Self;
605 }
606 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
607 #[repr(transparent)]
608 pub struct BIND_FLAGS(pub i32);
609 pub const BIND_MAYBOTHERUSER: BIND_FLAGS = BIND_FLAGS(1i32);
610 pub const BIND_JUSTTESTEXISTENCE: BIND_FLAGS = BIND_FLAGS(2i32);
611 impl ::std::convert::From<i32> for BIND_FLAGS {
from(value: i32) -> Self612     fn from(value: i32) -> Self {
613         Self(value)
614     }
615 }
616 unsafe impl ::windows::runtime::Abi for BIND_FLAGS {
617     type Abi = Self;
618     type DefaultType = Self;
619 }
620 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
621 #[repr(C)]
622 pub struct BIND_OPTS {
623     pub cbStruct: u32,
624     pub grfFlags: u32,
625     pub grfMode: u32,
626     pub dwTickCountDeadline: u32,
627 }
628 impl BIND_OPTS {}
629 impl ::std::default::Default for BIND_OPTS {
default() -> Self630     fn default() -> Self {
631         unsafe { ::std::mem::zeroed() }
632     }
633 }
634 impl ::std::fmt::Debug for BIND_OPTS {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result635     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
636         fmt.debug_struct("BIND_OPTS").field("cbStruct", &self.cbStruct).field("grfFlags", &self.grfFlags).field("grfMode", &self.grfMode).field("dwTickCountDeadline", &self.dwTickCountDeadline).finish()
637     }
638 }
639 impl ::std::cmp::PartialEq for BIND_OPTS {
eq(&self, other: &Self) -> bool640     fn eq(&self, other: &Self) -> bool {
641         self.cbStruct == other.cbStruct && self.grfFlags == other.grfFlags && self.grfMode == other.grfMode && self.dwTickCountDeadline == other.dwTickCountDeadline
642     }
643 }
644 impl ::std::cmp::Eq for BIND_OPTS {}
645 unsafe impl ::windows::runtime::Abi for BIND_OPTS {
646     type Abi = Self;
647     type DefaultType = Self;
648 }
649 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
650 #[repr(C)]
651 #[cfg(feature = "Win32_Foundation")]
652 pub struct BIND_OPTS2 {
653     pub __AnonymousBase_objidl_L9017_C36: BIND_OPTS,
654     pub dwTrackFlags: u32,
655     pub dwClassContext: u32,
656     pub locale: u32,
657     pub pServerInfo: *mut COSERVERINFO,
658 }
659 #[cfg(feature = "Win32_Foundation")]
660 impl BIND_OPTS2 {}
661 #[cfg(feature = "Win32_Foundation")]
662 impl ::std::default::Default for BIND_OPTS2 {
default() -> Self663     fn default() -> Self {
664         unsafe { ::std::mem::zeroed() }
665     }
666 }
667 #[cfg(feature = "Win32_Foundation")]
668 impl ::std::fmt::Debug for BIND_OPTS2 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result669     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
670         fmt.debug_struct("BIND_OPTS2").field("__AnonymousBase_objidl_L9017_C36", &self.__AnonymousBase_objidl_L9017_C36).field("dwTrackFlags", &self.dwTrackFlags).field("dwClassContext", &self.dwClassContext).field("locale", &self.locale).field("pServerInfo", &self.pServerInfo).finish()
671     }
672 }
673 #[cfg(feature = "Win32_Foundation")]
674 impl ::std::cmp::PartialEq for BIND_OPTS2 {
eq(&self, other: &Self) -> bool675     fn eq(&self, other: &Self) -> bool {
676         self.__AnonymousBase_objidl_L9017_C36 == other.__AnonymousBase_objidl_L9017_C36 && self.dwTrackFlags == other.dwTrackFlags && self.dwClassContext == other.dwClassContext && self.locale == other.locale && self.pServerInfo == other.pServerInfo
677     }
678 }
679 #[cfg(feature = "Win32_Foundation")]
680 impl ::std::cmp::Eq for BIND_OPTS2 {}
681 #[cfg(feature = "Win32_Foundation")]
682 unsafe impl ::windows::runtime::Abi for BIND_OPTS2 {
683     type Abi = Self;
684     type DefaultType = Self;
685 }
686 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
687 #[repr(C)]
688 #[cfg(feature = "Win32_Foundation")]
689 pub struct BIND_OPTS3 {
690     pub __AnonymousBase_objidl_L9041_C36: BIND_OPTS2,
691     pub hwnd: super::super::Foundation::HWND,
692 }
693 #[cfg(feature = "Win32_Foundation")]
694 impl BIND_OPTS3 {}
695 #[cfg(feature = "Win32_Foundation")]
696 impl ::std::default::Default for BIND_OPTS3 {
default() -> Self697     fn default() -> Self {
698         unsafe { ::std::mem::zeroed() }
699     }
700 }
701 #[cfg(feature = "Win32_Foundation")]
702 impl ::std::fmt::Debug for BIND_OPTS3 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result703     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
704         fmt.debug_struct("BIND_OPTS3").field("__AnonymousBase_objidl_L9041_C36", &self.__AnonymousBase_objidl_L9041_C36).field("hwnd", &self.hwnd).finish()
705     }
706 }
707 #[cfg(feature = "Win32_Foundation")]
708 impl ::std::cmp::PartialEq for BIND_OPTS3 {
eq(&self, other: &Self) -> bool709     fn eq(&self, other: &Self) -> bool {
710         self.__AnonymousBase_objidl_L9041_C36 == other.__AnonymousBase_objidl_L9041_C36 && self.hwnd == other.hwnd
711     }
712 }
713 #[cfg(feature = "Win32_Foundation")]
714 impl ::std::cmp::Eq for BIND_OPTS3 {}
715 #[cfg(feature = "Win32_Foundation")]
716 unsafe impl ::windows::runtime::Abi for BIND_OPTS3 {
717     type Abi = Self;
718     type DefaultType = Self;
719 }
720 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
721 #[repr(C)]
722 pub struct BLOB {
723     pub cbSize: u32,
724     pub pBlobData: *mut u8,
725 }
726 impl BLOB {}
727 impl ::std::default::Default for BLOB {
default() -> Self728     fn default() -> Self {
729         unsafe { ::std::mem::zeroed() }
730     }
731 }
732 impl ::std::fmt::Debug for BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result733     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
734         fmt.debug_struct("BLOB").field("cbSize", &self.cbSize).field("pBlobData", &self.pBlobData).finish()
735     }
736 }
737 impl ::std::cmp::PartialEq for BLOB {
eq(&self, other: &Self) -> bool738     fn eq(&self, other: &Self) -> bool {
739         self.cbSize == other.cbSize && self.pBlobData == other.pBlobData
740     }
741 }
742 impl ::std::cmp::Eq for BLOB {}
743 unsafe impl ::windows::runtime::Abi for BLOB {
744     type Abi = Self;
745     type DefaultType = Self;
746 }
747 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
748 #[repr(C)]
749 pub struct BYTE_BLOB {
750     pub clSize: u32,
751     pub abData: [u8; 1],
752 }
753 impl BYTE_BLOB {}
754 impl ::std::default::Default for BYTE_BLOB {
default() -> Self755     fn default() -> Self {
756         unsafe { ::std::mem::zeroed() }
757     }
758 }
759 impl ::std::fmt::Debug for BYTE_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result760     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
761         fmt.debug_struct("BYTE_BLOB").field("clSize", &self.clSize).field("abData", &self.abData).finish()
762     }
763 }
764 impl ::std::cmp::PartialEq for BYTE_BLOB {
eq(&self, other: &Self) -> bool765     fn eq(&self, other: &Self) -> bool {
766         self.clSize == other.clSize && self.abData == other.abData
767     }
768 }
769 impl ::std::cmp::Eq for BYTE_BLOB {}
770 unsafe impl ::windows::runtime::Abi for BYTE_BLOB {
771     type Abi = Self;
772     type DefaultType = Self;
773 }
774 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
775 #[repr(C)]
776 pub struct BYTE_SIZEDARR {
777     pub clSize: u32,
778     pub pData: *mut u8,
779 }
780 impl BYTE_SIZEDARR {}
781 impl ::std::default::Default for BYTE_SIZEDARR {
default() -> Self782     fn default() -> Self {
783         unsafe { ::std::mem::zeroed() }
784     }
785 }
786 impl ::std::fmt::Debug for BYTE_SIZEDARR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result787     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
788         fmt.debug_struct("BYTE_SIZEDARR").field("clSize", &self.clSize).field("pData", &self.pData).finish()
789     }
790 }
791 impl ::std::cmp::PartialEq for BYTE_SIZEDARR {
eq(&self, other: &Self) -> bool792     fn eq(&self, other: &Self) -> bool {
793         self.clSize == other.clSize && self.pData == other.pData
794     }
795 }
796 impl ::std::cmp::Eq for BYTE_SIZEDARR {}
797 unsafe impl ::windows::runtime::Abi for BYTE_SIZEDARR {
798     type Abi = Self;
799     type DefaultType = Self;
800 }
801 #[inline]
BindMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(pmk: Param0, grfopt: u32, iidresult: *const ::windows::runtime::GUID, ppvresult: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>802 pub unsafe fn BindMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(pmk: Param0, grfopt: u32, iidresult: *const ::windows::runtime::GUID, ppvresult: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
803     #[cfg(windows)]
804     {
805         #[link(name = "windows")]
806         extern "system" {
807             fn BindMoniker(pmk: ::windows::runtime::RawPtr, grfopt: u32, iidresult: *const ::windows::runtime::GUID, ppvresult: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
808         }
809         BindMoniker(pmk.into_param().abi(), ::std::mem::transmute(grfopt), ::std::mem::transmute(iidresult), ::std::mem::transmute(ppvresult)).ok()
810     }
811     #[cfg(not(windows))]
812     unimplemented!("Unsupported target OS");
813 }
814 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
815 #[repr(transparent)]
816 pub struct CALLTYPE(pub i32);
817 pub const CALLTYPE_TOPLEVEL: CALLTYPE = CALLTYPE(1i32);
818 pub const CALLTYPE_NESTED: CALLTYPE = CALLTYPE(2i32);
819 pub const CALLTYPE_ASYNC: CALLTYPE = CALLTYPE(3i32);
820 pub const CALLTYPE_TOPLEVEL_CALLPENDING: CALLTYPE = CALLTYPE(4i32);
821 pub const CALLTYPE_ASYNC_CALLPENDING: CALLTYPE = CALLTYPE(5i32);
822 impl ::std::convert::From<i32> for CALLTYPE {
from(value: i32) -> Self823     fn from(value: i32) -> Self {
824         Self(value)
825     }
826 }
827 unsafe impl ::windows::runtime::Abi for CALLTYPE {
828     type Abi = Self;
829     type DefaultType = Self;
830 }
831 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
832 #[repr(C)]
833 pub struct CATEGORYINFO {
834     pub catid: ::windows::runtime::GUID,
835     pub lcid: u32,
836     pub szDescription: [u16; 128],
837 }
838 impl CATEGORYINFO {}
839 impl ::std::default::Default for CATEGORYINFO {
default() -> Self840     fn default() -> Self {
841         unsafe { ::std::mem::zeroed() }
842     }
843 }
844 impl ::std::fmt::Debug for CATEGORYINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result845     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
846         fmt.debug_struct("CATEGORYINFO").field("catid", &self.catid).field("lcid", &self.lcid).field("szDescription", &self.szDescription).finish()
847     }
848 }
849 impl ::std::cmp::PartialEq for CATEGORYINFO {
eq(&self, other: &Self) -> bool850     fn eq(&self, other: &Self) -> bool {
851         self.catid == other.catid && self.lcid == other.lcid && self.szDescription == other.szDescription
852     }
853 }
854 impl ::std::cmp::Eq for CATEGORYINFO {}
855 unsafe impl ::windows::runtime::Abi for CATEGORYINFO {
856     type Abi = Self;
857     type DefaultType = Self;
858 }
859 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
860 #[repr(transparent)]
861 pub struct CLSCTX(pub u32);
862 pub const CLSCTX_INPROC_SERVER: CLSCTX = CLSCTX(1u32);
863 pub const CLSCTX_INPROC_HANDLER: CLSCTX = CLSCTX(2u32);
864 pub const CLSCTX_LOCAL_SERVER: CLSCTX = CLSCTX(4u32);
865 pub const CLSCTX_INPROC_SERVER16: CLSCTX = CLSCTX(8u32);
866 pub const CLSCTX_REMOTE_SERVER: CLSCTX = CLSCTX(16u32);
867 pub const CLSCTX_INPROC_HANDLER16: CLSCTX = CLSCTX(32u32);
868 pub const CLSCTX_RESERVED1: CLSCTX = CLSCTX(64u32);
869 pub const CLSCTX_RESERVED2: CLSCTX = CLSCTX(128u32);
870 pub const CLSCTX_RESERVED3: CLSCTX = CLSCTX(256u32);
871 pub const CLSCTX_RESERVED4: CLSCTX = CLSCTX(512u32);
872 pub const CLSCTX_NO_CODE_DOWNLOAD: CLSCTX = CLSCTX(1024u32);
873 pub const CLSCTX_RESERVED5: CLSCTX = CLSCTX(2048u32);
874 pub const CLSCTX_NO_CUSTOM_MARSHAL: CLSCTX = CLSCTX(4096u32);
875 pub const CLSCTX_ENABLE_CODE_DOWNLOAD: CLSCTX = CLSCTX(8192u32);
876 pub const CLSCTX_NO_FAILURE_LOG: CLSCTX = CLSCTX(16384u32);
877 pub const CLSCTX_DISABLE_AAA: CLSCTX = CLSCTX(32768u32);
878 pub const CLSCTX_ENABLE_AAA: CLSCTX = CLSCTX(65536u32);
879 pub const CLSCTX_FROM_DEFAULT_CONTEXT: CLSCTX = CLSCTX(131072u32);
880 pub const CLSCTX_ACTIVATE_X86_SERVER: CLSCTX = CLSCTX(262144u32);
881 pub const CLSCTX_ACTIVATE_32_BIT_SERVER: CLSCTX = CLSCTX(262144u32);
882 pub const CLSCTX_ACTIVATE_64_BIT_SERVER: CLSCTX = CLSCTX(524288u32);
883 pub const CLSCTX_ENABLE_CLOAKING: CLSCTX = CLSCTX(1048576u32);
884 pub const CLSCTX_APPCONTAINER: CLSCTX = CLSCTX(4194304u32);
885 pub const CLSCTX_ACTIVATE_AAA_AS_IU: CLSCTX = CLSCTX(8388608u32);
886 pub const CLSCTX_RESERVED6: CLSCTX = CLSCTX(16777216u32);
887 pub const CLSCTX_ACTIVATE_ARM32_SERVER: CLSCTX = CLSCTX(33554432u32);
888 pub const CLSCTX_PS_DLL: CLSCTX = CLSCTX(2147483648u32);
889 pub const CLSCTX_ALL: CLSCTX = CLSCTX(23u32);
890 pub const CLSCTX_SERVER: CLSCTX = CLSCTX(21u32);
891 impl ::std::convert::From<u32> for CLSCTX {
from(value: u32) -> Self892     fn from(value: u32) -> Self {
893         Self(value)
894     }
895 }
896 unsafe impl ::windows::runtime::Abi for CLSCTX {
897     type Abi = Self;
898     type DefaultType = Self;
899 }
900 impl ::std::ops::BitOr for CLSCTX {
901     type Output = Self;
bitor(self, rhs: Self) -> Self902     fn bitor(self, rhs: Self) -> Self {
903         Self(self.0 | rhs.0)
904     }
905 }
906 impl ::std::ops::BitAnd for CLSCTX {
907     type Output = Self;
bitand(self, rhs: Self) -> Self908     fn bitand(self, rhs: Self) -> Self {
909         Self(self.0 & rhs.0)
910     }
911 }
912 impl ::std::ops::BitOrAssign for CLSCTX {
bitor_assign(&mut self, rhs: Self)913     fn bitor_assign(&mut self, rhs: Self) {
914         self.0.bitor_assign(rhs.0)
915     }
916 }
917 impl ::std::ops::BitAndAssign for CLSCTX {
bitand_assign(&mut self, rhs: Self)918     fn bitand_assign(&mut self, rhs: Self) {
919         self.0.bitand_assign(rhs.0)
920     }
921 }
922 impl ::std::ops::Not for CLSCTX {
923     type Output = Self;
not(self) -> Self924     fn not(self) -> Self {
925         Self(self.0.not())
926     }
927 }
928 #[cfg(feature = "Win32_Foundation")]
929 #[inline]
CLSIDFromProgID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszprogid: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID>930 pub unsafe fn CLSIDFromProgID<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszprogid: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID> {
931     #[cfg(windows)]
932     {
933         #[link(name = "windows")]
934         extern "system" {
935             fn CLSIDFromProgID(lpszprogid: super::super::Foundation::PWSTR, lpclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
936         }
937         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
938         CLSIDFromProgID(lpszprogid.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
939     }
940     #[cfg(not(windows))]
941     unimplemented!("Unsupported target OS");
942 }
943 #[cfg(feature = "Win32_Foundation")]
944 #[inline]
CLSIDFromProgIDEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszprogid: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID>945 pub unsafe fn CLSIDFromProgIDEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszprogid: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID> {
946     #[cfg(windows)]
947     {
948         #[link(name = "windows")]
949         extern "system" {
950             fn CLSIDFromProgIDEx(lpszprogid: super::super::Foundation::PWSTR, lpclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
951         }
952         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
953         CLSIDFromProgIDEx(lpszprogid.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
954     }
955     #[cfg(not(windows))]
956     unimplemented!("Unsupported target OS");
957 }
958 #[cfg(feature = "Win32_Foundation")]
959 #[inline]
CLSIDFromString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpsz: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID>960 pub unsafe fn CLSIDFromString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpsz: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID> {
961     #[cfg(windows)]
962     {
963         #[link(name = "windows")]
964         extern "system" {
965             fn CLSIDFromString(lpsz: super::super::Foundation::PWSTR, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
966         }
967         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
968         CLSIDFromString(lpsz.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
969     }
970     #[cfg(not(windows))]
971     unimplemented!("Unsupported target OS");
972 }
973 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
974 #[repr(C)]
975 pub struct COAUTHIDENTITY {
976     pub User: *mut u16,
977     pub UserLength: u32,
978     pub Domain: *mut u16,
979     pub DomainLength: u32,
980     pub Password: *mut u16,
981     pub PasswordLength: u32,
982     pub Flags: u32,
983 }
984 impl COAUTHIDENTITY {}
985 impl ::std::default::Default for COAUTHIDENTITY {
default() -> Self986     fn default() -> Self {
987         unsafe { ::std::mem::zeroed() }
988     }
989 }
990 impl ::std::fmt::Debug for COAUTHIDENTITY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result991     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
992         fmt.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("Flags", &self.Flags).finish()
993     }
994 }
995 impl ::std::cmp::PartialEq for COAUTHIDENTITY {
eq(&self, other: &Self) -> bool996     fn eq(&self, other: &Self) -> bool {
997         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
998     }
999 }
1000 impl ::std::cmp::Eq for COAUTHIDENTITY {}
1001 unsafe impl ::windows::runtime::Abi for COAUTHIDENTITY {
1002     type Abi = Self;
1003     type DefaultType = Self;
1004 }
1005 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1006 #[repr(C)]
1007 #[cfg(feature = "Win32_Foundation")]
1008 pub struct COAUTHINFO {
1009     pub dwAuthnSvc: u32,
1010     pub dwAuthzSvc: u32,
1011     pub pwszServerPrincName: super::super::Foundation::PWSTR,
1012     pub dwAuthnLevel: u32,
1013     pub dwImpersonationLevel: u32,
1014     pub pAuthIdentityData: *mut COAUTHIDENTITY,
1015     pub dwCapabilities: u32,
1016 }
1017 #[cfg(feature = "Win32_Foundation")]
1018 impl COAUTHINFO {}
1019 #[cfg(feature = "Win32_Foundation")]
1020 impl ::std::default::Default for COAUTHINFO {
default() -> Self1021     fn default() -> Self {
1022         unsafe { ::std::mem::zeroed() }
1023     }
1024 }
1025 #[cfg(feature = "Win32_Foundation")]
1026 impl ::std::fmt::Debug for COAUTHINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1027     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1028         fmt.debug_struct("COAUTHINFO")
1029             .field("dwAuthnSvc", &self.dwAuthnSvc)
1030             .field("dwAuthzSvc", &self.dwAuthzSvc)
1031             .field("pwszServerPrincName", &self.pwszServerPrincName)
1032             .field("dwAuthnLevel", &self.dwAuthnLevel)
1033             .field("dwImpersonationLevel", &self.dwImpersonationLevel)
1034             .field("pAuthIdentityData", &self.pAuthIdentityData)
1035             .field("dwCapabilities", &self.dwCapabilities)
1036             .finish()
1037     }
1038 }
1039 #[cfg(feature = "Win32_Foundation")]
1040 impl ::std::cmp::PartialEq for COAUTHINFO {
eq(&self, other: &Self) -> bool1041     fn eq(&self, other: &Self) -> bool {
1042         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
1043     }
1044 }
1045 #[cfg(feature = "Win32_Foundation")]
1046 impl ::std::cmp::Eq for COAUTHINFO {}
1047 #[cfg(feature = "Win32_Foundation")]
1048 unsafe impl ::windows::runtime::Abi for COAUTHINFO {
1049     type Abi = Self;
1050     type DefaultType = Self;
1051 }
1052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1053 #[repr(transparent)]
1054 pub struct COINIT(pub u32);
1055 pub const COINIT_APARTMENTTHREADED: COINIT = COINIT(2u32);
1056 pub const COINIT_MULTITHREADED: COINIT = COINIT(0u32);
1057 pub const COINIT_DISABLE_OLE1DDE: COINIT = COINIT(4u32);
1058 pub const COINIT_SPEED_OVER_MEMORY: COINIT = COINIT(8u32);
1059 impl ::std::convert::From<u32> for COINIT {
from(value: u32) -> Self1060     fn from(value: u32) -> Self {
1061         Self(value)
1062     }
1063 }
1064 unsafe impl ::windows::runtime::Abi for COINIT {
1065     type Abi = Self;
1066     type DefaultType = Self;
1067 }
1068 impl ::std::ops::BitOr for COINIT {
1069     type Output = Self;
bitor(self, rhs: Self) -> Self1070     fn bitor(self, rhs: Self) -> Self {
1071         Self(self.0 | rhs.0)
1072     }
1073 }
1074 impl ::std::ops::BitAnd for COINIT {
1075     type Output = Self;
bitand(self, rhs: Self) -> Self1076     fn bitand(self, rhs: Self) -> Self {
1077         Self(self.0 & rhs.0)
1078     }
1079 }
1080 impl ::std::ops::BitOrAssign for COINIT {
bitor_assign(&mut self, rhs: Self)1081     fn bitor_assign(&mut self, rhs: Self) {
1082         self.0.bitor_assign(rhs.0)
1083     }
1084 }
1085 impl ::std::ops::BitAndAssign for COINIT {
bitand_assign(&mut self, rhs: Self)1086     fn bitand_assign(&mut self, rhs: Self) {
1087         self.0.bitand_assign(rhs.0)
1088     }
1089 }
1090 impl ::std::ops::Not for COINIT {
1091     type Output = Self;
not(self) -> Self1092     fn not(self) -> Self {
1093         Self(self.0.not())
1094     }
1095 }
1096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1097 #[repr(transparent)]
1098 pub struct COINITBASE(pub i32);
1099 pub const COINITBASE_MULTITHREADED: COINITBASE = COINITBASE(0i32);
1100 impl ::std::convert::From<i32> for COINITBASE {
from(value: i32) -> Self1101     fn from(value: i32) -> Self {
1102         Self(value)
1103     }
1104 }
1105 unsafe impl ::windows::runtime::Abi for COINITBASE {
1106     type Abi = Self;
1107     type DefaultType = Self;
1108 }
1109 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1110 #[repr(transparent)]
1111 pub struct COMSD(pub i32);
1112 pub const SD_LAUNCHPERMISSIONS: COMSD = COMSD(0i32);
1113 pub const SD_ACCESSPERMISSIONS: COMSD = COMSD(1i32);
1114 pub const SD_LAUNCHRESTRICTIONS: COMSD = COMSD(2i32);
1115 pub const SD_ACCESSRESTRICTIONS: COMSD = COMSD(3i32);
1116 impl ::std::convert::From<i32> for COMSD {
from(value: i32) -> Self1117     fn from(value: i32) -> Self {
1118         Self(value)
1119     }
1120 }
1121 unsafe impl ::windows::runtime::Abi for COMSD {
1122     type Abi = Self;
1123     type DefaultType = Self;
1124 }
1125 pub const COM_RIGHTS_ACTIVATE_LOCAL: u32 = 8u32;
1126 pub const COM_RIGHTS_ACTIVATE_REMOTE: u32 = 16u32;
1127 pub const COM_RIGHTS_EXECUTE: u32 = 1u32;
1128 pub const COM_RIGHTS_EXECUTE_LOCAL: u32 = 2u32;
1129 pub const COM_RIGHTS_EXECUTE_REMOTE: u32 = 4u32;
1130 pub const COM_RIGHTS_RESERVED1: u32 = 32u32;
1131 pub const COM_RIGHTS_RESERVED2: u32 = 64u32;
1132 #[derive(:: std :: clone :: Clone)]
1133 #[repr(C)]
1134 pub struct CONNECTDATA {
1135     pub pUnk: ::std::option::Option<::windows::runtime::IUnknown>,
1136     pub dwCookie: u32,
1137 }
1138 impl CONNECTDATA {}
1139 impl ::std::default::Default for CONNECTDATA {
default() -> Self1140     fn default() -> Self {
1141         unsafe { ::std::mem::zeroed() }
1142     }
1143 }
1144 impl ::std::fmt::Debug for CONNECTDATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1145     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1146         fmt.debug_struct("CONNECTDATA").field("pUnk", &self.pUnk).field("dwCookie", &self.dwCookie).finish()
1147     }
1148 }
1149 impl ::std::cmp::PartialEq for CONNECTDATA {
eq(&self, other: &Self) -> bool1150     fn eq(&self, other: &Self) -> bool {
1151         self.pUnk == other.pUnk && self.dwCookie == other.dwCookie
1152     }
1153 }
1154 impl ::std::cmp::Eq for CONNECTDATA {}
1155 unsafe impl ::windows::runtime::Abi for CONNECTDATA {
1156     type Abi = ::std::mem::ManuallyDrop<Self>;
1157     type DefaultType = Self;
1158 }
1159 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1160 #[repr(C)]
1161 #[cfg(feature = "Win32_Foundation")]
1162 pub struct COSERVERINFO {
1163     pub dwReserved1: u32,
1164     pub pwszName: super::super::Foundation::PWSTR,
1165     pub pAuthInfo: *mut COAUTHINFO,
1166     pub dwReserved2: u32,
1167 }
1168 #[cfg(feature = "Win32_Foundation")]
1169 impl COSERVERINFO {}
1170 #[cfg(feature = "Win32_Foundation")]
1171 impl ::std::default::Default for COSERVERINFO {
default() -> Self1172     fn default() -> Self {
1173         unsafe { ::std::mem::zeroed() }
1174     }
1175 }
1176 #[cfg(feature = "Win32_Foundation")]
1177 impl ::std::fmt::Debug for COSERVERINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1178     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1179         fmt.debug_struct("COSERVERINFO").field("dwReserved1", &self.dwReserved1).field("pwszName", &self.pwszName).field("pAuthInfo", &self.pAuthInfo).field("dwReserved2", &self.dwReserved2).finish()
1180     }
1181 }
1182 #[cfg(feature = "Win32_Foundation")]
1183 impl ::std::cmp::PartialEq for COSERVERINFO {
eq(&self, other: &Self) -> bool1184     fn eq(&self, other: &Self) -> bool {
1185         self.dwReserved1 == other.dwReserved1 && self.pwszName == other.pwszName && self.pAuthInfo == other.pAuthInfo && self.dwReserved2 == other.dwReserved2
1186     }
1187 }
1188 #[cfg(feature = "Win32_Foundation")]
1189 impl ::std::cmp::Eq for COSERVERINFO {}
1190 #[cfg(feature = "Win32_Foundation")]
1191 unsafe impl ::windows::runtime::Abi for COSERVERINFO {
1192     type Abi = Self;
1193     type DefaultType = Self;
1194 }
1195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1196 #[repr(transparent)]
1197 pub struct COWAIT_FLAGS(pub i32);
1198 pub const COWAIT_DEFAULT: COWAIT_FLAGS = COWAIT_FLAGS(0i32);
1199 pub const COWAIT_WAITALL: COWAIT_FLAGS = COWAIT_FLAGS(1i32);
1200 pub const COWAIT_ALERTABLE: COWAIT_FLAGS = COWAIT_FLAGS(2i32);
1201 pub const COWAIT_INPUTAVAILABLE: COWAIT_FLAGS = COWAIT_FLAGS(4i32);
1202 pub const COWAIT_DISPATCH_CALLS: COWAIT_FLAGS = COWAIT_FLAGS(8i32);
1203 pub const COWAIT_DISPATCH_WINDOW_MESSAGES: COWAIT_FLAGS = COWAIT_FLAGS(16i32);
1204 impl ::std::convert::From<i32> for COWAIT_FLAGS {
from(value: i32) -> Self1205     fn from(value: i32) -> Self {
1206         Self(value)
1207     }
1208 }
1209 unsafe impl ::windows::runtime::Abi for COWAIT_FLAGS {
1210     type Abi = Self;
1211     type DefaultType = Self;
1212 }
1213 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
1214 #[repr(transparent)]
1215 pub struct CO_DEVICE_CATALOG_COOKIE(pub isize);
1216 impl ::std::default::Default for CO_DEVICE_CATALOG_COOKIE {
default() -> Self1217     fn default() -> Self {
1218         unsafe { ::std::mem::zeroed() }
1219     }
1220 }
1221 unsafe impl ::windows::runtime::Handle for CO_DEVICE_CATALOG_COOKIE {}
1222 unsafe impl ::windows::runtime::Abi for CO_DEVICE_CATALOG_COOKIE {
1223     type Abi = Self;
1224     type DefaultType = Self;
1225 }
1226 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1227 #[repr(transparent)]
1228 pub struct CO_MARSHALING_CONTEXT_ATTRIBUTES(pub i32);
1229 pub const CO_MARSHALING_SOURCE_IS_APP_CONTAINER: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(0i32);
1230 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483648i32);
1231 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483647i32);
1232 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483646i32);
1233 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483645i32);
1234 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483644i32);
1235 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483643i32);
1236 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483642i32);
1237 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483641i32);
1238 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483640i32);
1239 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_10: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483639i32);
1240 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_11: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483638i32);
1241 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_12: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483637i32);
1242 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_13: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483636i32);
1243 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_14: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483635i32);
1244 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_15: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483634i32);
1245 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_16: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483633i32);
1246 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_17: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483632i32);
1247 pub const CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_18: CO_MARSHALING_CONTEXT_ATTRIBUTES = CO_MARSHALING_CONTEXT_ATTRIBUTES(-2147483631i32);
1248 impl ::std::convert::From<i32> for CO_MARSHALING_CONTEXT_ATTRIBUTES {
from(value: i32) -> Self1249     fn from(value: i32) -> Self {
1250         Self(value)
1251     }
1252 }
1253 unsafe impl ::windows::runtime::Abi for CO_MARSHALING_CONTEXT_ATTRIBUTES {
1254     type Abi = Self;
1255     type DefaultType = Self;
1256 }
1257 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq)]
1258 #[repr(transparent)]
1259 pub struct CO_MTA_USAGE_COOKIE(pub isize);
1260 impl ::std::default::Default for CO_MTA_USAGE_COOKIE {
default() -> Self1261     fn default() -> Self {
1262         unsafe { ::std::mem::zeroed() }
1263     }
1264 }
1265 unsafe impl ::windows::runtime::Handle for CO_MTA_USAGE_COOKIE {}
1266 unsafe impl ::windows::runtime::Abi for CO_MTA_USAGE_COOKIE {
1267     type Abi = Self;
1268     type DefaultType = Self;
1269 }
1270 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1271 #[repr(C)]
1272 pub struct CSPLATFORM {
1273     pub dwPlatformId: u32,
1274     pub dwVersionHi: u32,
1275     pub dwVersionLo: u32,
1276     pub dwProcessorArch: u32,
1277 }
1278 impl CSPLATFORM {}
1279 impl ::std::default::Default for CSPLATFORM {
default() -> Self1280     fn default() -> Self {
1281         unsafe { ::std::mem::zeroed() }
1282     }
1283 }
1284 impl ::std::fmt::Debug for CSPLATFORM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1285     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1286         fmt.debug_struct("CSPLATFORM").field("dwPlatformId", &self.dwPlatformId).field("dwVersionHi", &self.dwVersionHi).field("dwVersionLo", &self.dwVersionLo).field("dwProcessorArch", &self.dwProcessorArch).finish()
1287     }
1288 }
1289 impl ::std::cmp::PartialEq for CSPLATFORM {
eq(&self, other: &Self) -> bool1290     fn eq(&self, other: &Self) -> bool {
1291         self.dwPlatformId == other.dwPlatformId && self.dwVersionHi == other.dwVersionHi && self.dwVersionLo == other.dwVersionLo && self.dwProcessorArch == other.dwProcessorArch
1292     }
1293 }
1294 impl ::std::cmp::Eq for CSPLATFORM {}
1295 unsafe impl ::windows::runtime::Abi for CSPLATFORM {
1296     type Abi = Self;
1297     type DefaultType = Self;
1298 }
1299 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1300 #[repr(transparent)]
1301 pub struct CWMO_FLAGS(pub i32);
1302 pub const CWMO_DEFAULT: CWMO_FLAGS = CWMO_FLAGS(0i32);
1303 pub const CWMO_DISPATCH_CALLS: CWMO_FLAGS = CWMO_FLAGS(1i32);
1304 pub const CWMO_DISPATCH_WINDOW_MESSAGES: CWMO_FLAGS = CWMO_FLAGS(2i32);
1305 impl ::std::convert::From<i32> for CWMO_FLAGS {
from(value: i32) -> Self1306     fn from(value: i32) -> Self {
1307         Self(value)
1308     }
1309 }
1310 unsafe impl ::windows::runtime::Abi for CWMO_FLAGS {
1311     type Abi = Self;
1312     type DefaultType = Self;
1313 }
1314 pub const CWMO_MAX_HANDLES: u32 = 56u32;
1315 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1316 #[repr(C)]
1317 pub union CY {
1318     pub Anonymous: CY_0,
1319     pub int64: i64,
1320 }
1321 impl CY {}
1322 impl ::std::default::Default for CY {
default() -> Self1323     fn default() -> Self {
1324         unsafe { ::std::mem::zeroed() }
1325     }
1326 }
1327 impl ::std::cmp::PartialEq for CY {
eq(&self, _other: &Self) -> bool1328     fn eq(&self, _other: &Self) -> bool {
1329         unimplemented!()
1330     }
1331 }
1332 impl ::std::cmp::Eq for CY {}
1333 unsafe impl ::windows::runtime::Abi for CY {
1334     type Abi = Self;
1335     type DefaultType = Self;
1336 }
1337 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
1338 #[repr(C)]
1339 pub struct CY_0 {
1340     pub Lo: u32,
1341     pub Hi: i32,
1342 }
1343 impl CY_0 {}
1344 impl ::std::default::Default for CY_0 {
default() -> Self1345     fn default() -> Self {
1346         unsafe { ::std::mem::zeroed() }
1347     }
1348 }
1349 impl ::std::fmt::Debug for CY_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result1350     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1351         fmt.debug_struct("_Anonymous_e__Struct").field("Lo", &self.Lo).field("Hi", &self.Hi).finish()
1352     }
1353 }
1354 impl ::std::cmp::PartialEq for CY_0 {
eq(&self, other: &Self) -> bool1355     fn eq(&self, other: &Self) -> bool {
1356         self.Lo == other.Lo && self.Hi == other.Hi
1357     }
1358 }
1359 impl ::std::cmp::Eq for CY_0 {}
1360 unsafe impl ::windows::runtime::Abi for CY_0 {
1361     type Abi = Self;
1362     type DefaultType = Self;
1363 }
1364 #[inline]
CoAddRefServerProcess() -> u321365 pub unsafe fn CoAddRefServerProcess() -> u32 {
1366     #[cfg(windows)]
1367     {
1368         #[link(name = "windows")]
1369         extern "system" {
1370             fn CoAddRefServerProcess() -> u32;
1371         }
1372         ::std::mem::transmute(CoAddRefServerProcess())
1373     }
1374     #[cfg(not(windows))]
1375     unimplemented!("Unsupported target OS");
1376 }
1377 #[inline]
CoAllowSetForegroundWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0, lpvreserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>1378 pub unsafe fn CoAllowSetForegroundWindow<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0, lpvreserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1379     #[cfg(windows)]
1380     {
1381         #[link(name = "windows")]
1382         extern "system" {
1383             fn CoAllowSetForegroundWindow(punk: ::windows::runtime::RawPtr, lpvreserved: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1384         }
1385         CoAllowSetForegroundWindow(punk.into_param().abi(), ::std::mem::transmute(lpvreserved)).ok()
1386     }
1387     #[cfg(not(windows))]
1388     unimplemented!("Unsupported target OS");
1389 }
1390 #[inline]
CoAllowUnmarshalerCLSID(clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>1391 pub unsafe fn CoAllowUnmarshalerCLSID(clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
1392     #[cfg(windows)]
1393     {
1394         #[link(name = "windows")]
1395         extern "system" {
1396             fn CoAllowUnmarshalerCLSID(clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
1397         }
1398         CoAllowUnmarshalerCLSID(::std::mem::transmute(clsid)).ok()
1399     }
1400     #[cfg(not(windows))]
1401     unimplemented!("Unsupported target OS");
1402 }
1403 #[inline]
CoBuildVersion() -> u321404 pub unsafe fn CoBuildVersion() -> u32 {
1405     #[cfg(windows)]
1406     {
1407         #[link(name = "windows")]
1408         extern "system" {
1409             fn CoBuildVersion() -> u32;
1410         }
1411         ::std::mem::transmute(CoBuildVersion())
1412     }
1413     #[cfg(not(windows))]
1414     unimplemented!("Unsupported target OS");
1415 }
1416 #[inline]
CoCancelCall(dwthreadid: u32, ultimeout: u32) -> ::windows::runtime::Result<()>1417 pub unsafe fn CoCancelCall(dwthreadid: u32, ultimeout: u32) -> ::windows::runtime::Result<()> {
1418     #[cfg(windows)]
1419     {
1420         #[link(name = "windows")]
1421         extern "system" {
1422             fn CoCancelCall(dwthreadid: u32, ultimeout: u32) -> ::windows::runtime::HRESULT;
1423         }
1424         CoCancelCall(::std::mem::transmute(dwthreadid), ::std::mem::transmute(ultimeout)).ok()
1425     }
1426     #[cfg(not(windows))]
1427     unimplemented!("Unsupported target OS");
1428 }
1429 #[inline]
CoCopyProxy<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(pproxy: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>1430 pub unsafe fn CoCopyProxy<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(pproxy: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
1431     #[cfg(windows)]
1432     {
1433         #[link(name = "windows")]
1434         extern "system" {
1435             fn CoCopyProxy(pproxy: ::windows::runtime::RawPtr, ppcopy: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1436         }
1437         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1438         CoCopyProxy(pproxy.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
1439     }
1440     #[cfg(not(windows))]
1441     unimplemented!("Unsupported target OS");
1442 }
1443 #[inline]
CoCreateFreeThreadedMarshaler<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punkouter: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>1444 pub unsafe fn CoCreateFreeThreadedMarshaler<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punkouter: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
1445     #[cfg(windows)]
1446     {
1447         #[link(name = "windows")]
1448         extern "system" {
1449             fn CoCreateFreeThreadedMarshaler(punkouter: ::windows::runtime::RawPtr, ppunkmarshal: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1450         }
1451         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1452         CoCreateFreeThreadedMarshaler(punkouter.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
1453     }
1454     #[cfg(not(windows))]
1455     unimplemented!("Unsupported target OS");
1456 }
1457 #[inline]
CoCreateGuid() -> ::windows::runtime::Result<::windows::runtime::GUID>1458 pub unsafe fn CoCreateGuid() -> ::windows::runtime::Result<::windows::runtime::GUID> {
1459     #[cfg(windows)]
1460     {
1461         #[link(name = "windows")]
1462         extern "system" {
1463             fn CoCreateGuid(pguid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
1464         }
1465         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1466         CoCreateGuid(&mut result__).from_abi::<::windows::runtime::GUID>(result__)
1467     }
1468     #[cfg(not(windows))]
1469     unimplemented!("Unsupported target OS");
1470 }
1471 #[inline]
CoCreateInstance<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(rclsid: *const ::windows::runtime::GUID, punkouter: Param1, dwclscontext: CLSCTX) -> ::windows::runtime::Result<T>1472 pub unsafe fn CoCreateInstance<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(rclsid: *const ::windows::runtime::GUID, punkouter: Param1, dwclscontext: CLSCTX) -> ::windows::runtime::Result<T> {
1473     #[cfg(windows)]
1474     {
1475         #[link(name = "windows")]
1476         extern "system" {
1477             fn CoCreateInstance(rclsid: *const ::windows::runtime::GUID, punkouter: ::windows::runtime::RawPtr, dwclscontext: CLSCTX, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1478         }
1479         let mut result__ = ::std::option::Option::None;
1480         CoCreateInstance(::std::mem::transmute(rclsid), punkouter.into_param().abi(), ::std::mem::transmute(dwclscontext), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
1481     }
1482     #[cfg(not(windows))]
1483     unimplemented!("Unsupported target OS");
1484 }
1485 #[cfg(feature = "Win32_Foundation")]
1486 #[inline]
CoCreateInstanceEx<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(clsid: *const ::windows::runtime::GUID, punkouter: Param1, dwclsctx: CLSCTX, pserverinfo: *const COSERVERINFO, dwcount: u32, presults: *mut MULTI_QI) -> ::windows::runtime::Result<()>1487 pub unsafe fn CoCreateInstanceEx<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(clsid: *const ::windows::runtime::GUID, punkouter: Param1, dwclsctx: CLSCTX, pserverinfo: *const COSERVERINFO, dwcount: u32, presults: *mut MULTI_QI) -> ::windows::runtime::Result<()> {
1488     #[cfg(windows)]
1489     {
1490         #[link(name = "windows")]
1491         extern "system" {
1492             fn CoCreateInstanceEx(clsid: *const ::windows::runtime::GUID, punkouter: ::windows::runtime::RawPtr, dwclsctx: CLSCTX, pserverinfo: *const COSERVERINFO, dwcount: u32, presults: *mut ::std::mem::ManuallyDrop<MULTI_QI>) -> ::windows::runtime::HRESULT;
1493         }
1494         CoCreateInstanceEx(::std::mem::transmute(clsid), punkouter.into_param().abi(), ::std::mem::transmute(dwclsctx), ::std::mem::transmute(pserverinfo), ::std::mem::transmute(dwcount), ::std::mem::transmute(presults)).ok()
1495     }
1496     #[cfg(not(windows))]
1497     unimplemented!("Unsupported target OS");
1498 }
1499 #[inline]
CoCreateInstanceFromApp<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(clsid: *const ::windows::runtime::GUID, punkouter: Param1, dwclsctx: CLSCTX, reserved: *const ::std::ffi::c_void, dwcount: u32, presults: *mut MULTI_QI) -> ::windows::runtime::Result<()>1500 pub unsafe fn CoCreateInstanceFromApp<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(clsid: *const ::windows::runtime::GUID, punkouter: Param1, dwclsctx: CLSCTX, reserved: *const ::std::ffi::c_void, dwcount: u32, presults: *mut MULTI_QI) -> ::windows::runtime::Result<()> {
1501     #[cfg(windows)]
1502     {
1503         #[link(name = "windows")]
1504         extern "system" {
1505             fn CoCreateInstanceFromApp(clsid: *const ::windows::runtime::GUID, punkouter: ::windows::runtime::RawPtr, dwclsctx: CLSCTX, reserved: *const ::std::ffi::c_void, dwcount: u32, presults: *mut ::std::mem::ManuallyDrop<MULTI_QI>) -> ::windows::runtime::HRESULT;
1506         }
1507         CoCreateInstanceFromApp(::std::mem::transmute(clsid), punkouter.into_param().abi(), ::std::mem::transmute(dwclsctx), ::std::mem::transmute(reserved), ::std::mem::transmute(dwcount), ::std::mem::transmute(presults)).ok()
1508     }
1509     #[cfg(not(windows))]
1510     unimplemented!("Unsupported target OS");
1511 }
1512 #[inline]
CoDecrementMTAUsage<'a, Param0: ::windows::runtime::IntoParam<'a, CO_MTA_USAGE_COOKIE>>(cookie: Param0) -> ::windows::runtime::Result<()>1513 pub unsafe fn CoDecrementMTAUsage<'a, Param0: ::windows::runtime::IntoParam<'a, CO_MTA_USAGE_COOKIE>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1514     #[cfg(windows)]
1515     {
1516         #[link(name = "windows")]
1517         extern "system" {
1518             fn CoDecrementMTAUsage(cookie: CO_MTA_USAGE_COOKIE) -> ::windows::runtime::HRESULT;
1519         }
1520         CoDecrementMTAUsage(cookie.into_param().abi()).ok()
1521     }
1522     #[cfg(not(windows))]
1523     unimplemented!("Unsupported target OS");
1524 }
1525 #[inline]
CoDisableCallCancellation(preserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>1526 pub unsafe fn CoDisableCallCancellation(preserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1527     #[cfg(windows)]
1528     {
1529         #[link(name = "windows")]
1530         extern "system" {
1531             fn CoDisableCallCancellation(preserved: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1532         }
1533         CoDisableCallCancellation(::std::mem::transmute(preserved)).ok()
1534     }
1535     #[cfg(not(windows))]
1536     unimplemented!("Unsupported target OS");
1537 }
1538 #[inline]
CoDisconnectContext(dwtimeout: u32) -> ::windows::runtime::Result<()>1539 pub unsafe fn CoDisconnectContext(dwtimeout: u32) -> ::windows::runtime::Result<()> {
1540     #[cfg(windows)]
1541     {
1542         #[link(name = "windows")]
1543         extern "system" {
1544             fn CoDisconnectContext(dwtimeout: u32) -> ::windows::runtime::HRESULT;
1545         }
1546         CoDisconnectContext(::std::mem::transmute(dwtimeout)).ok()
1547     }
1548     #[cfg(not(windows))]
1549     unimplemented!("Unsupported target OS");
1550 }
1551 #[inline]
CoDisconnectObject<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0, dwreserved: u32) -> ::windows::runtime::Result<()>1552 pub unsafe fn CoDisconnectObject<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0, dwreserved: u32) -> ::windows::runtime::Result<()> {
1553     #[cfg(windows)]
1554     {
1555         #[link(name = "windows")]
1556         extern "system" {
1557             fn CoDisconnectObject(punk: ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT;
1558         }
1559         CoDisconnectObject(punk.into_param().abi(), ::std::mem::transmute(dwreserved)).ok()
1560     }
1561     #[cfg(not(windows))]
1562     unimplemented!("Unsupported target OS");
1563 }
1564 #[cfg(feature = "Win32_Foundation")]
1565 #[inline]
CoDosDateTimeToFileTime(ndosdate: u16, ndostime: u16, lpfiletime: *mut super::super::Foundation::FILETIME) -> super::super::Foundation::BOOL1566 pub unsafe fn CoDosDateTimeToFileTime(ndosdate: u16, ndostime: u16, lpfiletime: *mut super::super::Foundation::FILETIME) -> super::super::Foundation::BOOL {
1567     #[cfg(windows)]
1568     {
1569         #[link(name = "windows")]
1570         extern "system" {
1571             fn CoDosDateTimeToFileTime(ndosdate: u16, ndostime: u16, lpfiletime: *mut super::super::Foundation::FILETIME) -> super::super::Foundation::BOOL;
1572         }
1573         ::std::mem::transmute(CoDosDateTimeToFileTime(::std::mem::transmute(ndosdate), ::std::mem::transmute(ndostime), ::std::mem::transmute(lpfiletime)))
1574     }
1575     #[cfg(not(windows))]
1576     unimplemented!("Unsupported target OS");
1577 }
1578 #[inline]
CoEnableCallCancellation(preserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>1579 pub unsafe fn CoEnableCallCancellation(preserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1580     #[cfg(windows)]
1581     {
1582         #[link(name = "windows")]
1583         extern "system" {
1584             fn CoEnableCallCancellation(preserved: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1585         }
1586         CoEnableCallCancellation(::std::mem::transmute(preserved)).ok()
1587     }
1588     #[cfg(not(windows))]
1589     unimplemented!("Unsupported target OS");
1590 }
1591 #[cfg(feature = "Win32_Foundation")]
1592 #[inline]
CoFileTimeNow() -> ::windows::runtime::Result<super::super::Foundation::FILETIME>1593 pub unsafe fn CoFileTimeNow() -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
1594     #[cfg(windows)]
1595     {
1596         #[link(name = "windows")]
1597         extern "system" {
1598             fn CoFileTimeNow(lpfiletime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT;
1599         }
1600         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1601         CoFileTimeNow(&mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
1602     }
1603     #[cfg(not(windows))]
1604     unimplemented!("Unsupported target OS");
1605 }
1606 #[cfg(feature = "Win32_Foundation")]
1607 #[inline]
CoFileTimeToDosDateTime(lpfiletime: *const super::super::Foundation::FILETIME, lpdosdate: *mut u16, lpdostime: *mut u16) -> super::super::Foundation::BOOL1608 pub unsafe fn CoFileTimeToDosDateTime(lpfiletime: *const super::super::Foundation::FILETIME, lpdosdate: *mut u16, lpdostime: *mut u16) -> super::super::Foundation::BOOL {
1609     #[cfg(windows)]
1610     {
1611         #[link(name = "windows")]
1612         extern "system" {
1613             fn CoFileTimeToDosDateTime(lpfiletime: *const super::super::Foundation::FILETIME, lpdosdate: *mut u16, lpdostime: *mut u16) -> super::super::Foundation::BOOL;
1614         }
1615         ::std::mem::transmute(CoFileTimeToDosDateTime(::std::mem::transmute(lpfiletime), ::std::mem::transmute(lpdosdate), ::std::mem::transmute(lpdostime)))
1616     }
1617     #[cfg(not(windows))]
1618     unimplemented!("Unsupported target OS");
1619 }
1620 #[inline]
CoFreeAllLibraries()1621 pub unsafe fn CoFreeAllLibraries() {
1622     #[cfg(windows)]
1623     {
1624         #[link(name = "windows")]
1625         extern "system" {
1626             fn CoFreeAllLibraries();
1627         }
1628         ::std::mem::transmute(CoFreeAllLibraries())
1629     }
1630     #[cfg(not(windows))]
1631     unimplemented!("Unsupported target OS");
1632 }
1633 #[cfg(feature = "Win32_Foundation")]
1634 #[inline]
CoFreeLibrary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(hinst: Param0)1635 pub unsafe fn CoFreeLibrary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HINSTANCE>>(hinst: Param0) {
1636     #[cfg(windows)]
1637     {
1638         #[link(name = "windows")]
1639         extern "system" {
1640             fn CoFreeLibrary(hinst: super::super::Foundation::HINSTANCE);
1641         }
1642         ::std::mem::transmute(CoFreeLibrary(hinst.into_param().abi()))
1643     }
1644     #[cfg(not(windows))]
1645     unimplemented!("Unsupported target OS");
1646 }
1647 #[inline]
CoFreeUnusedLibraries()1648 pub unsafe fn CoFreeUnusedLibraries() {
1649     #[cfg(windows)]
1650     {
1651         #[link(name = "windows")]
1652         extern "system" {
1653             fn CoFreeUnusedLibraries();
1654         }
1655         ::std::mem::transmute(CoFreeUnusedLibraries())
1656     }
1657     #[cfg(not(windows))]
1658     unimplemented!("Unsupported target OS");
1659 }
1660 #[inline]
CoFreeUnusedLibrariesEx(dwunloaddelay: u32, dwreserved: u32)1661 pub unsafe fn CoFreeUnusedLibrariesEx(dwunloaddelay: u32, dwreserved: u32) {
1662     #[cfg(windows)]
1663     {
1664         #[link(name = "windows")]
1665         extern "system" {
1666             fn CoFreeUnusedLibrariesEx(dwunloaddelay: u32, dwreserved: u32);
1667         }
1668         ::std::mem::transmute(CoFreeUnusedLibrariesEx(::std::mem::transmute(dwunloaddelay), ::std::mem::transmute(dwreserved)))
1669     }
1670     #[cfg(not(windows))]
1671     unimplemented!("Unsupported target OS");
1672 }
1673 #[inline]
CoGetApartmentType(papttype: *mut APTTYPE, paptqualifier: *mut APTTYPEQUALIFIER) -> ::windows::runtime::Result<()>1674 pub unsafe fn CoGetApartmentType(papttype: *mut APTTYPE, paptqualifier: *mut APTTYPEQUALIFIER) -> ::windows::runtime::Result<()> {
1675     #[cfg(windows)]
1676     {
1677         #[link(name = "windows")]
1678         extern "system" {
1679             fn CoGetApartmentType(papttype: *mut APTTYPE, paptqualifier: *mut APTTYPEQUALIFIER) -> ::windows::runtime::HRESULT;
1680         }
1681         CoGetApartmentType(::std::mem::transmute(papttype), ::std::mem::transmute(paptqualifier)).ok()
1682     }
1683     #[cfg(not(windows))]
1684     unimplemented!("Unsupported target OS");
1685 }
1686 #[inline]
CoGetCallContext(riid: *const ::windows::runtime::GUID, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1687 pub unsafe fn CoGetCallContext(riid: *const ::windows::runtime::GUID, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1688     #[cfg(windows)]
1689     {
1690         #[link(name = "windows")]
1691         extern "system" {
1692             fn CoGetCallContext(riid: *const ::windows::runtime::GUID, ppinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1693         }
1694         CoGetCallContext(::std::mem::transmute(riid), ::std::mem::transmute(ppinterface)).ok()
1695     }
1696     #[cfg(not(windows))]
1697     unimplemented!("Unsupported target OS");
1698 }
1699 #[inline]
CoGetCallerTID() -> ::windows::runtime::Result<u32>1700 pub unsafe fn CoGetCallerTID() -> ::windows::runtime::Result<u32> {
1701     #[cfg(windows)]
1702     {
1703         #[link(name = "windows")]
1704         extern "system" {
1705             fn CoGetCallerTID(lpdwtid: *mut u32) -> ::windows::runtime::HRESULT;
1706         }
1707         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1708         CoGetCallerTID(&mut result__).from_abi::<u32>(result__)
1709     }
1710     #[cfg(not(windows))]
1711     unimplemented!("Unsupported target OS");
1712 }
1713 #[inline]
CoGetCancelObject(dwthreadid: u32, iid: *const ::windows::runtime::GUID, ppunk: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1714 pub unsafe fn CoGetCancelObject(dwthreadid: u32, iid: *const ::windows::runtime::GUID, ppunk: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1715     #[cfg(windows)]
1716     {
1717         #[link(name = "windows")]
1718         extern "system" {
1719             fn CoGetCancelObject(dwthreadid: u32, iid: *const ::windows::runtime::GUID, ppunk: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1720         }
1721         CoGetCancelObject(::std::mem::transmute(dwthreadid), ::std::mem::transmute(iid), ::std::mem::transmute(ppunk)).ok()
1722     }
1723     #[cfg(not(windows))]
1724     unimplemented!("Unsupported target OS");
1725 }
1726 #[inline]
CoGetClassObject(rclsid: *const ::windows::runtime::GUID, dwclscontext: CLSCTX, pvreserved: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1727 pub unsafe fn CoGetClassObject(rclsid: *const ::windows::runtime::GUID, dwclscontext: CLSCTX, pvreserved: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1728     #[cfg(windows)]
1729     {
1730         #[link(name = "windows")]
1731         extern "system" {
1732             fn CoGetClassObject(rclsid: *const ::windows::runtime::GUID, dwclscontext: CLSCTX, pvreserved: *const ::std::ffi::c_void, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1733         }
1734         CoGetClassObject(::std::mem::transmute(rclsid), ::std::mem::transmute(dwclscontext), ::std::mem::transmute(pvreserved), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
1735     }
1736     #[cfg(not(windows))]
1737     unimplemented!("Unsupported target OS");
1738 }
1739 #[inline]
CoGetContextToken() -> ::windows::runtime::Result<usize>1740 pub unsafe fn CoGetContextToken() -> ::windows::runtime::Result<usize> {
1741     #[cfg(windows)]
1742     {
1743         #[link(name = "windows")]
1744         extern "system" {
1745             fn CoGetContextToken(ptoken: *mut usize) -> ::windows::runtime::HRESULT;
1746         }
1747         let mut result__: <usize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1748         CoGetContextToken(&mut result__).from_abi::<usize>(result__)
1749     }
1750     #[cfg(not(windows))]
1751     unimplemented!("Unsupported target OS");
1752 }
1753 #[inline]
CoGetCurrentLogicalThreadId() -> ::windows::runtime::Result<::windows::runtime::GUID>1754 pub unsafe fn CoGetCurrentLogicalThreadId() -> ::windows::runtime::Result<::windows::runtime::GUID> {
1755     #[cfg(windows)]
1756     {
1757         #[link(name = "windows")]
1758         extern "system" {
1759             fn CoGetCurrentLogicalThreadId(pguid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
1760         }
1761         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1762         CoGetCurrentLogicalThreadId(&mut result__).from_abi::<::windows::runtime::GUID>(result__)
1763     }
1764     #[cfg(not(windows))]
1765     unimplemented!("Unsupported target OS");
1766 }
1767 #[inline]
CoGetCurrentProcess() -> u321768 pub unsafe fn CoGetCurrentProcess() -> u32 {
1769     #[cfg(windows)]
1770     {
1771         #[link(name = "windows")]
1772         extern "system" {
1773             fn CoGetCurrentProcess() -> u32;
1774         }
1775         ::std::mem::transmute(CoGetCurrentProcess())
1776     }
1777     #[cfg(not(windows))]
1778     unimplemented!("Unsupported target OS");
1779 }
1780 #[inline]
CoGetMalloc(dwmemcontext: u32) -> ::windows::runtime::Result<IMalloc>1781 pub unsafe fn CoGetMalloc(dwmemcontext: u32) -> ::windows::runtime::Result<IMalloc> {
1782     #[cfg(windows)]
1783     {
1784         #[link(name = "windows")]
1785         extern "system" {
1786             fn CoGetMalloc(dwmemcontext: u32, ppmalloc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
1787         }
1788         let mut result__: <IMalloc as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1789         CoGetMalloc(::std::mem::transmute(dwmemcontext), &mut result__).from_abi::<IMalloc>(result__)
1790     }
1791     #[cfg(not(windows))]
1792     unimplemented!("Unsupported target OS");
1793 }
1794 #[cfg(feature = "Win32_Foundation")]
1795 #[inline]
CoGetObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pszname: Param0, pbindoptions: *const BIND_OPTS, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1796 pub unsafe fn CoGetObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pszname: Param0, pbindoptions: *const BIND_OPTS, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1797     #[cfg(windows)]
1798     {
1799         #[link(name = "windows")]
1800         extern "system" {
1801             fn CoGetObject(pszname: super::super::Foundation::PWSTR, pbindoptions: *const BIND_OPTS, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1802         }
1803         CoGetObject(pszname.into_param().abi(), ::std::mem::transmute(pbindoptions), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
1804     }
1805     #[cfg(not(windows))]
1806     unimplemented!("Unsupported target OS");
1807 }
1808 #[inline]
CoGetObjectContext(riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>1809 pub unsafe fn CoGetObjectContext(riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1810     #[cfg(windows)]
1811     {
1812         #[link(name = "windows")]
1813         extern "system" {
1814             fn CoGetObjectContext(riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1815         }
1816         CoGetObjectContext(::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
1817     }
1818     #[cfg(not(windows))]
1819     unimplemented!("Unsupported target OS");
1820 }
1821 #[inline]
CoGetPSClsid(riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::GUID>1822 pub unsafe fn CoGetPSClsid(riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1823     #[cfg(windows)]
1824     {
1825         #[link(name = "windows")]
1826         extern "system" {
1827             fn CoGetPSClsid(riid: *const ::windows::runtime::GUID, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
1828         }
1829         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1830         CoGetPSClsid(::std::mem::transmute(riid), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1831     }
1832     #[cfg(not(windows))]
1833     unimplemented!("Unsupported target OS");
1834 }
1835 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1836 #[inline]
CoGetSystemSecurityPermissions(comsdtype: COMSD, ppsd: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> ::windows::runtime::Result<()>1837 pub unsafe fn CoGetSystemSecurityPermissions(comsdtype: COMSD, ppsd: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> ::windows::runtime::Result<()> {
1838     #[cfg(windows)]
1839     {
1840         #[link(name = "windows")]
1841         extern "system" {
1842             fn CoGetSystemSecurityPermissions(comsdtype: COMSD, ppsd: *mut *mut super::super::Security::SECURITY_DESCRIPTOR) -> ::windows::runtime::HRESULT;
1843         }
1844         CoGetSystemSecurityPermissions(::std::mem::transmute(comsdtype), ::std::mem::transmute(ppsd)).ok()
1845     }
1846     #[cfg(not(windows))]
1847     unimplemented!("Unsupported target OS");
1848 }
1849 #[inline]
CoGetTreatAsClass(clsidold: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::GUID>1850 pub unsafe fn CoGetTreatAsClass(clsidold: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::GUID> {
1851     #[cfg(windows)]
1852     {
1853         #[link(name = "windows")]
1854         extern "system" {
1855             fn CoGetTreatAsClass(clsidold: *const ::windows::runtime::GUID, pclsidnew: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
1856         }
1857         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1858         CoGetTreatAsClass(::std::mem::transmute(clsidold), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
1859     }
1860     #[cfg(not(windows))]
1861     unimplemented!("Unsupported target OS");
1862 }
1863 #[inline]
CoImpersonateClient() -> ::windows::runtime::Result<()>1864 pub unsafe fn CoImpersonateClient() -> ::windows::runtime::Result<()> {
1865     #[cfg(windows)]
1866     {
1867         #[link(name = "windows")]
1868         extern "system" {
1869             fn CoImpersonateClient() -> ::windows::runtime::HRESULT;
1870         }
1871         CoImpersonateClient().ok()
1872     }
1873     #[cfg(not(windows))]
1874     unimplemented!("Unsupported target OS");
1875 }
1876 #[inline]
CoIncrementMTAUsage() -> ::windows::runtime::Result<CO_MTA_USAGE_COOKIE>1877 pub unsafe fn CoIncrementMTAUsage() -> ::windows::runtime::Result<CO_MTA_USAGE_COOKIE> {
1878     #[cfg(windows)]
1879     {
1880         #[link(name = "windows")]
1881         extern "system" {
1882             fn CoIncrementMTAUsage(pcookie: *mut CO_MTA_USAGE_COOKIE) -> ::windows::runtime::HRESULT;
1883         }
1884         let mut result__: <CO_MTA_USAGE_COOKIE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
1885         CoIncrementMTAUsage(&mut result__).from_abi::<CO_MTA_USAGE_COOKIE>(result__)
1886     }
1887     #[cfg(not(windows))]
1888     unimplemented!("Unsupported target OS");
1889 }
1890 #[inline]
CoInitialize(pvreserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>1891 pub unsafe fn CoInitialize(pvreserved: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1892     #[cfg(windows)]
1893     {
1894         #[link(name = "windows")]
1895         extern "system" {
1896             fn CoInitialize(pvreserved: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1897         }
1898         CoInitialize(::std::mem::transmute(pvreserved)).ok()
1899     }
1900     #[cfg(not(windows))]
1901     unimplemented!("Unsupported target OS");
1902 }
1903 #[inline]
CoInitializeEx(pvreserved: *const ::std::ffi::c_void, dwcoinit: COINIT) -> ::windows::runtime::Result<()>1904 pub unsafe fn CoInitializeEx(pvreserved: *const ::std::ffi::c_void, dwcoinit: COINIT) -> ::windows::runtime::Result<()> {
1905     #[cfg(windows)]
1906     {
1907         #[link(name = "windows")]
1908         extern "system" {
1909             fn CoInitializeEx(pvreserved: *const ::std::ffi::c_void, dwcoinit: COINIT) -> ::windows::runtime::HRESULT;
1910         }
1911         CoInitializeEx(::std::mem::transmute(pvreserved), ::std::mem::transmute(dwcoinit)).ok()
1912     }
1913     #[cfg(not(windows))]
1914     unimplemented!("Unsupported target OS");
1915 }
1916 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Security"))]
1917 #[inline]
CoInitializeSecurity(psecdesc: *const super::super::Security::SECURITY_DESCRIPTOR, cauthsvc: i32, asauthsvc: *const SOLE_AUTHENTICATION_SERVICE, preserved1: *const ::std::ffi::c_void, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthlist: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES, preserved3: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()>1918 pub unsafe fn CoInitializeSecurity(psecdesc: *const super::super::Security::SECURITY_DESCRIPTOR, cauthsvc: i32, asauthsvc: *const SOLE_AUTHENTICATION_SERVICE, preserved1: *const ::std::ffi::c_void, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthlist: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES, preserved3: *const ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
1919     #[cfg(windows)]
1920     {
1921         #[link(name = "windows")]
1922         extern "system" {
1923             fn CoInitializeSecurity(psecdesc: *const super::super::Security::SECURITY_DESCRIPTOR, cauthsvc: i32, asauthsvc: *const SOLE_AUTHENTICATION_SERVICE, preserved1: *const ::std::ffi::c_void, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthlist: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES, preserved3: *const ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
1924         }
1925         CoInitializeSecurity(
1926             ::std::mem::transmute(psecdesc),
1927             ::std::mem::transmute(cauthsvc),
1928             ::std::mem::transmute(asauthsvc),
1929             ::std::mem::transmute(preserved1),
1930             ::std::mem::transmute(dwauthnlevel),
1931             ::std::mem::transmute(dwimplevel),
1932             ::std::mem::transmute(pauthlist),
1933             ::std::mem::transmute(dwcapabilities),
1934             ::std::mem::transmute(preserved3),
1935         )
1936         .ok()
1937     }
1938     #[cfg(not(windows))]
1939     unimplemented!("Unsupported target OS");
1940 }
1941 #[cfg(feature = "Win32_Foundation")]
1942 #[inline]
CoInstall<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pbc: Param0, dwflags: u32, pclassspec: *const uCLSSPEC, pquery: *const QUERYCONTEXT, pszcodebase: Param4) -> ::windows::runtime::Result<()>1943 pub unsafe fn CoInstall<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param4: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pbc: Param0, dwflags: u32, pclassspec: *const uCLSSPEC, pquery: *const QUERYCONTEXT, pszcodebase: Param4) -> ::windows::runtime::Result<()> {
1944     #[cfg(windows)]
1945     {
1946         #[link(name = "windows")]
1947         extern "system" {
1948             fn CoInstall(pbc: ::windows::runtime::RawPtr, dwflags: u32, pclassspec: *const uCLSSPEC, pquery: *const QUERYCONTEXT, pszcodebase: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
1949         }
1950         CoInstall(pbc.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(pclassspec), ::std::mem::transmute(pquery), pszcodebase.into_param().abi()).ok()
1951     }
1952     #[cfg(not(windows))]
1953     unimplemented!("Unsupported target OS");
1954 }
1955 #[cfg(feature = "Win32_Foundation")]
1956 #[inline]
CoInvalidateRemoteMachineBindings<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pszmachinename: Param0) -> ::windows::runtime::Result<()>1957 pub unsafe fn CoInvalidateRemoteMachineBindings<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pszmachinename: Param0) -> ::windows::runtime::Result<()> {
1958     #[cfg(windows)]
1959     {
1960         #[link(name = "windows")]
1961         extern "system" {
1962             fn CoInvalidateRemoteMachineBindings(pszmachinename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
1963         }
1964         CoInvalidateRemoteMachineBindings(pszmachinename.into_param().abi()).ok()
1965     }
1966     #[cfg(not(windows))]
1967     unimplemented!("Unsupported target OS");
1968 }
1969 #[cfg(feature = "Win32_Foundation")]
1970 #[inline]
CoIsHandlerConnected<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> super::super::Foundation::BOOL1971 pub unsafe fn CoIsHandlerConnected<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> super::super::Foundation::BOOL {
1972     #[cfg(windows)]
1973     {
1974         #[link(name = "windows")]
1975         extern "system" {
1976             fn CoIsHandlerConnected(punk: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL;
1977         }
1978         ::std::mem::transmute(CoIsHandlerConnected(punk.into_param().abi()))
1979     }
1980     #[cfg(not(windows))]
1981     unimplemented!("Unsupported target OS");
1982 }
1983 #[cfg(feature = "Win32_Foundation")]
1984 #[inline]
CoIsOle1Class(rclsid: *const ::windows::runtime::GUID) -> super::super::Foundation::BOOL1985 pub unsafe fn CoIsOle1Class(rclsid: *const ::windows::runtime::GUID) -> super::super::Foundation::BOOL {
1986     #[cfg(windows)]
1987     {
1988         #[link(name = "windows")]
1989         extern "system" {
1990             fn CoIsOle1Class(rclsid: *const ::windows::runtime::GUID) -> super::super::Foundation::BOOL;
1991         }
1992         ::std::mem::transmute(CoIsOle1Class(::std::mem::transmute(rclsid)))
1993     }
1994     #[cfg(not(windows))]
1995     unimplemented!("Unsupported target OS");
1996 }
1997 #[cfg(feature = "Win32_Foundation")]
1998 #[inline]
CoLoadLibrary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(lpszlibname: Param0, bautofree: Param1) -> super::super::Foundation::HINSTANCE1999 pub unsafe fn CoLoadLibrary<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(lpszlibname: Param0, bautofree: Param1) -> super::super::Foundation::HINSTANCE {
2000     #[cfg(windows)]
2001     {
2002         #[link(name = "windows")]
2003         extern "system" {
2004             fn CoLoadLibrary(lpszlibname: super::super::Foundation::PWSTR, bautofree: super::super::Foundation::BOOL) -> super::super::Foundation::HINSTANCE;
2005         }
2006         ::std::mem::transmute(CoLoadLibrary(lpszlibname.into_param().abi(), bautofree.into_param().abi()))
2007     }
2008     #[cfg(not(windows))]
2009     unimplemented!("Unsupported target OS");
2010 }
2011 #[cfg(feature = "Win32_Foundation")]
2012 #[inline]
CoLockObjectExternal<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(punk: Param0, flock: Param1, flastunlockreleases: Param2) -> ::windows::runtime::Result<()>2013 pub unsafe fn CoLockObjectExternal<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(punk: Param0, flock: Param1, flastunlockreleases: Param2) -> ::windows::runtime::Result<()> {
2014     #[cfg(windows)]
2015     {
2016         #[link(name = "windows")]
2017         extern "system" {
2018             fn CoLockObjectExternal(punk: ::windows::runtime::RawPtr, flock: super::super::Foundation::BOOL, flastunlockreleases: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT;
2019         }
2020         CoLockObjectExternal(punk.into_param().abi(), flock.into_param().abi(), flastunlockreleases.into_param().abi()).ok()
2021     }
2022     #[cfg(not(windows))]
2023     unimplemented!("Unsupported target OS");
2024 }
2025 #[cfg(feature = "Win32_Foundation")]
2026 #[inline]
CoQueryAuthenticationServices(pcauthsvc: *mut u32, asauthsvc: *mut *mut SOLE_AUTHENTICATION_SERVICE) -> ::windows::runtime::Result<()>2027 pub unsafe fn CoQueryAuthenticationServices(pcauthsvc: *mut u32, asauthsvc: *mut *mut SOLE_AUTHENTICATION_SERVICE) -> ::windows::runtime::Result<()> {
2028     #[cfg(windows)]
2029     {
2030         #[link(name = "windows")]
2031         extern "system" {
2032             fn CoQueryAuthenticationServices(pcauthsvc: *mut u32, asauthsvc: *mut *mut SOLE_AUTHENTICATION_SERVICE) -> ::windows::runtime::HRESULT;
2033         }
2034         CoQueryAuthenticationServices(::std::mem::transmute(pcauthsvc), ::std::mem::transmute(asauthsvc)).ok()
2035     }
2036     #[cfg(not(windows))]
2037     unimplemented!("Unsupported target OS");
2038 }
2039 #[cfg(feature = "Win32_Foundation")]
2040 #[inline]
CoQueryClientBlanket(pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut super::super::Foundation::PWSTR, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::std::ffi::c_void, pcapabilities: *mut u32) -> ::windows::runtime::Result<()>2041 pub unsafe fn CoQueryClientBlanket(pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut super::super::Foundation::PWSTR, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::std::ffi::c_void, pcapabilities: *mut u32) -> ::windows::runtime::Result<()> {
2042     #[cfg(windows)]
2043     {
2044         #[link(name = "windows")]
2045         extern "system" {
2046             fn CoQueryClientBlanket(pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut super::super::Foundation::PWSTR, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::std::ffi::c_void, pcapabilities: *mut u32) -> ::windows::runtime::HRESULT;
2047         }
2048         CoQueryClientBlanket(::std::mem::transmute(pauthnsvc), ::std::mem::transmute(pauthzsvc), ::std::mem::transmute(pserverprincname), ::std::mem::transmute(pauthnlevel), ::std::mem::transmute(pimplevel), ::std::mem::transmute(pprivs), ::std::mem::transmute(pcapabilities)).ok()
2049     }
2050     #[cfg(not(windows))]
2051     unimplemented!("Unsupported target OS");
2052 }
2053 #[cfg(feature = "Win32_Foundation")]
2054 #[inline]
CoQueryProxyBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(pproxy: Param0, pwauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut super::super::Foundation::PWSTR, pauthnlevel: *mut u32, pimplevel: *mut u32, pauthinfo: *mut *mut ::std::ffi::c_void, pcapabilites: *mut u32) -> ::windows::runtime::Result<()>2055 pub unsafe fn CoQueryProxyBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(pproxy: Param0, pwauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut super::super::Foundation::PWSTR, pauthnlevel: *mut u32, pimplevel: *mut u32, pauthinfo: *mut *mut ::std::ffi::c_void, pcapabilites: *mut u32) -> ::windows::runtime::Result<()> {
2056     #[cfg(windows)]
2057     {
2058         #[link(name = "windows")]
2059         extern "system" {
2060             fn CoQueryProxyBlanket(pproxy: ::windows::runtime::RawPtr, pwauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut super::super::Foundation::PWSTR, pauthnlevel: *mut u32, pimplevel: *mut u32, pauthinfo: *mut *mut ::std::ffi::c_void, pcapabilites: *mut u32) -> ::windows::runtime::HRESULT;
2061         }
2062         CoQueryProxyBlanket(pproxy.into_param().abi(), ::std::mem::transmute(pwauthnsvc), ::std::mem::transmute(pauthzsvc), ::std::mem::transmute(pserverprincname), ::std::mem::transmute(pauthnlevel), ::std::mem::transmute(pimplevel), ::std::mem::transmute(pauthinfo), ::std::mem::transmute(pcapabilites)).ok()
2063     }
2064     #[cfg(not(windows))]
2065     unimplemented!("Unsupported target OS");
2066 }
2067 #[inline]
CoRegisterActivationFilter<'a, Param0: ::windows::runtime::IntoParam<'a, IActivationFilter>>(pactivationfilter: Param0) -> ::windows::runtime::Result<()>2068 pub unsafe fn CoRegisterActivationFilter<'a, Param0: ::windows::runtime::IntoParam<'a, IActivationFilter>>(pactivationfilter: Param0) -> ::windows::runtime::Result<()> {
2069     #[cfg(windows)]
2070     {
2071         #[link(name = "windows")]
2072         extern "system" {
2073             fn CoRegisterActivationFilter(pactivationfilter: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2074         }
2075         CoRegisterActivationFilter(pactivationfilter.into_param().abi()).ok()
2076     }
2077     #[cfg(not(windows))]
2078     unimplemented!("Unsupported target OS");
2079 }
2080 #[inline]
CoRegisterChannelHook<'a, Param1: ::windows::runtime::IntoParam<'a, IChannelHook>>(extensionuuid: *const ::windows::runtime::GUID, pchannelhook: Param1) -> ::windows::runtime::Result<()>2081 pub unsafe fn CoRegisterChannelHook<'a, Param1: ::windows::runtime::IntoParam<'a, IChannelHook>>(extensionuuid: *const ::windows::runtime::GUID, pchannelhook: Param1) -> ::windows::runtime::Result<()> {
2082     #[cfg(windows)]
2083     {
2084         #[link(name = "windows")]
2085         extern "system" {
2086             fn CoRegisterChannelHook(extensionuuid: *const ::windows::runtime::GUID, pchannelhook: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2087         }
2088         CoRegisterChannelHook(::std::mem::transmute(extensionuuid), pchannelhook.into_param().abi()).ok()
2089     }
2090     #[cfg(not(windows))]
2091     unimplemented!("Unsupported target OS");
2092 }
2093 #[inline]
CoRegisterClassObject<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(rclsid: *const ::windows::runtime::GUID, punk: Param1, dwclscontext: CLSCTX, flags: u32) -> ::windows::runtime::Result<u32>2094 pub unsafe fn CoRegisterClassObject<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(rclsid: *const ::windows::runtime::GUID, punk: Param1, dwclscontext: CLSCTX, flags: u32) -> ::windows::runtime::Result<u32> {
2095     #[cfg(windows)]
2096     {
2097         #[link(name = "windows")]
2098         extern "system" {
2099             fn CoRegisterClassObject(rclsid: *const ::windows::runtime::GUID, punk: ::windows::runtime::RawPtr, dwclscontext: CLSCTX, flags: u32, lpdwregister: *mut u32) -> ::windows::runtime::HRESULT;
2100         }
2101         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2102         CoRegisterClassObject(::std::mem::transmute(rclsid), punk.into_param().abi(), ::std::mem::transmute(dwclscontext), ::std::mem::transmute(flags), &mut result__).from_abi::<u32>(result__)
2103     }
2104     #[cfg(not(windows))]
2105     unimplemented!("Unsupported target OS");
2106 }
2107 #[cfg(feature = "Win32_Foundation")]
2108 #[inline]
CoRegisterDeviceCatalog<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(deviceinstanceid: Param0) -> ::windows::runtime::Result<CO_DEVICE_CATALOG_COOKIE>2109 pub unsafe fn CoRegisterDeviceCatalog<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(deviceinstanceid: Param0) -> ::windows::runtime::Result<CO_DEVICE_CATALOG_COOKIE> {
2110     #[cfg(windows)]
2111     {
2112         #[link(name = "windows")]
2113         extern "system" {
2114             fn CoRegisterDeviceCatalog(deviceinstanceid: super::super::Foundation::PWSTR, cookie: *mut CO_DEVICE_CATALOG_COOKIE) -> ::windows::runtime::HRESULT;
2115         }
2116         let mut result__: <CO_DEVICE_CATALOG_COOKIE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2117         CoRegisterDeviceCatalog(deviceinstanceid.into_param().abi(), &mut result__).from_abi::<CO_DEVICE_CATALOG_COOKIE>(result__)
2118     }
2119     #[cfg(not(windows))]
2120     unimplemented!("Unsupported target OS");
2121 }
2122 #[inline]
CoRegisterInitializeSpy<'a, Param0: ::windows::runtime::IntoParam<'a, IInitializeSpy>>(pspy: Param0) -> ::windows::runtime::Result<u64>2123 pub unsafe fn CoRegisterInitializeSpy<'a, Param0: ::windows::runtime::IntoParam<'a, IInitializeSpy>>(pspy: Param0) -> ::windows::runtime::Result<u64> {
2124     #[cfg(windows)]
2125     {
2126         #[link(name = "windows")]
2127         extern "system" {
2128             fn CoRegisterInitializeSpy(pspy: ::windows::runtime::RawPtr, pulicookie: *mut u64) -> ::windows::runtime::HRESULT;
2129         }
2130         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2131         CoRegisterInitializeSpy(pspy.into_param().abi(), &mut result__).from_abi::<u64>(result__)
2132     }
2133     #[cfg(not(windows))]
2134     unimplemented!("Unsupported target OS");
2135 }
2136 #[inline]
CoRegisterMallocSpy<'a, Param0: ::windows::runtime::IntoParam<'a, IMallocSpy>>(pmallocspy: Param0) -> ::windows::runtime::Result<()>2137 pub unsafe fn CoRegisterMallocSpy<'a, Param0: ::windows::runtime::IntoParam<'a, IMallocSpy>>(pmallocspy: Param0) -> ::windows::runtime::Result<()> {
2138     #[cfg(windows)]
2139     {
2140         #[link(name = "windows")]
2141         extern "system" {
2142             fn CoRegisterMallocSpy(pmallocspy: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2143         }
2144         CoRegisterMallocSpy(pmallocspy.into_param().abi()).ok()
2145     }
2146     #[cfg(not(windows))]
2147     unimplemented!("Unsupported target OS");
2148 }
2149 #[inline]
CoRegisterPSClsid(riid: *const ::windows::runtime::GUID, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2150 pub unsafe fn CoRegisterPSClsid(riid: *const ::windows::runtime::GUID, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2151     #[cfg(windows)]
2152     {
2153         #[link(name = "windows")]
2154         extern "system" {
2155             fn CoRegisterPSClsid(riid: *const ::windows::runtime::GUID, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
2156         }
2157         CoRegisterPSClsid(::std::mem::transmute(riid), ::std::mem::transmute(rclsid)).ok()
2158     }
2159     #[cfg(not(windows))]
2160     unimplemented!("Unsupported target OS");
2161 }
2162 #[inline]
CoRegisterSurrogate<'a, Param0: ::windows::runtime::IntoParam<'a, ISurrogate>>(psurrogate: Param0) -> ::windows::runtime::Result<()>2163 pub unsafe fn CoRegisterSurrogate<'a, Param0: ::windows::runtime::IntoParam<'a, ISurrogate>>(psurrogate: Param0) -> ::windows::runtime::Result<()> {
2164     #[cfg(windows)]
2165     {
2166         #[link(name = "windows")]
2167         extern "system" {
2168             fn CoRegisterSurrogate(psurrogate: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2169         }
2170         CoRegisterSurrogate(psurrogate.into_param().abi()).ok()
2171     }
2172     #[cfg(not(windows))]
2173     unimplemented!("Unsupported target OS");
2174 }
2175 #[inline]
CoReleaseServerProcess() -> u322176 pub unsafe fn CoReleaseServerProcess() -> u32 {
2177     #[cfg(windows)]
2178     {
2179         #[link(name = "windows")]
2180         extern "system" {
2181             fn CoReleaseServerProcess() -> u32;
2182         }
2183         ::std::mem::transmute(CoReleaseServerProcess())
2184     }
2185     #[cfg(not(windows))]
2186     unimplemented!("Unsupported target OS");
2187 }
2188 #[inline]
CoResumeClassObjects() -> ::windows::runtime::Result<()>2189 pub unsafe fn CoResumeClassObjects() -> ::windows::runtime::Result<()> {
2190     #[cfg(windows)]
2191     {
2192         #[link(name = "windows")]
2193         extern "system" {
2194             fn CoResumeClassObjects() -> ::windows::runtime::HRESULT;
2195         }
2196         CoResumeClassObjects().ok()
2197     }
2198     #[cfg(not(windows))]
2199     unimplemented!("Unsupported target OS");
2200 }
2201 #[inline]
CoRevertToSelf() -> ::windows::runtime::Result<()>2202 pub unsafe fn CoRevertToSelf() -> ::windows::runtime::Result<()> {
2203     #[cfg(windows)]
2204     {
2205         #[link(name = "windows")]
2206         extern "system" {
2207             fn CoRevertToSelf() -> ::windows::runtime::HRESULT;
2208         }
2209         CoRevertToSelf().ok()
2210     }
2211     #[cfg(not(windows))]
2212     unimplemented!("Unsupported target OS");
2213 }
2214 #[inline]
CoRevokeClassObject(dwregister: u32) -> ::windows::runtime::Result<()>2215 pub unsafe fn CoRevokeClassObject(dwregister: u32) -> ::windows::runtime::Result<()> {
2216     #[cfg(windows)]
2217     {
2218         #[link(name = "windows")]
2219         extern "system" {
2220             fn CoRevokeClassObject(dwregister: u32) -> ::windows::runtime::HRESULT;
2221         }
2222         CoRevokeClassObject(::std::mem::transmute(dwregister)).ok()
2223     }
2224     #[cfg(not(windows))]
2225     unimplemented!("Unsupported target OS");
2226 }
2227 #[inline]
CoRevokeDeviceCatalog<'a, Param0: ::windows::runtime::IntoParam<'a, CO_DEVICE_CATALOG_COOKIE>>(cookie: Param0) -> ::windows::runtime::Result<()>2228 pub unsafe fn CoRevokeDeviceCatalog<'a, Param0: ::windows::runtime::IntoParam<'a, CO_DEVICE_CATALOG_COOKIE>>(cookie: Param0) -> ::windows::runtime::Result<()> {
2229     #[cfg(windows)]
2230     {
2231         #[link(name = "windows")]
2232         extern "system" {
2233             fn CoRevokeDeviceCatalog(cookie: CO_DEVICE_CATALOG_COOKIE) -> ::windows::runtime::HRESULT;
2234         }
2235         CoRevokeDeviceCatalog(cookie.into_param().abi()).ok()
2236     }
2237     #[cfg(not(windows))]
2238     unimplemented!("Unsupported target OS");
2239 }
2240 #[inline]
CoRevokeInitializeSpy(ulicookie: u64) -> ::windows::runtime::Result<()>2241 pub unsafe fn CoRevokeInitializeSpy(ulicookie: u64) -> ::windows::runtime::Result<()> {
2242     #[cfg(windows)]
2243     {
2244         #[link(name = "windows")]
2245         extern "system" {
2246             fn CoRevokeInitializeSpy(ulicookie: u64) -> ::windows::runtime::HRESULT;
2247         }
2248         CoRevokeInitializeSpy(::std::mem::transmute(ulicookie)).ok()
2249     }
2250     #[cfg(not(windows))]
2251     unimplemented!("Unsupported target OS");
2252 }
2253 #[inline]
CoRevokeMallocSpy() -> ::windows::runtime::Result<()>2254 pub unsafe fn CoRevokeMallocSpy() -> ::windows::runtime::Result<()> {
2255     #[cfg(windows)]
2256     {
2257         #[link(name = "windows")]
2258         extern "system" {
2259             fn CoRevokeMallocSpy() -> ::windows::runtime::HRESULT;
2260         }
2261         CoRevokeMallocSpy().ok()
2262     }
2263     #[cfg(not(windows))]
2264     unimplemented!("Unsupported target OS");
2265 }
2266 #[inline]
CoSetCancelObject<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> ::windows::runtime::Result<()>2267 pub unsafe fn CoSetCancelObject<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> ::windows::runtime::Result<()> {
2268     #[cfg(windows)]
2269     {
2270         #[link(name = "windows")]
2271         extern "system" {
2272             fn CoSetCancelObject(punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2273         }
2274         CoSetCancelObject(punk.into_param().abi()).ok()
2275     }
2276     #[cfg(not(windows))]
2277     unimplemented!("Unsupported target OS");
2278 }
2279 #[cfg(feature = "Win32_Foundation")]
2280 #[inline]
CoSetProxyBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pproxy: Param0, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: Param3, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::Result<()>2281 pub unsafe fn CoSetProxyBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pproxy: Param0, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: Param3, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::Result<()> {
2282     #[cfg(windows)]
2283     {
2284         #[link(name = "windows")]
2285         extern "system" {
2286             fn CoSetProxyBlanket(pproxy: ::windows::runtime::RawPtr, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: super::super::Foundation::PWSTR, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::HRESULT;
2287         }
2288         CoSetProxyBlanket(pproxy.into_param().abi(), ::std::mem::transmute(dwauthnsvc), ::std::mem::transmute(dwauthzsvc), pserverprincname.into_param().abi(), ::std::mem::transmute(dwauthnlevel), ::std::mem::transmute(dwimplevel), ::std::mem::transmute(pauthinfo), ::std::mem::transmute(dwcapabilities)).ok()
2289     }
2290     #[cfg(not(windows))]
2291     unimplemented!("Unsupported target OS");
2292 }
2293 #[inline]
CoSuspendClassObjects() -> ::windows::runtime::Result<()>2294 pub unsafe fn CoSuspendClassObjects() -> ::windows::runtime::Result<()> {
2295     #[cfg(windows)]
2296     {
2297         #[link(name = "windows")]
2298         extern "system" {
2299             fn CoSuspendClassObjects() -> ::windows::runtime::HRESULT;
2300         }
2301         CoSuspendClassObjects().ok()
2302     }
2303     #[cfg(not(windows))]
2304     unimplemented!("Unsupported target OS");
2305 }
2306 #[inline]
CoSwitchCallContext<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(pnewobject: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>2307 pub unsafe fn CoSwitchCallContext<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(pnewobject: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
2308     #[cfg(windows)]
2309     {
2310         #[link(name = "windows")]
2311         extern "system" {
2312             fn CoSwitchCallContext(pnewobject: ::windows::runtime::RawPtr, ppoldobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2313         }
2314         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2315         CoSwitchCallContext(pnewobject.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
2316     }
2317     #[cfg(not(windows))]
2318     unimplemented!("Unsupported target OS");
2319 }
2320 #[inline]
CoTaskMemAlloc(cb: usize) -> *mut ::std::ffi::c_void2321 pub unsafe fn CoTaskMemAlloc(cb: usize) -> *mut ::std::ffi::c_void {
2322     #[cfg(windows)]
2323     {
2324         #[link(name = "windows")]
2325         extern "system" {
2326             fn CoTaskMemAlloc(cb: usize) -> *mut ::std::ffi::c_void;
2327         }
2328         ::std::mem::transmute(CoTaskMemAlloc(::std::mem::transmute(cb)))
2329     }
2330     #[cfg(not(windows))]
2331     unimplemented!("Unsupported target OS");
2332 }
2333 #[inline]
CoTaskMemFree(pv: *const ::std::ffi::c_void)2334 pub unsafe fn CoTaskMemFree(pv: *const ::std::ffi::c_void) {
2335     #[cfg(windows)]
2336     {
2337         #[link(name = "windows")]
2338         extern "system" {
2339             fn CoTaskMemFree(pv: *const ::std::ffi::c_void);
2340         }
2341         ::std::mem::transmute(CoTaskMemFree(::std::mem::transmute(pv)))
2342     }
2343     #[cfg(not(windows))]
2344     unimplemented!("Unsupported target OS");
2345 }
2346 #[inline]
CoTaskMemRealloc(pv: *const ::std::ffi::c_void, cb: usize) -> *mut ::std::ffi::c_void2347 pub unsafe fn CoTaskMemRealloc(pv: *const ::std::ffi::c_void, cb: usize) -> *mut ::std::ffi::c_void {
2348     #[cfg(windows)]
2349     {
2350         #[link(name = "windows")]
2351         extern "system" {
2352             fn CoTaskMemRealloc(pv: *const ::std::ffi::c_void, cb: usize) -> *mut ::std::ffi::c_void;
2353         }
2354         ::std::mem::transmute(CoTaskMemRealloc(::std::mem::transmute(pv), ::std::mem::transmute(cb)))
2355     }
2356     #[cfg(not(windows))]
2357     unimplemented!("Unsupported target OS");
2358 }
2359 #[inline]
CoTestCancel() -> ::windows::runtime::Result<()>2360 pub unsafe fn CoTestCancel() -> ::windows::runtime::Result<()> {
2361     #[cfg(windows)]
2362     {
2363         #[link(name = "windows")]
2364         extern "system" {
2365             fn CoTestCancel() -> ::windows::runtime::HRESULT;
2366         }
2367         CoTestCancel().ok()
2368     }
2369     #[cfg(not(windows))]
2370     unimplemented!("Unsupported target OS");
2371 }
2372 #[inline]
CoTreatAsClass(clsidold: *const ::windows::runtime::GUID, clsidnew: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>2373 pub unsafe fn CoTreatAsClass(clsidold: *const ::windows::runtime::GUID, clsidnew: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
2374     #[cfg(windows)]
2375     {
2376         #[link(name = "windows")]
2377         extern "system" {
2378             fn CoTreatAsClass(clsidold: *const ::windows::runtime::GUID, clsidnew: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
2379         }
2380         CoTreatAsClass(::std::mem::transmute(clsidold), ::std::mem::transmute(clsidnew)).ok()
2381     }
2382     #[cfg(not(windows))]
2383     unimplemented!("Unsupported target OS");
2384 }
2385 #[inline]
CoUninitialize()2386 pub unsafe fn CoUninitialize() {
2387     #[cfg(windows)]
2388     {
2389         #[link(name = "windows")]
2390         extern "system" {
2391             fn CoUninitialize();
2392         }
2393         ::std::mem::transmute(CoUninitialize())
2394     }
2395     #[cfg(not(windows))]
2396     unimplemented!("Unsupported target OS");
2397 }
2398 #[cfg(feature = "Win32_Foundation")]
2399 #[inline]
CoWaitForMultipleHandles(dwflags: u32, dwtimeout: u32, chandles: u32, phandles: *const super::super::Foundation::HANDLE) -> ::windows::runtime::Result<u32>2400 pub unsafe fn CoWaitForMultipleHandles(dwflags: u32, dwtimeout: u32, chandles: u32, phandles: *const super::super::Foundation::HANDLE) -> ::windows::runtime::Result<u32> {
2401     #[cfg(windows)]
2402     {
2403         #[link(name = "windows")]
2404         extern "system" {
2405             fn CoWaitForMultipleHandles(dwflags: u32, dwtimeout: u32, chandles: u32, phandles: *const super::super::Foundation::HANDLE, lpdwindex: *mut u32) -> ::windows::runtime::HRESULT;
2406         }
2407         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2408         CoWaitForMultipleHandles(::std::mem::transmute(dwflags), ::std::mem::transmute(dwtimeout), ::std::mem::transmute(chandles), ::std::mem::transmute(phandles), &mut result__).from_abi::<u32>(result__)
2409     }
2410     #[cfg(not(windows))]
2411     unimplemented!("Unsupported target OS");
2412 }
2413 #[cfg(feature = "Win32_Foundation")]
2414 #[inline]
CoWaitForMultipleObjects(dwflags: u32, dwtimeout: u32, chandles: u32, phandles: *const super::super::Foundation::HANDLE) -> ::windows::runtime::Result<u32>2415 pub unsafe fn CoWaitForMultipleObjects(dwflags: u32, dwtimeout: u32, chandles: u32, phandles: *const super::super::Foundation::HANDLE) -> ::windows::runtime::Result<u32> {
2416     #[cfg(windows)]
2417     {
2418         #[link(name = "windows")]
2419         extern "system" {
2420             fn CoWaitForMultipleObjects(dwflags: u32, dwtimeout: u32, chandles: u32, phandles: *const super::super::Foundation::HANDLE, lpdwindex: *mut u32) -> ::windows::runtime::HRESULT;
2421         }
2422         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2423         CoWaitForMultipleObjects(::std::mem::transmute(dwflags), ::std::mem::transmute(dwtimeout), ::std::mem::transmute(chandles), ::std::mem::transmute(phandles), &mut result__).from_abi::<u32>(result__)
2424     }
2425     #[cfg(not(windows))]
2426     unimplemented!("Unsupported target OS");
2427 }
2428 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2429 #[repr(C)]
2430 pub struct ComCallData {
2431     pub dwDispid: u32,
2432     pub dwReserved: u32,
2433     pub pUserDefined: *mut ::std::ffi::c_void,
2434 }
2435 impl ComCallData {}
2436 impl ::std::default::Default for ComCallData {
default() -> Self2437     fn default() -> Self {
2438         unsafe { ::std::mem::zeroed() }
2439     }
2440 }
2441 impl ::std::fmt::Debug for ComCallData {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2442     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2443         fmt.debug_struct("ComCallData").field("dwDispid", &self.dwDispid).field("dwReserved", &self.dwReserved).field("pUserDefined", &self.pUserDefined).finish()
2444     }
2445 }
2446 impl ::std::cmp::PartialEq for ComCallData {
eq(&self, other: &Self) -> bool2447     fn eq(&self, other: &Self) -> bool {
2448         self.dwDispid == other.dwDispid && self.dwReserved == other.dwReserved && self.pUserDefined == other.pUserDefined
2449     }
2450 }
2451 impl ::std::cmp::Eq for ComCallData {}
2452 unsafe impl ::windows::runtime::Abi for ComCallData {
2453     type Abi = Self;
2454     type DefaultType = Self;
2455 }
2456 #[inline]
CreateAntiMoniker() -> ::windows::runtime::Result<IMoniker>2457 pub unsafe fn CreateAntiMoniker() -> ::windows::runtime::Result<IMoniker> {
2458     #[cfg(windows)]
2459     {
2460         #[link(name = "windows")]
2461         extern "system" {
2462             fn CreateAntiMoniker(ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2463         }
2464         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2465         CreateAntiMoniker(&mut result__).from_abi::<IMoniker>(result__)
2466     }
2467     #[cfg(not(windows))]
2468     unimplemented!("Unsupported target OS");
2469 }
2470 #[inline]
CreateBindCtx(reserved: u32) -> ::windows::runtime::Result<IBindCtx>2471 pub unsafe fn CreateBindCtx(reserved: u32) -> ::windows::runtime::Result<IBindCtx> {
2472     #[cfg(windows)]
2473     {
2474         #[link(name = "windows")]
2475         extern "system" {
2476             fn CreateBindCtx(reserved: u32, ppbc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2477         }
2478         let mut result__: <IBindCtx as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2479         CreateBindCtx(::std::mem::transmute(reserved), &mut result__).from_abi::<IBindCtx>(result__)
2480     }
2481     #[cfg(not(windows))]
2482     unimplemented!("Unsupported target OS");
2483 }
2484 #[inline]
CreateClassMoniker(rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IMoniker>2485 pub unsafe fn CreateClassMoniker(rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IMoniker> {
2486     #[cfg(windows)]
2487     {
2488         #[link(name = "windows")]
2489         extern "system" {
2490             fn CreateClassMoniker(rclsid: *const ::windows::runtime::GUID, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2491         }
2492         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2493         CreateClassMoniker(::std::mem::transmute(rclsid), &mut result__).from_abi::<IMoniker>(result__)
2494     }
2495     #[cfg(not(windows))]
2496     unimplemented!("Unsupported target OS");
2497 }
2498 #[inline]
CreateDataAdviseHolder() -> ::windows::runtime::Result<IDataAdviseHolder>2499 pub unsafe fn CreateDataAdviseHolder() -> ::windows::runtime::Result<IDataAdviseHolder> {
2500     #[cfg(windows)]
2501     {
2502         #[link(name = "windows")]
2503         extern "system" {
2504             fn CreateDataAdviseHolder(ppdaholder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2505         }
2506         let mut result__: <IDataAdviseHolder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2507         CreateDataAdviseHolder(&mut result__).from_abi::<IDataAdviseHolder>(result__)
2508     }
2509     #[cfg(not(windows))]
2510     unimplemented!("Unsupported target OS");
2511 }
2512 #[inline]
CreateDataCache<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punkouter: Param0, rclsid: *const ::windows::runtime::GUID, iid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>2513 pub unsafe fn CreateDataCache<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punkouter: Param0, rclsid: *const ::windows::runtime::GUID, iid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
2514     #[cfg(windows)]
2515     {
2516         #[link(name = "windows")]
2517         extern "system" {
2518             fn CreateDataCache(punkouter: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, iid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
2519         }
2520         CreateDataCache(punkouter.into_param().abi(), ::std::mem::transmute(rclsid), ::std::mem::transmute(iid), ::std::mem::transmute(ppv)).ok()
2521     }
2522     #[cfg(not(windows))]
2523     unimplemented!("Unsupported target OS");
2524 }
2525 #[cfg(feature = "Win32_Foundation")]
2526 #[inline]
CreateFileMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszpathname: Param0) -> ::windows::runtime::Result<IMoniker>2527 pub unsafe fn CreateFileMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszpathname: Param0) -> ::windows::runtime::Result<IMoniker> {
2528     #[cfg(windows)]
2529     {
2530         #[link(name = "windows")]
2531         extern "system" {
2532             fn CreateFileMoniker(lpszpathname: super::super::Foundation::PWSTR, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2533         }
2534         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2535         CreateFileMoniker(lpszpathname.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
2536     }
2537     #[cfg(not(windows))]
2538     unimplemented!("Unsupported target OS");
2539 }
2540 #[inline]
CreateGenericComposite<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(pmkfirst: Param0, pmkrest: Param1) -> ::windows::runtime::Result<IMoniker>2541 pub unsafe fn CreateGenericComposite<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(pmkfirst: Param0, pmkrest: Param1) -> ::windows::runtime::Result<IMoniker> {
2542     #[cfg(windows)]
2543     {
2544         #[link(name = "windows")]
2545         extern "system" {
2546             fn CreateGenericComposite(pmkfirst: ::windows::runtime::RawPtr, pmkrest: ::windows::runtime::RawPtr, ppmkcomposite: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2547         }
2548         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2549         CreateGenericComposite(pmkfirst.into_param().abi(), pmkrest.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
2550     }
2551     #[cfg(not(windows))]
2552     unimplemented!("Unsupported target OS");
2553 }
2554 #[inline]
CreateIUriBuilder<'a, Param0: ::windows::runtime::IntoParam<'a, IUri>>(piuri: Param0, dwflags: u32, dwreserved: usize) -> ::windows::runtime::Result<IUriBuilder>2555 pub unsafe fn CreateIUriBuilder<'a, Param0: ::windows::runtime::IntoParam<'a, IUri>>(piuri: Param0, dwflags: u32, dwreserved: usize) -> ::windows::runtime::Result<IUriBuilder> {
2556     #[cfg(windows)]
2557     {
2558         #[link(name = "windows")]
2559         extern "system" {
2560             fn CreateIUriBuilder(piuri: ::windows::runtime::RawPtr, dwflags: u32, dwreserved: usize, ppiuribuilder: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2561         }
2562         let mut result__: <IUriBuilder as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2563         CreateIUriBuilder(piuri.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUriBuilder>(result__)
2564     }
2565     #[cfg(not(windows))]
2566     unimplemented!("Unsupported target OS");
2567 }
2568 #[cfg(feature = "Win32_Foundation")]
2569 #[inline]
CreateItemMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszdelim: Param0, lpszitem: Param1) -> ::windows::runtime::Result<IMoniker>2570 pub unsafe fn CreateItemMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpszdelim: Param0, lpszitem: Param1) -> ::windows::runtime::Result<IMoniker> {
2571     #[cfg(windows)]
2572     {
2573         #[link(name = "windows")]
2574         extern "system" {
2575             fn CreateItemMoniker(lpszdelim: super::super::Foundation::PWSTR, lpszitem: super::super::Foundation::PWSTR, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2576         }
2577         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2578         CreateItemMoniker(lpszdelim.into_param().abi(), lpszitem.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
2579     }
2580     #[cfg(not(windows))]
2581     unimplemented!("Unsupported target OS");
2582 }
2583 #[inline]
CreateObjrefMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> ::windows::runtime::Result<IMoniker>2584 pub unsafe fn CreateObjrefMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> ::windows::runtime::Result<IMoniker> {
2585     #[cfg(windows)]
2586     {
2587         #[link(name = "windows")]
2588         extern "system" {
2589             fn CreateObjrefMoniker(punk: ::windows::runtime::RawPtr, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2590         }
2591         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2592         CreateObjrefMoniker(punk.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
2593     }
2594     #[cfg(not(windows))]
2595     unimplemented!("Unsupported target OS");
2596 }
2597 #[inline]
CreatePointerMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> ::windows::runtime::Result<IMoniker>2598 pub unsafe fn CreatePointerMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(punk: Param0) -> ::windows::runtime::Result<IMoniker> {
2599     #[cfg(windows)]
2600     {
2601         #[link(name = "windows")]
2602         extern "system" {
2603             fn CreatePointerMoniker(punk: ::windows::runtime::RawPtr, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2604         }
2605         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2606         CreatePointerMoniker(punk.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
2607     }
2608     #[cfg(not(windows))]
2609     unimplemented!("Unsupported target OS");
2610 }
2611 #[cfg(feature = "Win32_Foundation")]
2612 #[inline]
CreateStdProgressIndicator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, IBindStatusCallback>>(hwndparent: Param0, psztitle: Param1, pibsccaller: Param2) -> ::windows::runtime::Result<IBindStatusCallback>2613 pub unsafe fn CreateStdProgressIndicator<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::HWND>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, IBindStatusCallback>>(hwndparent: Param0, psztitle: Param1, pibsccaller: Param2) -> ::windows::runtime::Result<IBindStatusCallback> {
2614     #[cfg(windows)]
2615     {
2616         #[link(name = "windows")]
2617         extern "system" {
2618             fn CreateStdProgressIndicator(hwndparent: super::super::Foundation::HWND, psztitle: super::super::Foundation::PWSTR, pibsccaller: ::windows::runtime::RawPtr, ppibsc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2619         }
2620         let mut result__: <IBindStatusCallback as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2621         CreateStdProgressIndicator(hwndparent.into_param().abi(), psztitle.into_param().abi(), pibsccaller.into_param().abi(), &mut result__).from_abi::<IBindStatusCallback>(result__)
2622     }
2623     #[cfg(not(windows))]
2624     unimplemented!("Unsupported target OS");
2625 }
2626 #[cfg(feature = "Win32_Foundation")]
2627 #[inline]
CreateUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pwzuri: Param0, dwflags: URI_CREATE_FLAGS, dwreserved: usize) -> ::windows::runtime::Result<IUri>2628 pub unsafe fn CreateUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pwzuri: Param0, dwflags: URI_CREATE_FLAGS, dwreserved: usize) -> ::windows::runtime::Result<IUri> {
2629     #[cfg(windows)]
2630     {
2631         #[link(name = "windows")]
2632         extern "system" {
2633             fn CreateUri(pwzuri: super::super::Foundation::PWSTR, dwflags: URI_CREATE_FLAGS, dwreserved: usize, ppuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2634         }
2635         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2636         CreateUri(pwzuri.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUri>(result__)
2637     }
2638     #[cfg(not(windows))]
2639     unimplemented!("Unsupported target OS");
2640 }
2641 #[cfg(feature = "Win32_Foundation")]
2642 #[inline]
CreateUriFromMultiByteString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pszansiinputuri: Param0, dwencodingflags: u32, dwcodepage: u32, dwcreateflags: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri>2643 pub unsafe fn CreateUriFromMultiByteString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PSTR>>(pszansiinputuri: Param0, dwencodingflags: u32, dwcodepage: u32, dwcreateflags: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri> {
2644     #[cfg(windows)]
2645     {
2646         #[link(name = "windows")]
2647         extern "system" {
2648             fn CreateUriFromMultiByteString(pszansiinputuri: super::super::Foundation::PSTR, dwencodingflags: u32, dwcodepage: u32, dwcreateflags: u32, dwreserved: usize, ppuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2649         }
2650         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2651         CreateUriFromMultiByteString(pszansiinputuri.into_param().abi(), ::std::mem::transmute(dwencodingflags), ::std::mem::transmute(dwcodepage), ::std::mem::transmute(dwcreateflags), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUri>(result__)
2652     }
2653     #[cfg(not(windows))]
2654     unimplemented!("Unsupported target OS");
2655 }
2656 #[cfg(feature = "Win32_Foundation")]
2657 #[inline]
CreateUriWithFragment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pwzuri: Param0, pwzfragment: Param1, dwflags: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri>2658 pub unsafe fn CreateUriWithFragment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pwzuri: Param0, pwzfragment: Param1, dwflags: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri> {
2659     #[cfg(windows)]
2660     {
2661         #[link(name = "windows")]
2662         extern "system" {
2663             fn CreateUriWithFragment(pwzuri: super::super::Foundation::PWSTR, pwzfragment: super::super::Foundation::PWSTR, dwflags: u32, dwreserved: usize, ppuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
2664         }
2665         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
2666         CreateUriWithFragment(pwzuri.into_param().abi(), pwzfragment.into_param().abi(), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUri>(result__)
2667     }
2668     #[cfg(not(windows))]
2669     unimplemented!("Unsupported target OS");
2670 }
2671 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2672 #[repr(transparent)]
2673 pub struct DATADIR(pub i32);
2674 pub const DATADIR_GET: DATADIR = DATADIR(1i32);
2675 pub const DATADIR_SET: DATADIR = DATADIR(2i32);
2676 impl ::std::convert::From<i32> for DATADIR {
from(value: i32) -> Self2677     fn from(value: i32) -> Self {
2678         Self(value)
2679     }
2680 }
2681 unsafe impl ::windows::runtime::Abi for DATADIR {
2682     type Abi = Self;
2683     type DefaultType = Self;
2684 }
2685 pub const DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL: u32 = 2u32;
2686 pub const DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES: u32 = 1u32;
2687 pub const DCOMSCM_PING_DISALLOW_UNSECURE_CALL: u32 = 32u32;
2688 pub const DCOMSCM_PING_USE_MID_AUTHNSERVICE: u32 = 16u32;
2689 pub const DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL: u32 = 8u32;
2690 pub const DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES: u32 = 4u32;
2691 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2692 #[repr(transparent)]
2693 pub struct DCOM_CALL_STATE(pub i32);
2694 pub const DCOM_NONE: DCOM_CALL_STATE = DCOM_CALL_STATE(0i32);
2695 pub const DCOM_CALL_COMPLETE: DCOM_CALL_STATE = DCOM_CALL_STATE(1i32);
2696 pub const DCOM_CALL_CANCELED: DCOM_CALL_STATE = DCOM_CALL_STATE(2i32);
2697 impl ::std::convert::From<i32> for DCOM_CALL_STATE {
from(value: i32) -> Self2698     fn from(value: i32) -> Self {
2699         Self(value)
2700     }
2701 }
2702 unsafe impl ::windows::runtime::Abi for DCOM_CALL_STATE {
2703     type Abi = Self;
2704     type DefaultType = Self;
2705 }
2706 pub const DMUS_ERRBASE: u32 = 4096u32;
2707 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2708 #[repr(transparent)]
2709 pub struct DVASPECT(pub i32);
2710 pub const DVASPECT_CONTENT: DVASPECT = DVASPECT(1i32);
2711 pub const DVASPECT_THUMBNAIL: DVASPECT = DVASPECT(2i32);
2712 pub const DVASPECT_ICON: DVASPECT = DVASPECT(4i32);
2713 pub const DVASPECT_DOCPRINT: DVASPECT = DVASPECT(8i32);
2714 impl ::std::convert::From<i32> for DVASPECT {
from(value: i32) -> Self2715     fn from(value: i32) -> Self {
2716         Self(value)
2717     }
2718 }
2719 unsafe impl ::windows::runtime::Abi for DVASPECT {
2720     type Abi = Self;
2721     type DefaultType = Self;
2722 }
2723 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2724 #[repr(C)]
2725 pub struct DVTARGETDEVICE {
2726     pub tdSize: u32,
2727     pub tdDriverNameOffset: u16,
2728     pub tdDeviceNameOffset: u16,
2729     pub tdPortNameOffset: u16,
2730     pub tdExtDevmodeOffset: u16,
2731     pub tdData: [u8; 1],
2732 }
2733 impl DVTARGETDEVICE {}
2734 impl ::std::default::Default for DVTARGETDEVICE {
default() -> Self2735     fn default() -> Self {
2736         unsafe { ::std::mem::zeroed() }
2737     }
2738 }
2739 impl ::std::fmt::Debug for DVTARGETDEVICE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2740     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2741         fmt.debug_struct("DVTARGETDEVICE")
2742             .field("tdSize", &self.tdSize)
2743             .field("tdDriverNameOffset", &self.tdDriverNameOffset)
2744             .field("tdDeviceNameOffset", &self.tdDeviceNameOffset)
2745             .field("tdPortNameOffset", &self.tdPortNameOffset)
2746             .field("tdExtDevmodeOffset", &self.tdExtDevmodeOffset)
2747             .field("tdData", &self.tdData)
2748             .finish()
2749     }
2750 }
2751 impl ::std::cmp::PartialEq for DVTARGETDEVICE {
eq(&self, other: &Self) -> bool2752     fn eq(&self, other: &Self) -> bool {
2753         self.tdSize == other.tdSize && self.tdDriverNameOffset == other.tdDriverNameOffset && self.tdDeviceNameOffset == other.tdDeviceNameOffset && self.tdPortNameOffset == other.tdPortNameOffset && self.tdExtDevmodeOffset == other.tdExtDevmodeOffset && self.tdData == other.tdData
2754     }
2755 }
2756 impl ::std::cmp::Eq for DVTARGETDEVICE {}
2757 unsafe impl ::windows::runtime::Abi for DVTARGETDEVICE {
2758     type Abi = Self;
2759     type DefaultType = Self;
2760 }
2761 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2762 #[repr(C)]
2763 pub struct DWORD_BLOB {
2764     pub clSize: u32,
2765     pub alData: [u32; 1],
2766 }
2767 impl DWORD_BLOB {}
2768 impl ::std::default::Default for DWORD_BLOB {
default() -> Self2769     fn default() -> Self {
2770         unsafe { ::std::mem::zeroed() }
2771     }
2772 }
2773 impl ::std::fmt::Debug for DWORD_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2774     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2775         fmt.debug_struct("DWORD_BLOB").field("clSize", &self.clSize).field("alData", &self.alData).finish()
2776     }
2777 }
2778 impl ::std::cmp::PartialEq for DWORD_BLOB {
eq(&self, other: &Self) -> bool2779     fn eq(&self, other: &Self) -> bool {
2780         self.clSize == other.clSize && self.alData == other.alData
2781     }
2782 }
2783 impl ::std::cmp::Eq for DWORD_BLOB {}
2784 unsafe impl ::windows::runtime::Abi for DWORD_BLOB {
2785     type Abi = Self;
2786     type DefaultType = Self;
2787 }
2788 #[inline]
DcomChannelSetHResult(pvreserved: *const ::std::ffi::c_void, pulreserved: *const u32, appshr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>2789 pub unsafe fn DcomChannelSetHResult(pvreserved: *const ::std::ffi::c_void, pulreserved: *const u32, appshr: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
2790     #[cfg(windows)]
2791     {
2792         #[link(name = "windows")]
2793         extern "system" {
2794             fn DcomChannelSetHResult(pvreserved: *const ::std::ffi::c_void, pulreserved: *const u32, appshr: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT;
2795         }
2796         DcomChannelSetHResult(::std::mem::transmute(pvreserved), ::std::mem::transmute(pulreserved), ::std::mem::transmute(appshr)).ok()
2797     }
2798     #[cfg(not(windows))]
2799     unimplemented!("Unsupported target OS");
2800 }
2801 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2802 #[repr(transparent)]
2803 pub struct EOLE_AUTHENTICATION_CAPABILITIES(pub i32);
2804 pub const EOAC_NONE: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(0i32);
2805 pub const EOAC_MUTUAL_AUTH: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(1i32);
2806 pub const EOAC_STATIC_CLOAKING: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(32i32);
2807 pub const EOAC_DYNAMIC_CLOAKING: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(64i32);
2808 pub const EOAC_ANY_AUTHORITY: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(128i32);
2809 pub const EOAC_MAKE_FULLSIC: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(256i32);
2810 pub const EOAC_DEFAULT: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(2048i32);
2811 pub const EOAC_SECURE_REFS: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(2i32);
2812 pub const EOAC_ACCESS_CONTROL: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(4i32);
2813 pub const EOAC_APPID: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(8i32);
2814 pub const EOAC_DYNAMIC: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(16i32);
2815 pub const EOAC_REQUIRE_FULLSIC: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(512i32);
2816 pub const EOAC_AUTO_IMPERSONATE: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(1024i32);
2817 pub const EOAC_DISABLE_AAA: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(4096i32);
2818 pub const EOAC_NO_CUSTOM_MARSHAL: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(8192i32);
2819 pub const EOAC_RESERVED1: EOLE_AUTHENTICATION_CAPABILITIES = EOLE_AUTHENTICATION_CAPABILITIES(16384i32);
2820 impl ::std::convert::From<i32> for EOLE_AUTHENTICATION_CAPABILITIES {
from(value: i32) -> Self2821     fn from(value: i32) -> Self {
2822         Self(value)
2823     }
2824 }
2825 unsafe impl ::windows::runtime::Abi for EOLE_AUTHENTICATION_CAPABILITIES {
2826     type Abi = Self;
2827     type DefaultType = Self;
2828 }
2829 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2830 #[repr(transparent)]
2831 pub struct EXTCONN(pub i32);
2832 pub const EXTCONN_STRONG: EXTCONN = EXTCONN(1i32);
2833 pub const EXTCONN_WEAK: EXTCONN = EXTCONN(2i32);
2834 pub const EXTCONN_CALLABLE: EXTCONN = EXTCONN(4i32);
2835 impl ::std::convert::From<i32> for EXTCONN {
from(value: i32) -> Self2836     fn from(value: i32) -> Self {
2837         Self(value)
2838     }
2839 }
2840 unsafe impl ::windows::runtime::Abi for EXTCONN {
2841     type Abi = Self;
2842     type DefaultType = Self;
2843 }
2844 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2845 #[repr(C)]
2846 pub struct FLAGGED_BYTE_BLOB {
2847     pub fFlags: u32,
2848     pub clSize: u32,
2849     pub abData: [u8; 1],
2850 }
2851 impl FLAGGED_BYTE_BLOB {}
2852 impl ::std::default::Default for FLAGGED_BYTE_BLOB {
default() -> Self2853     fn default() -> Self {
2854         unsafe { ::std::mem::zeroed() }
2855     }
2856 }
2857 impl ::std::fmt::Debug for FLAGGED_BYTE_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2858     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2859         fmt.debug_struct("FLAGGED_BYTE_BLOB").field("fFlags", &self.fFlags).field("clSize", &self.clSize).field("abData", &self.abData).finish()
2860     }
2861 }
2862 impl ::std::cmp::PartialEq for FLAGGED_BYTE_BLOB {
eq(&self, other: &Self) -> bool2863     fn eq(&self, other: &Self) -> bool {
2864         self.fFlags == other.fFlags && self.clSize == other.clSize && self.abData == other.abData
2865     }
2866 }
2867 impl ::std::cmp::Eq for FLAGGED_BYTE_BLOB {}
2868 unsafe impl ::windows::runtime::Abi for FLAGGED_BYTE_BLOB {
2869     type Abi = Self;
2870     type DefaultType = Self;
2871 }
2872 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2873 #[repr(C)]
2874 pub struct FLAGGED_WORD_BLOB {
2875     pub fFlags: u32,
2876     pub clSize: u32,
2877     pub asData: [u16; 1],
2878 }
2879 impl FLAGGED_WORD_BLOB {}
2880 impl ::std::default::Default for FLAGGED_WORD_BLOB {
default() -> Self2881     fn default() -> Self {
2882         unsafe { ::std::mem::zeroed() }
2883     }
2884 }
2885 impl ::std::fmt::Debug for FLAGGED_WORD_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2886     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2887         fmt.debug_struct("FLAGGED_WORD_BLOB").field("fFlags", &self.fFlags).field("clSize", &self.clSize).field("asData", &self.asData).finish()
2888     }
2889 }
2890 impl ::std::cmp::PartialEq for FLAGGED_WORD_BLOB {
eq(&self, other: &Self) -> bool2891     fn eq(&self, other: &Self) -> bool {
2892         self.fFlags == other.fFlags && self.clSize == other.clSize && self.asData == other.asData
2893     }
2894 }
2895 impl ::std::cmp::Eq for FLAGGED_WORD_BLOB {}
2896 unsafe impl ::windows::runtime::Abi for FLAGGED_WORD_BLOB {
2897     type Abi = Self;
2898     type DefaultType = Self;
2899 }
2900 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2901 impl ::std::clone::Clone for FLAG_STGMEDIUM {
clone(&self) -> Self2902     fn clone(&self) -> Self {
2903         unimplemented!()
2904     }
2905 }
2906 #[repr(C)]
2907 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2908 pub struct FLAG_STGMEDIUM {
2909     pub ContextFlags: i32,
2910     pub fPassOwnership: i32,
2911     pub Stgmed: STGMEDIUM,
2912 }
2913 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2914 impl FLAG_STGMEDIUM {}
2915 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2916 impl ::std::default::Default for FLAG_STGMEDIUM {
default() -> Self2917     fn default() -> Self {
2918         unsafe { ::std::mem::zeroed() }
2919     }
2920 }
2921 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2922 impl ::std::cmp::PartialEq for FLAG_STGMEDIUM {
eq(&self, _other: &Self) -> bool2923     fn eq(&self, _other: &Self) -> bool {
2924         unimplemented!()
2925     }
2926 }
2927 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2928 impl ::std::cmp::Eq for FLAG_STGMEDIUM {}
2929 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
2930 unsafe impl ::windows::runtime::Abi for FLAG_STGMEDIUM {
2931     type Abi = ::std::mem::ManuallyDrop<Self>;
2932     type DefaultType = Self;
2933 }
2934 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2935 #[repr(C)]
2936 pub struct FORMATETC {
2937     pub cfFormat: u16,
2938     pub ptd: *mut DVTARGETDEVICE,
2939     pub dwAspect: u32,
2940     pub lindex: i32,
2941     pub tymed: u32,
2942 }
2943 impl FORMATETC {}
2944 impl ::std::default::Default for FORMATETC {
default() -> Self2945     fn default() -> Self {
2946         unsafe { ::std::mem::zeroed() }
2947     }
2948 }
2949 impl ::std::fmt::Debug for FORMATETC {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2950     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2951         fmt.debug_struct("FORMATETC").field("cfFormat", &self.cfFormat).field("ptd", &self.ptd).field("dwAspect", &self.dwAspect).field("lindex", &self.lindex).field("tymed", &self.tymed).finish()
2952     }
2953 }
2954 impl ::std::cmp::PartialEq for FORMATETC {
eq(&self, other: &Self) -> bool2955     fn eq(&self, other: &Self) -> bool {
2956         self.cfFormat == other.cfFormat && self.ptd == other.ptd && self.dwAspect == other.dwAspect && self.lindex == other.lindex && self.tymed == other.tymed
2957     }
2958 }
2959 impl ::std::cmp::Eq for FORMATETC {}
2960 unsafe impl ::windows::runtime::Abi for FORMATETC {
2961     type Abi = Self;
2962     type DefaultType = Self;
2963 }
2964 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2965 #[repr(C)]
2966 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2967 pub struct GDI_OBJECT {
2968     pub ObjectType: u32,
2969     pub u: GDI_OBJECT_0,
2970 }
2971 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2972 impl GDI_OBJECT {}
2973 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2974 impl ::std::default::Default for GDI_OBJECT {
default() -> Self2975     fn default() -> Self {
2976         unsafe { ::std::mem::zeroed() }
2977     }
2978 }
2979 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2980 impl ::std::cmp::PartialEq for GDI_OBJECT {
eq(&self, _other: &Self) -> bool2981     fn eq(&self, _other: &Self) -> bool {
2982         unimplemented!()
2983     }
2984 }
2985 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2986 impl ::std::cmp::Eq for GDI_OBJECT {}
2987 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2988 unsafe impl ::windows::runtime::Abi for GDI_OBJECT {
2989     type Abi = Self;
2990     type DefaultType = Self;
2991 }
2992 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2993 #[repr(C)]
2994 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
2995 pub union GDI_OBJECT_0 {
2996     pub hBitmap: *mut super::SystemServices::userHBITMAP,
2997     pub hPalette: *mut super::SystemServices::userHPALETTE,
2998     pub hGeneric: *mut super::SystemServices::userHGLOBAL,
2999 }
3000 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
3001 impl GDI_OBJECT_0 {}
3002 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
3003 impl ::std::default::Default for GDI_OBJECT_0 {
default() -> Self3004     fn default() -> Self {
3005         unsafe { ::std::mem::zeroed() }
3006     }
3007 }
3008 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
3009 impl ::std::cmp::PartialEq for GDI_OBJECT_0 {
eq(&self, _other: &Self) -> bool3010     fn eq(&self, _other: &Self) -> bool {
3011         unimplemented!()
3012     }
3013 }
3014 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
3015 impl ::std::cmp::Eq for GDI_OBJECT_0 {}
3016 #[cfg(all(feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
3017 unsafe impl ::windows::runtime::Abi for GDI_OBJECT_0 {
3018     type Abi = Self;
3019     type DefaultType = Self;
3020 }
3021 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3022 #[repr(transparent)]
3023 pub struct GLOBALOPT_EH_VALUES(pub i32);
3024 pub const COMGLB_EXCEPTION_HANDLE: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(0i32);
3025 pub const COMGLB_EXCEPTION_DONOT_HANDLE_FATAL: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(1i32);
3026 pub const COMGLB_EXCEPTION_DONOT_HANDLE: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(1i32);
3027 pub const COMGLB_EXCEPTION_DONOT_HANDLE_ANY: GLOBALOPT_EH_VALUES = GLOBALOPT_EH_VALUES(2i32);
3028 impl ::std::convert::From<i32> for GLOBALOPT_EH_VALUES {
from(value: i32) -> Self3029     fn from(value: i32) -> Self {
3030         Self(value)
3031     }
3032 }
3033 unsafe impl ::windows::runtime::Abi for GLOBALOPT_EH_VALUES {
3034     type Abi = Self;
3035     type DefaultType = Self;
3036 }
3037 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3038 #[repr(transparent)]
3039 pub struct GLOBALOPT_PROPERTIES(pub i32);
3040 pub const COMGLB_EXCEPTION_HANDLING: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(1i32);
3041 pub const COMGLB_APPID: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(2i32);
3042 pub const COMGLB_RPC_THREADPOOL_SETTING: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(3i32);
3043 pub const COMGLB_RO_SETTINGS: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(4i32);
3044 pub const COMGLB_UNMARSHALING_POLICY: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(5i32);
3045 pub const COMGLB_PROPERTIES_RESERVED1: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(6i32);
3046 pub const COMGLB_PROPERTIES_RESERVED2: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(7i32);
3047 pub const COMGLB_PROPERTIES_RESERVED3: GLOBALOPT_PROPERTIES = GLOBALOPT_PROPERTIES(8i32);
3048 impl ::std::convert::From<i32> for GLOBALOPT_PROPERTIES {
from(value: i32) -> Self3049     fn from(value: i32) -> Self {
3050         Self(value)
3051     }
3052 }
3053 unsafe impl ::windows::runtime::Abi for GLOBALOPT_PROPERTIES {
3054     type Abi = Self;
3055     type DefaultType = Self;
3056 }
3057 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3058 #[repr(transparent)]
3059 pub struct GLOBALOPT_RO_FLAGS(pub i32);
3060 pub const COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(1i32);
3061 pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(2i32);
3062 pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(4i32);
3063 pub const COMGLB_FAST_RUNDOWN: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(8i32);
3064 pub const COMGLB_RESERVED1: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(16i32);
3065 pub const COMGLB_RESERVED2: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(32i32);
3066 pub const COMGLB_RESERVED3: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(64i32);
3067 pub const COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(128i32);
3068 pub const COMGLB_RESERVED4: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(256i32);
3069 pub const COMGLB_RESERVED5: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(512i32);
3070 pub const COMGLB_RESERVED6: GLOBALOPT_RO_FLAGS = GLOBALOPT_RO_FLAGS(1024i32);
3071 impl ::std::convert::From<i32> for GLOBALOPT_RO_FLAGS {
from(value: i32) -> Self3072     fn from(value: i32) -> Self {
3073         Self(value)
3074     }
3075 }
3076 unsafe impl ::windows::runtime::Abi for GLOBALOPT_RO_FLAGS {
3077     type Abi = Self;
3078     type DefaultType = Self;
3079 }
3080 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3081 #[repr(transparent)]
3082 pub struct GLOBALOPT_RPCTP_VALUES(pub i32);
3083 pub const COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL: GLOBALOPT_RPCTP_VALUES = GLOBALOPT_RPCTP_VALUES(0i32);
3084 pub const COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL: GLOBALOPT_RPCTP_VALUES = GLOBALOPT_RPCTP_VALUES(1i32);
3085 impl ::std::convert::From<i32> for GLOBALOPT_RPCTP_VALUES {
from(value: i32) -> Self3086     fn from(value: i32) -> Self {
3087         Self(value)
3088     }
3089 }
3090 unsafe impl ::windows::runtime::Abi for GLOBALOPT_RPCTP_VALUES {
3091     type Abi = Self;
3092     type DefaultType = Self;
3093 }
3094 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3095 #[repr(transparent)]
3096 pub struct GLOBALOPT_UNMARSHALING_POLICY_VALUES(pub i32);
3097 pub const COMGLB_UNMARSHALING_POLICY_NORMAL: GLOBALOPT_UNMARSHALING_POLICY_VALUES = GLOBALOPT_UNMARSHALING_POLICY_VALUES(0i32);
3098 pub const COMGLB_UNMARSHALING_POLICY_STRONG: GLOBALOPT_UNMARSHALING_POLICY_VALUES = GLOBALOPT_UNMARSHALING_POLICY_VALUES(1i32);
3099 pub const COMGLB_UNMARSHALING_POLICY_HYBRID: GLOBALOPT_UNMARSHALING_POLICY_VALUES = GLOBALOPT_UNMARSHALING_POLICY_VALUES(2i32);
3100 impl ::std::convert::From<i32> for GLOBALOPT_UNMARSHALING_POLICY_VALUES {
from(value: i32) -> Self3101     fn from(value: i32) -> Self {
3102         Self(value)
3103     }
3104 }
3105 unsafe impl ::windows::runtime::Abi for GLOBALOPT_UNMARSHALING_POLICY_VALUES {
3106     type Abi = Self;
3107     type DefaultType = Self;
3108 }
3109 #[cfg(feature = "Win32_Foundation")]
3110 #[inline]
GetClassFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(szfilename: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID>3111 pub unsafe fn GetClassFile<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(szfilename: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3112     #[cfg(windows)]
3113     {
3114         #[link(name = "windows")]
3115         extern "system" {
3116             fn GetClassFile(szfilename: super::super::Foundation::PWSTR, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
3117         }
3118         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3119         GetClassFile(szfilename.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3120     }
3121     #[cfg(not(windows))]
3122     unimplemented!("Unsupported target OS");
3123 }
3124 #[inline]
GetRunningObjectTable(reserved: u32) -> ::windows::runtime::Result<IRunningObjectTable>3125 pub unsafe fn GetRunningObjectTable(reserved: u32) -> ::windows::runtime::Result<IRunningObjectTable> {
3126     #[cfg(windows)]
3127     {
3128         #[link(name = "windows")]
3129         extern "system" {
3130             fn GetRunningObjectTable(reserved: u32, pprot: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
3131         }
3132         let mut result__: <IRunningObjectTable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3133         GetRunningObjectTable(::std::mem::transmute(reserved), &mut result__).from_abi::<IRunningObjectTable>(result__)
3134     }
3135     #[cfg(not(windows))]
3136     unimplemented!("Unsupported target OS");
3137 }
3138 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3139 #[repr(C)]
3140 pub struct HYPER_SIZEDARR {
3141     pub clSize: u32,
3142     pub pData: *mut i64,
3143 }
3144 impl HYPER_SIZEDARR {}
3145 impl ::std::default::Default for HYPER_SIZEDARR {
default() -> Self3146     fn default() -> Self {
3147         unsafe { ::std::mem::zeroed() }
3148     }
3149 }
3150 impl ::std::fmt::Debug for HYPER_SIZEDARR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3151     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3152         fmt.debug_struct("HYPER_SIZEDARR").field("clSize", &self.clSize).field("pData", &self.pData).finish()
3153     }
3154 }
3155 impl ::std::cmp::PartialEq for HYPER_SIZEDARR {
eq(&self, other: &Self) -> bool3156     fn eq(&self, other: &Self) -> bool {
3157         self.clSize == other.clSize && self.pData == other.pData
3158     }
3159 }
3160 impl ::std::cmp::Eq for HYPER_SIZEDARR {}
3161 unsafe impl ::windows::runtime::Abi for HYPER_SIZEDARR {
3162     type Abi = Self;
3163     type DefaultType = Self;
3164 }
3165 #[repr(transparent)]
3166 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3167 pub struct IActivationFilter(::windows::runtime::IUnknown);
3168 impl IActivationFilter {
HandleActivation(&self, dwactivationtype: u32, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::GUID>3169     pub unsafe fn HandleActivation(&self, dwactivationtype: u32, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3170         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3171         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwactivationtype), ::std::mem::transmute(rclsid), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3172     }
3173 }
3174 unsafe impl ::windows::runtime::Interface for IActivationFilter {
3175     type Vtable = IActivationFilter_abi;
3176     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(23, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3177 }
3178 impl ::std::convert::From<IActivationFilter> for ::windows::runtime::IUnknown {
from(value: IActivationFilter) -> Self3179     fn from(value: IActivationFilter) -> Self {
3180         unsafe { ::std::mem::transmute(value) }
3181     }
3182 }
3183 impl ::std::convert::From<&IActivationFilter> for ::windows::runtime::IUnknown {
from(value: &IActivationFilter) -> Self3184     fn from(value: &IActivationFilter) -> Self {
3185         ::std::convert::From::from(::std::clone::Clone::clone(value))
3186     }
3187 }
3188 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IActivationFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3189     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3190         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3191     }
3192 }
3193 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IActivationFilter {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3194     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3195         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3196     }
3197 }
3198 #[repr(C)]
3199 #[doc(hidden)]
3200 pub struct IActivationFilter_abi(
3201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwactivationtype: u32, rclsid: *const ::windows::runtime::GUID, preplacementclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3205 );
3206 #[repr(transparent)]
3207 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3208 pub struct IAddrExclusionControl(::windows::runtime::IUnknown);
3209 impl IAddrExclusionControl {
GetCurrentAddrExclusionList(&self, riid: *const ::windows::runtime::GUID, ppenumerator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3210     pub unsafe fn GetCurrentAddrExclusionList(&self, riid: *const ::windows::runtime::GUID, ppenumerator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3211         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppenumerator)).ok()
3212     }
UpdateAddrExclusionList<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, penumerator: Param0) -> ::windows::runtime::Result<()>3213     pub unsafe fn UpdateAddrExclusionList<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, penumerator: Param0) -> ::windows::runtime::Result<()> {
3214         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), penumerator.into_param().abi()).ok()
3215     }
3216 }
3217 unsafe impl ::windows::runtime::Interface for IAddrExclusionControl {
3218     type Vtable = IAddrExclusionControl_abi;
3219     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(328, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3220 }
3221 impl ::std::convert::From<IAddrExclusionControl> for ::windows::runtime::IUnknown {
from(value: IAddrExclusionControl) -> Self3222     fn from(value: IAddrExclusionControl) -> Self {
3223         unsafe { ::std::mem::transmute(value) }
3224     }
3225 }
3226 impl ::std::convert::From<&IAddrExclusionControl> for ::windows::runtime::IUnknown {
from(value: &IAddrExclusionControl) -> Self3227     fn from(value: &IAddrExclusionControl) -> Self {
3228         ::std::convert::From::from(::std::clone::Clone::clone(value))
3229     }
3230 }
3231 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAddrExclusionControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3232     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3233         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3234     }
3235 }
3236 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAddrExclusionControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3237     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3238         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3239     }
3240 }
3241 #[repr(C)]
3242 #[doc(hidden)]
3243 pub struct IAddrExclusionControl_abi(
3244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppenumerator: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, penumerator: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3249 );
3250 #[repr(transparent)]
3251 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3252 pub struct IAddrTrackingControl(::windows::runtime::IUnknown);
3253 impl IAddrTrackingControl {
EnableCOMDynamicAddrTracking(&self) -> ::windows::runtime::Result<()>3254     pub unsafe fn EnableCOMDynamicAddrTracking(&self) -> ::windows::runtime::Result<()> {
3255         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
3256     }
DisableCOMDynamicAddrTracking(&self) -> ::windows::runtime::Result<()>3257     pub unsafe fn DisableCOMDynamicAddrTracking(&self) -> ::windows::runtime::Result<()> {
3258         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3259     }
3260 }
3261 unsafe impl ::windows::runtime::Interface for IAddrTrackingControl {
3262     type Vtable = IAddrTrackingControl_abi;
3263     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(327, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3264 }
3265 impl ::std::convert::From<IAddrTrackingControl> for ::windows::runtime::IUnknown {
from(value: IAddrTrackingControl) -> Self3266     fn from(value: IAddrTrackingControl) -> Self {
3267         unsafe { ::std::mem::transmute(value) }
3268     }
3269 }
3270 impl ::std::convert::From<&IAddrTrackingControl> for ::windows::runtime::IUnknown {
from(value: &IAddrTrackingControl) -> Self3271     fn from(value: &IAddrTrackingControl) -> Self {
3272         ::std::convert::From::from(::std::clone::Clone::clone(value))
3273     }
3274 }
3275 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAddrTrackingControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3276     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3277         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3278     }
3279 }
3280 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAddrTrackingControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3281     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3282         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3283     }
3284 }
3285 #[repr(C)]
3286 #[doc(hidden)]
3287 pub struct IAddrTrackingControl_abi(
3288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3293 );
3294 #[repr(transparent)]
3295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3296 pub struct IAdviseSink(::windows::runtime::IUnknown);
3297 impl IAdviseSink {
3298     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM)3299     pub unsafe fn OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
3300         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pstgmed)))
3301     }
OnViewChange(&self, dwaspect: u32, lindex: i32)3302     pub unsafe fn OnViewChange(&self, dwaspect: u32, lindex: i32) {
3303         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwaspect), ::std::mem::transmute(lindex)))
3304     }
OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0)3305     pub unsafe fn OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0) {
3306         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pmk.into_param().abi()))
3307     }
OnSave(&self)3308     pub unsafe fn OnSave(&self) {
3309         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
3310     }
OnClose(&self)3311     pub unsafe fn OnClose(&self) {
3312         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
3313     }
3314 }
3315 unsafe impl ::windows::runtime::Interface for IAdviseSink {
3316     type Vtable = IAdviseSink_abi;
3317     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(271, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3318 }
3319 impl ::std::convert::From<IAdviseSink> for ::windows::runtime::IUnknown {
from(value: IAdviseSink) -> Self3320     fn from(value: IAdviseSink) -> Self {
3321         unsafe { ::std::mem::transmute(value) }
3322     }
3323 }
3324 impl ::std::convert::From<&IAdviseSink> for ::windows::runtime::IUnknown {
from(value: &IAdviseSink) -> Self3325     fn from(value: &IAdviseSink) -> Self {
3326         ::std::convert::From::from(::std::clone::Clone::clone(value))
3327     }
3328 }
3329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAdviseSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3331         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3332     }
3333 }
3334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAdviseSink {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3336         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3337     }
3338 }
3339 #[repr(C)]
3340 #[doc(hidden)]
3341 pub struct IAdviseSink_abi(
3342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3345     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, pstgmed: *const ::std::mem::ManuallyDrop<STGMEDIUM>),
3346     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
3347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwaspect: u32, lindex: i32),
3348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr),
3349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
3350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
3351 );
3352 #[repr(transparent)]
3353 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3354 pub struct IAdviseSink2(::windows::runtime::IUnknown);
3355 impl IAdviseSink2 {
3356     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM)3357     pub unsafe fn OnDataChange(&self, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) {
3358         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pstgmed)))
3359     }
OnViewChange(&self, dwaspect: u32, lindex: i32)3360     pub unsafe fn OnViewChange(&self, dwaspect: u32, lindex: i32) {
3361         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwaspect), ::std::mem::transmute(lindex)))
3362     }
OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0)3363     pub unsafe fn OnRename<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0) {
3364         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pmk.into_param().abi()))
3365     }
OnSave(&self)3366     pub unsafe fn OnSave(&self) {
3367         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
3368     }
OnClose(&self)3369     pub unsafe fn OnClose(&self) {
3370         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
3371     }
OnLinkSrcChange<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0)3372     pub unsafe fn OnLinkSrcChange<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmk: Param0) {
3373         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pmk.into_param().abi()))
3374     }
3375 }
3376 unsafe impl ::windows::runtime::Interface for IAdviseSink2 {
3377     type Vtable = IAdviseSink2_abi;
3378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(293, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3379 }
3380 impl ::std::convert::From<IAdviseSink2> for ::windows::runtime::IUnknown {
from(value: IAdviseSink2) -> Self3381     fn from(value: IAdviseSink2) -> Self {
3382         unsafe { ::std::mem::transmute(value) }
3383     }
3384 }
3385 impl ::std::convert::From<&IAdviseSink2> for ::windows::runtime::IUnknown {
from(value: &IAdviseSink2) -> Self3386     fn from(value: &IAdviseSink2) -> Self {
3387         ::std::convert::From::from(::std::clone::Clone::clone(value))
3388     }
3389 }
3390 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3391     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3392         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3393     }
3394 }
3395 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3396     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3397         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3398     }
3399 }
3400 impl ::std::convert::From<IAdviseSink2> for IAdviseSink {
from(value: IAdviseSink2) -> Self3401     fn from(value: IAdviseSink2) -> Self {
3402         unsafe { ::std::mem::transmute(value) }
3403     }
3404 }
3405 impl ::std::convert::From<&IAdviseSink2> for IAdviseSink {
from(value: &IAdviseSink2) -> Self3406     fn from(value: &IAdviseSink2) -> Self {
3407         ::std::convert::From::from(::std::clone::Clone::clone(value))
3408     }
3409 }
3410 impl<'a> ::windows::runtime::IntoParam<'a, IAdviseSink> for IAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, IAdviseSink>3411     fn into_param(self) -> ::windows::runtime::Param<'a, IAdviseSink> {
3412         ::windows::runtime::Param::Owned(::std::convert::Into::<IAdviseSink>::into(self))
3413     }
3414 }
3415 impl<'a> ::windows::runtime::IntoParam<'a, IAdviseSink> for &IAdviseSink2 {
into_param(self) -> ::windows::runtime::Param<'a, IAdviseSink>3416     fn into_param(self) -> ::windows::runtime::Param<'a, IAdviseSink> {
3417         ::windows::runtime::Param::Owned(::std::convert::Into::<IAdviseSink>::into(::std::clone::Clone::clone(self)))
3418     }
3419 }
3420 #[repr(C)]
3421 #[doc(hidden)]
3422 pub struct IAdviseSink2_abi(
3423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3426     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, pstgmed: *const ::std::mem::ManuallyDrop<STGMEDIUM>),
3427     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
3428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwaspect: u32, lindex: i32),
3429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr),
3430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
3431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
3432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr),
3433 );
3434 #[repr(transparent)]
3435 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3436 pub struct IAgileObject(::windows::runtime::IUnknown);
3437 impl IAgileObject {}
3438 unsafe impl ::windows::runtime::Interface for IAgileObject {
3439     type Vtable = IAgileObject_abi;
3440     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2498374548, 59852, 18912, [192, 255, 238, 100, 202, 143, 91, 144]);
3441 }
3442 impl ::std::convert::From<IAgileObject> for ::windows::runtime::IUnknown {
from(value: IAgileObject) -> Self3443     fn from(value: IAgileObject) -> Self {
3444         unsafe { ::std::mem::transmute(value) }
3445     }
3446 }
3447 impl ::std::convert::From<&IAgileObject> for ::windows::runtime::IUnknown {
from(value: &IAgileObject) -> Self3448     fn from(value: &IAgileObject) -> Self {
3449         ::std::convert::From::from(::std::clone::Clone::clone(value))
3450     }
3451 }
3452 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAgileObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3453     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3454         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3455     }
3456 }
3457 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAgileObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3458     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3459         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3460     }
3461 }
3462 #[repr(C)]
3463 #[doc(hidden)]
3464 pub struct IAgileObject_abi(
3465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3468 );
3469 #[repr(transparent)]
3470 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3471 pub struct IAsyncManager(::windows::runtime::IUnknown);
3472 impl IAsyncManager {
CompleteCall(&self, result: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()>3473     pub unsafe fn CompleteCall(&self, result: ::windows::runtime::HRESULT) -> ::windows::runtime::Result<()> {
3474         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(result)).ok()
3475     }
GetCallContext(&self, riid: *const ::windows::runtime::GUID, pinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3476     pub unsafe fn GetCallContext(&self, riid: *const ::windows::runtime::GUID, pinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3477         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(pinterface)).ok()
3478     }
GetState(&self) -> ::windows::runtime::Result<u32>3479     pub unsafe fn GetState(&self) -> ::windows::runtime::Result<u32> {
3480         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3481         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3482     }
3483 }
3484 unsafe impl ::windows::runtime::Interface for IAsyncManager {
3485     type Vtable = IAsyncManager_abi;
3486     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(42, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3487 }
3488 impl ::std::convert::From<IAsyncManager> for ::windows::runtime::IUnknown {
from(value: IAsyncManager) -> Self3489     fn from(value: IAsyncManager) -> Self {
3490         unsafe { ::std::mem::transmute(value) }
3491     }
3492 }
3493 impl ::std::convert::From<&IAsyncManager> for ::windows::runtime::IUnknown {
from(value: &IAsyncManager) -> Self3494     fn from(value: &IAsyncManager) -> Self {
3495         ::std::convert::From::from(::std::clone::Clone::clone(value))
3496     }
3497 }
3498 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAsyncManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3499     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3500         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3501     }
3502 }
3503 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAsyncManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3504     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3505         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3506     }
3507 }
3508 #[repr(C)]
3509 #[doc(hidden)]
3510 pub struct IAsyncManager_abi(
3511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result: ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
3515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, pinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pulstateflags: *mut u32) -> ::windows::runtime::HRESULT,
3517 );
3518 #[repr(transparent)]
3519 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3520 pub struct IAsyncRpcChannelBuffer(::windows::runtime::IUnknown);
3521 impl IAsyncRpcChannelBuffer {
GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>3522     pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
3523         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(riid)).ok()
3524     }
SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()>3525     pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()> {
3526         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(pstatus)).ok()
3527     }
FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()>3528     pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()> {
3529         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage)).ok()
3530     }
GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3531     pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3532         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwdestcontext), ::std::mem::transmute(ppvdestcontext)).ok()
3533     }
IsConnected(&self) -> ::windows::runtime::Result<()>3534     pub unsafe fn IsConnected(&self) -> ::windows::runtime::Result<()> {
3535         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
3536     }
GetProtocolVersion(&self) -> ::windows::runtime::Result<u32>3537     pub unsafe fn GetProtocolVersion(&self) -> ::windows::runtime::Result<u32> {
3538         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3539         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
3540     }
Send<'a, Param1: ::windows::runtime::IntoParam<'a, ISynchronize>>(&self, pmsg: *mut RPCOLEMESSAGE, psync: Param1, pulstatus: *mut u32) -> ::windows::runtime::Result<()>3541     pub unsafe fn Send<'a, Param1: ::windows::runtime::IntoParam<'a, ISynchronize>>(&self, pmsg: *mut RPCOLEMESSAGE, psync: Param1, pulstatus: *mut u32) -> ::windows::runtime::Result<()> {
3542         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), psync.into_param().abi(), ::std::mem::transmute(pulstatus)).ok()
3543     }
Receive(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows::runtime::Result<()>3544     pub unsafe fn Receive(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows::runtime::Result<()> {
3545         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(pulstatus)).ok()
3546     }
GetDestCtxEx(&self, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3547     pub unsafe fn GetDestCtxEx(&self, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3548         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(pdwdestcontext), ::std::mem::transmute(ppvdestcontext)).ok()
3549     }
3550 }
3551 unsafe impl ::windows::runtime::Interface for IAsyncRpcChannelBuffer {
3552     type Vtable = IAsyncRpcChannelBuffer_abi;
3553     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2768412598, 15412, 4561, [156, 153, 0, 192, 79, 185, 152, 170]);
3554 }
3555 impl ::std::convert::From<IAsyncRpcChannelBuffer> for ::windows::runtime::IUnknown {
from(value: IAsyncRpcChannelBuffer) -> Self3556     fn from(value: IAsyncRpcChannelBuffer) -> Self {
3557         unsafe { ::std::mem::transmute(value) }
3558     }
3559 }
3560 impl ::std::convert::From<&IAsyncRpcChannelBuffer> for ::windows::runtime::IUnknown {
from(value: &IAsyncRpcChannelBuffer) -> Self3561     fn from(value: &IAsyncRpcChannelBuffer) -> Self {
3562         ::std::convert::From::from(::std::clone::Clone::clone(value))
3563     }
3564 }
3565 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IAsyncRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3566     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3567         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3568     }
3569 }
3570 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IAsyncRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3571     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3572         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3573     }
3574 }
3575 impl ::std::convert::From<IAsyncRpcChannelBuffer> for IRpcChannelBuffer2 {
from(value: IAsyncRpcChannelBuffer) -> Self3576     fn from(value: IAsyncRpcChannelBuffer) -> Self {
3577         unsafe { ::std::mem::transmute(value) }
3578     }
3579 }
3580 impl ::std::convert::From<&IAsyncRpcChannelBuffer> for IRpcChannelBuffer2 {
from(value: &IAsyncRpcChannelBuffer) -> Self3581     fn from(value: &IAsyncRpcChannelBuffer) -> Self {
3582         ::std::convert::From::from(::std::clone::Clone::clone(value))
3583     }
3584 }
3585 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer2> for IAsyncRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2>3586     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2> {
3587         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer2>::into(self))
3588     }
3589 }
3590 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer2> for &IAsyncRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2>3591     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2> {
3592         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer2>::into(::std::clone::Clone::clone(self)))
3593     }
3594 }
3595 impl ::std::convert::From<IAsyncRpcChannelBuffer> for IRpcChannelBuffer {
from(value: IAsyncRpcChannelBuffer) -> Self3596     fn from(value: IAsyncRpcChannelBuffer) -> Self {
3597         unsafe { ::std::mem::transmute(value) }
3598     }
3599 }
3600 impl ::std::convert::From<&IAsyncRpcChannelBuffer> for IRpcChannelBuffer {
from(value: &IAsyncRpcChannelBuffer) -> Self3601     fn from(value: &IAsyncRpcChannelBuffer) -> Self {
3602         ::std::convert::From::from(::std::clone::Clone::clone(value))
3603     }
3604 }
3605 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer> for IAsyncRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer>3606     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer> {
3607         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer>::into(self))
3608     }
3609 }
3610 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer> for &IAsyncRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer>3611     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer> {
3612         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer>::into(::std::clone::Clone::clone(self)))
3613     }
3614 }
3615 #[repr(C)]
3616 #[doc(hidden)]
3617 pub struct IAsyncRpcChannelBuffer_abi(
3618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
3623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::HRESULT,
3624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwversion: *mut u32) -> ::windows::runtime::HRESULT,
3627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE, psync: ::windows::runtime::RawPtr, pulstatus: *mut u32) -> ::windows::runtime::HRESULT,
3628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows::runtime::HRESULT,
3629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3630 );
3631 #[repr(transparent)]
3632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3633 pub struct IBindCtx(::windows::runtime::IUnknown);
3634 impl IBindCtx {
RegisterObjectBound<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punk: Param0) -> ::windows::runtime::Result<()>3635     pub unsafe fn RegisterObjectBound<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punk: Param0) -> ::windows::runtime::Result<()> {
3636         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punk.into_param().abi()).ok()
3637     }
RevokeObjectBound<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punk: Param0) -> ::windows::runtime::Result<()>3638     pub unsafe fn RevokeObjectBound<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punk: Param0) -> ::windows::runtime::Result<()> {
3639         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), punk.into_param().abi()).ok()
3640     }
ReleaseBoundObjects(&self) -> ::windows::runtime::Result<()>3641     pub unsafe fn ReleaseBoundObjects(&self) -> ::windows::runtime::Result<()> {
3642         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3643     }
SetBindOptions(&self, pbindopts: *const BIND_OPTS) -> ::windows::runtime::Result<()>3644     pub unsafe fn SetBindOptions(&self, pbindopts: *const BIND_OPTS) -> ::windows::runtime::Result<()> {
3645         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbindopts)).ok()
3646     }
GetBindOptions(&self, pbindopts: *mut BIND_OPTS) -> ::windows::runtime::Result<()>3647     pub unsafe fn GetBindOptions(&self, pbindopts: *mut BIND_OPTS) -> ::windows::runtime::Result<()> {
3648         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbindopts)).ok()
3649     }
GetRunningObjectTable(&self) -> ::windows::runtime::Result<IRunningObjectTable>3650     pub unsafe fn GetRunningObjectTable(&self) -> ::windows::runtime::Result<IRunningObjectTable> {
3651         let mut result__: <IRunningObjectTable as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3652         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IRunningObjectTable>(result__)
3653     }
3654     #[cfg(feature = "Win32_Foundation")]
RegisterObjectParam<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pszkey: Param0, punk: Param1) -> ::windows::runtime::Result<()>3655     pub unsafe fn RegisterObjectParam<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pszkey: Param0, punk: Param1) -> ::windows::runtime::Result<()> {
3656         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pszkey.into_param().abi(), punk.into_param().abi()).ok()
3657     }
3658     #[cfg(feature = "Win32_Foundation")]
GetObjectParam<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszkey: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>3659     pub unsafe fn GetObjectParam<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszkey: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
3660         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3661         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pszkey.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
3662     }
EnumObjectParam(&self) -> ::windows::runtime::Result<IEnumString>3663     pub unsafe fn EnumObjectParam(&self) -> ::windows::runtime::Result<IEnumString> {
3664         let mut result__: <IEnumString as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3665         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumString>(result__)
3666     }
3667     #[cfg(feature = "Win32_Foundation")]
RevokeObjectParam<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszkey: Param0) -> ::windows::runtime::Result<()>3668     pub unsafe fn RevokeObjectParam<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszkey: Param0) -> ::windows::runtime::Result<()> {
3669         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), pszkey.into_param().abi()).ok()
3670     }
3671 }
3672 unsafe impl ::windows::runtime::Interface for IBindCtx {
3673     type Vtable = IBindCtx_abi;
3674     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(14, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
3675 }
3676 impl ::std::convert::From<IBindCtx> for ::windows::runtime::IUnknown {
from(value: IBindCtx) -> Self3677     fn from(value: IBindCtx) -> Self {
3678         unsafe { ::std::mem::transmute(value) }
3679     }
3680 }
3681 impl ::std::convert::From<&IBindCtx> for ::windows::runtime::IUnknown {
from(value: &IBindCtx) -> Self3682     fn from(value: &IBindCtx) -> Self {
3683         ::std::convert::From::from(::std::clone::Clone::clone(value))
3684     }
3685 }
3686 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBindCtx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3687     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3688         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3689     }
3690 }
3691 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBindCtx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3692     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3693         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3694     }
3695 }
3696 #[repr(C)]
3697 #[doc(hidden)]
3698 pub struct IBindCtx_abi(
3699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbindopts: *const BIND_OPTS) -> ::windows::runtime::HRESULT,
3706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbindopts: *mut BIND_OPTS) -> ::windows::runtime::HRESULT,
3707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprot: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3708     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszkey: super::super::Foundation::PWSTR, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3709     #[cfg(not(feature = "Win32_Foundation"))] usize,
3710     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszkey: super::super::Foundation::PWSTR, ppunk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3711     #[cfg(not(feature = "Win32_Foundation"))] usize,
3712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3713     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszkey: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3714     #[cfg(not(feature = "Win32_Foundation"))] usize,
3715 );
3716 #[repr(transparent)]
3717 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3718 pub struct IBindHost(::windows::runtime::IUnknown);
3719 impl IBindHost {
3720     #[cfg(feature = "Win32_Foundation")]
CreateMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, IBindCtx>>(&self, szname: Param0, pbc: Param1, ppmk: *mut ::std::option::Option<IMoniker>, dwreserved: u32) -> ::windows::runtime::Result<()>3721     pub unsafe fn CreateMoniker<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, IBindCtx>>(&self, szname: Param0, pbc: Param1, ppmk: *mut ::std::option::Option<IMoniker>, dwreserved: u32) -> ::windows::runtime::Result<()> {
3722         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), szname.into_param().abi(), pbc.into_param().abi(), ::std::mem::transmute(ppmk), ::std::mem::transmute(dwreserved)).ok()
3723     }
MonikerBindToStorage<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IBindCtx>, Param2: ::windows::runtime::IntoParam<'a, IBindStatusCallback>>(&self, pmk: Param0, pbc: Param1, pbsc: Param2, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3724     pub unsafe fn MonikerBindToStorage<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IBindCtx>, Param2: ::windows::runtime::IntoParam<'a, IBindStatusCallback>>(&self, pmk: Param0, pbc: Param1, pbsc: Param2, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3725         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pmk.into_param().abi(), pbc.into_param().abi(), pbsc.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobj)).ok()
3726     }
MonikerBindToObject<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IBindCtx>, Param2: ::windows::runtime::IntoParam<'a, IBindStatusCallback>>(&self, pmk: Param0, pbc: Param1, pbsc: Param2, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>3727     pub unsafe fn MonikerBindToObject<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IBindCtx>, Param2: ::windows::runtime::IntoParam<'a, IBindStatusCallback>>(&self, pmk: Param0, pbc: Param1, pbsc: Param2, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
3728         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pmk.into_param().abi(), pbc.into_param().abi(), pbsc.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobj)).ok()
3729     }
3730 }
3731 unsafe impl ::windows::runtime::Interface for IBindHost {
3732     type Vtable = IBindHost_abi;
3733     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4232577441, 11177, 4559, [162, 41, 0, 170, 0, 61, 115, 82]);
3734 }
3735 impl ::std::convert::From<IBindHost> for ::windows::runtime::IUnknown {
from(value: IBindHost) -> Self3736     fn from(value: IBindHost) -> Self {
3737         unsafe { ::std::mem::transmute(value) }
3738     }
3739 }
3740 impl ::std::convert::From<&IBindHost> for ::windows::runtime::IUnknown {
from(value: &IBindHost) -> Self3741     fn from(value: &IBindHost) -> Self {
3742         ::std::convert::From::from(::std::clone::Clone::clone(value))
3743     }
3744 }
3745 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBindHost {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3746     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3747         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3748     }
3749 }
3750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBindHost {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3752         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3753     }
3754 }
3755 #[repr(C)]
3756 #[doc(hidden)]
3757 pub struct IBindHost_abi(
3758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3761     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, szname: super::super::Foundation::PWSTR, pbc: ::windows::runtime::RawPtr, ppmk: *mut ::windows::runtime::RawPtr, dwreserved: u32) -> ::windows::runtime::HRESULT,
3762     #[cfg(not(feature = "Win32_Foundation"))] usize,
3763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pbsc: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmk: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pbsc: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
3765 );
3766 #[repr(transparent)]
3767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3768 pub struct IBindStatusCallback(::windows::runtime::IUnknown);
3769 impl IBindStatusCallback {
OnStartBinding<'a, Param1: ::windows::runtime::IntoParam<'a, IBinding>>(&self, dwreserved: u32, pib: Param1) -> ::windows::runtime::Result<()>3770     pub unsafe fn OnStartBinding<'a, Param1: ::windows::runtime::IntoParam<'a, IBinding>>(&self, dwreserved: u32, pib: Param1) -> ::windows::runtime::Result<()> {
3771         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwreserved), pib.into_param().abi()).ok()
3772     }
GetPriority(&self) -> ::windows::runtime::Result<i32>3773     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<i32> {
3774         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3775         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3776     }
OnLowResource(&self, reserved: u32) -> ::windows::runtime::Result<()>3777     pub unsafe fn OnLowResource(&self, reserved: u32) -> ::windows::runtime::Result<()> {
3778         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(reserved)).ok()
3779     }
3780     #[cfg(feature = "Win32_Foundation")]
OnProgress<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: Param3) -> ::windows::runtime::Result<()>3781     pub unsafe fn OnProgress<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: Param3) -> ::windows::runtime::Result<()> {
3782         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulprogress), ::std::mem::transmute(ulprogressmax), ::std::mem::transmute(ulstatuscode), szstatustext.into_param().abi()).ok()
3783     }
3784     #[cfg(feature = "Win32_Foundation")]
OnStopBinding<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hresult: ::windows::runtime::HRESULT, szerror: Param1) -> ::windows::runtime::Result<()>3785     pub unsafe fn OnStopBinding<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hresult: ::windows::runtime::HRESULT, szerror: Param1) -> ::windows::runtime::Result<()> {
3786         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), szerror.into_param().abi()).ok()
3787     }
3788     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
GetBindInfo(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows::runtime::Result<()>3789     pub unsafe fn GetBindInfo(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows::runtime::Result<()> {
3790         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfbindf), ::std::mem::transmute(pbindinfo)).ok()
3791     }
3792     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
OnDataAvailable(&self, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows::runtime::Result<()>3793     pub unsafe fn OnDataAvailable(&self, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows::runtime::Result<()> {
3794         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfbscf), ::std::mem::transmute(dwsize), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pstgmed)).ok()
3795     }
OnObjectAvailable<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, punk: Param1) -> ::windows::runtime::Result<()>3796     pub unsafe fn OnObjectAvailable<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, punk: Param1) -> ::windows::runtime::Result<()> {
3797         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), punk.into_param().abi()).ok()
3798     }
3799 }
3800 unsafe impl ::windows::runtime::Interface for IBindStatusCallback {
3801     type Vtable = IBindStatusCallback_abi;
3802     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2045430209, 47865, 4558, [140, 130, 0, 170, 0, 75, 169, 11]);
3803 }
3804 impl ::std::convert::From<IBindStatusCallback> for ::windows::runtime::IUnknown {
from(value: IBindStatusCallback) -> Self3805     fn from(value: IBindStatusCallback) -> Self {
3806         unsafe { ::std::mem::transmute(value) }
3807     }
3808 }
3809 impl ::std::convert::From<&IBindStatusCallback> for ::windows::runtime::IUnknown {
from(value: &IBindStatusCallback) -> Self3810     fn from(value: &IBindStatusCallback) -> Self {
3811         ::std::convert::From::from(::std::clone::Clone::clone(value))
3812     }
3813 }
3814 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBindStatusCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3815     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3816         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3817     }
3818 }
3819 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBindStatusCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3820     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3821         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3822     }
3823 }
3824 #[repr(C)]
3825 #[doc(hidden)]
3826 pub struct IBindStatusCallback_abi(
3827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwreserved: u32, pib: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnpriority: *mut i32) -> ::windows::runtime::HRESULT,
3832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reserved: u32) -> ::windows::runtime::HRESULT,
3833     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3834     #[cfg(not(feature = "Win32_Foundation"))] usize,
3835     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, szerror: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3836     #[cfg(not(feature = "Win32_Foundation"))] usize,
3837     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfbindf: *mut u32, pbindinfo: *mut ::std::mem::ManuallyDrop<BINDINFO>) -> ::windows::runtime::HRESULT,
3838     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage")))] usize,
3839     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const ::std::mem::ManuallyDrop<STGMEDIUM>) -> ::windows::runtime::HRESULT,
3840     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
3841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3842 );
3843 #[repr(transparent)]
3844 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3845 pub struct IBindStatusCallbackEx(::windows::runtime::IUnknown);
3846 impl IBindStatusCallbackEx {
OnStartBinding<'a, Param1: ::windows::runtime::IntoParam<'a, IBinding>>(&self, dwreserved: u32, pib: Param1) -> ::windows::runtime::Result<()>3847     pub unsafe fn OnStartBinding<'a, Param1: ::windows::runtime::IntoParam<'a, IBinding>>(&self, dwreserved: u32, pib: Param1) -> ::windows::runtime::Result<()> {
3848         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwreserved), pib.into_param().abi()).ok()
3849     }
GetPriority(&self) -> ::windows::runtime::Result<i32>3850     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<i32> {
3851         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3852         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3853     }
OnLowResource(&self, reserved: u32) -> ::windows::runtime::Result<()>3854     pub unsafe fn OnLowResource(&self, reserved: u32) -> ::windows::runtime::Result<()> {
3855         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(reserved)).ok()
3856     }
3857     #[cfg(feature = "Win32_Foundation")]
OnProgress<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: Param3) -> ::windows::runtime::Result<()>3858     pub unsafe fn OnProgress<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: Param3) -> ::windows::runtime::Result<()> {
3859         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulprogress), ::std::mem::transmute(ulprogressmax), ::std::mem::transmute(ulstatuscode), szstatustext.into_param().abi()).ok()
3860     }
3861     #[cfg(feature = "Win32_Foundation")]
OnStopBinding<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hresult: ::windows::runtime::HRESULT, szerror: Param1) -> ::windows::runtime::Result<()>3862     pub unsafe fn OnStopBinding<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, hresult: ::windows::runtime::HRESULT, szerror: Param1) -> ::windows::runtime::Result<()> {
3863         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(hresult), szerror.into_param().abi()).ok()
3864     }
3865     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
GetBindInfo(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows::runtime::Result<()>3866     pub unsafe fn GetBindInfo(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO) -> ::windows::runtime::Result<()> {
3867         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfbindf), ::std::mem::transmute(pbindinfo)).ok()
3868     }
3869     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
OnDataAvailable(&self, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows::runtime::Result<()>3870     pub unsafe fn OnDataAvailable(&self, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const STGMEDIUM) -> ::windows::runtime::Result<()> {
3871         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfbscf), ::std::mem::transmute(dwsize), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pstgmed)).ok()
3872     }
OnObjectAvailable<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, punk: Param1) -> ::windows::runtime::Result<()>3873     pub unsafe fn OnObjectAvailable<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, punk: Param1) -> ::windows::runtime::Result<()> {
3874         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), punk.into_param().abi()).ok()
3875     }
3876     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))]
GetBindInfoEx(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO, grfbindf2: *mut u32, pdwreserved: *mut u32) -> ::windows::runtime::Result<()>3877     pub unsafe fn GetBindInfoEx(&self, grfbindf: *mut u32, pbindinfo: *mut BINDINFO, grfbindf2: *mut u32, pdwreserved: *mut u32) -> ::windows::runtime::Result<()> {
3878         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfbindf), ::std::mem::transmute(pbindinfo), ::std::mem::transmute(grfbindf2), ::std::mem::transmute(pdwreserved)).ok()
3879     }
3880 }
3881 unsafe impl ::windows::runtime::Interface for IBindStatusCallbackEx {
3882     type Vtable = IBindStatusCallbackEx_abi;
3883     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2863091449, 36583, 18009, [136, 217, 248, 197, 4, 218, 115, 204]);
3884 }
3885 impl ::std::convert::From<IBindStatusCallbackEx> for ::windows::runtime::IUnknown {
from(value: IBindStatusCallbackEx) -> Self3886     fn from(value: IBindStatusCallbackEx) -> Self {
3887         unsafe { ::std::mem::transmute(value) }
3888     }
3889 }
3890 impl ::std::convert::From<&IBindStatusCallbackEx> for ::windows::runtime::IUnknown {
from(value: &IBindStatusCallbackEx) -> Self3891     fn from(value: &IBindStatusCallbackEx) -> Self {
3892         ::std::convert::From::from(::std::clone::Clone::clone(value))
3893     }
3894 }
3895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBindStatusCallbackEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3897         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3898     }
3899 }
3900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBindStatusCallbackEx {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3901     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3902         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3903     }
3904 }
3905 impl ::std::convert::From<IBindStatusCallbackEx> for IBindStatusCallback {
from(value: IBindStatusCallbackEx) -> Self3906     fn from(value: IBindStatusCallbackEx) -> Self {
3907         unsafe { ::std::mem::transmute(value) }
3908     }
3909 }
3910 impl ::std::convert::From<&IBindStatusCallbackEx> for IBindStatusCallback {
from(value: &IBindStatusCallbackEx) -> Self3911     fn from(value: &IBindStatusCallbackEx) -> Self {
3912         ::std::convert::From::from(::std::clone::Clone::clone(value))
3913     }
3914 }
3915 impl<'a> ::windows::runtime::IntoParam<'a, IBindStatusCallback> for IBindStatusCallbackEx {
into_param(self) -> ::windows::runtime::Param<'a, IBindStatusCallback>3916     fn into_param(self) -> ::windows::runtime::Param<'a, IBindStatusCallback> {
3917         ::windows::runtime::Param::Owned(::std::convert::Into::<IBindStatusCallback>::into(self))
3918     }
3919 }
3920 impl<'a> ::windows::runtime::IntoParam<'a, IBindStatusCallback> for &IBindStatusCallbackEx {
into_param(self) -> ::windows::runtime::Param<'a, IBindStatusCallback>3921     fn into_param(self) -> ::windows::runtime::Param<'a, IBindStatusCallback> {
3922         ::windows::runtime::Param::Owned(::std::convert::Into::<IBindStatusCallback>::into(::std::clone::Clone::clone(self)))
3923     }
3924 }
3925 #[repr(C)]
3926 #[doc(hidden)]
3927 pub struct IBindStatusCallbackEx_abi(
3928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwreserved: u32, pib: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnpriority: *mut i32) -> ::windows::runtime::HRESULT,
3933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, reserved: u32) -> ::windows::runtime::HRESULT,
3934     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulprogress: u32, ulprogressmax: u32, ulstatuscode: u32, szstatustext: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3935     #[cfg(not(feature = "Win32_Foundation"))] usize,
3936     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hresult: ::windows::runtime::HRESULT, szerror: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
3937     #[cfg(not(feature = "Win32_Foundation"))] usize,
3938     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfbindf: *mut u32, pbindinfo: *mut ::std::mem::ManuallyDrop<BINDINFO>) -> ::windows::runtime::HRESULT,
3939     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage")))] usize,
3940     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfbscf: u32, dwsize: u32, pformatetc: *const FORMATETC, pstgmed: *const ::std::mem::ManuallyDrop<STGMEDIUM>) -> ::windows::runtime::HRESULT,
3941     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
3942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3943     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfbindf: *mut u32, pbindinfo: *mut ::std::mem::ManuallyDrop<BINDINFO>, grfbindf2: *mut u32, pdwreserved: *mut u32) -> ::windows::runtime::HRESULT,
3944     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_Security", feature = "Win32_System_Com_StructuredStorage")))] usize,
3945 );
3946 #[repr(transparent)]
3947 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3948 pub struct IBinding(::windows::runtime::IUnknown);
3949 impl IBinding {
Abort(&self) -> ::windows::runtime::Result<()>3950     pub unsafe fn Abort(&self) -> ::windows::runtime::Result<()> {
3951         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)).ok()
3952     }
Suspend(&self) -> ::windows::runtime::Result<()>3953     pub unsafe fn Suspend(&self) -> ::windows::runtime::Result<()> {
3954         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
3955     }
Resume(&self) -> ::windows::runtime::Result<()>3956     pub unsafe fn Resume(&self) -> ::windows::runtime::Result<()> {
3957         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
3958     }
SetPriority(&self, npriority: i32) -> ::windows::runtime::Result<()>3959     pub unsafe fn SetPriority(&self, npriority: i32) -> ::windows::runtime::Result<()> {
3960         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(npriority)).ok()
3961     }
GetPriority(&self) -> ::windows::runtime::Result<i32>3962     pub unsafe fn GetPriority(&self) -> ::windows::runtime::Result<i32> {
3963         let mut result__: <i32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
3964         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<i32>(result__)
3965     }
3966     #[cfg(feature = "Win32_Foundation")]
GetBindResult(&self, pclsidprotocol: *mut ::windows::runtime::GUID, pdwresult: *mut u32, pszresult: *mut super::super::Foundation::PWSTR, pdwreserved: *mut u32) -> ::windows::runtime::Result<()>3967     pub unsafe fn GetBindResult(&self, pclsidprotocol: *mut ::windows::runtime::GUID, pdwresult: *mut u32, pszresult: *mut super::super::Foundation::PWSTR, pdwreserved: *mut u32) -> ::windows::runtime::Result<()> {
3968         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pclsidprotocol), ::std::mem::transmute(pdwresult), ::std::mem::transmute(pszresult), ::std::mem::transmute(pdwreserved)).ok()
3969     }
3970 }
3971 unsafe impl ::windows::runtime::Interface for IBinding {
3972     type Vtable = IBinding_abi;
3973     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2045430208, 47865, 4558, [140, 130, 0, 170, 0, 75, 169, 11]);
3974 }
3975 impl ::std::convert::From<IBinding> for ::windows::runtime::IUnknown {
from(value: IBinding) -> Self3976     fn from(value: IBinding) -> Self {
3977         unsafe { ::std::mem::transmute(value) }
3978     }
3979 }
3980 impl ::std::convert::From<&IBinding> for ::windows::runtime::IUnknown {
from(value: &IBinding) -> Self3981     fn from(value: &IBinding) -> Self {
3982         ::std::convert::From::from(::std::clone::Clone::clone(value))
3983     }
3984 }
3985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBinding {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3988     }
3989 }
3990 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBinding {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3991     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3992         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3993     }
3994 }
3995 #[repr(C)]
3996 #[doc(hidden)]
3997 pub struct IBinding_abi(
3998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, npriority: i32) -> ::windows::runtime::HRESULT,
4005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pnpriority: *mut i32) -> ::windows::runtime::HRESULT,
4006     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclsidprotocol: *mut ::windows::runtime::GUID, pdwresult: *mut u32, pszresult: *mut super::super::Foundation::PWSTR, pdwreserved: *mut u32) -> ::windows::runtime::HRESULT,
4007     #[cfg(not(feature = "Win32_Foundation"))] usize,
4008 );
4009 #[repr(transparent)]
4010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4011 pub struct IBlockingLock(::windows::runtime::IUnknown);
4012 impl IBlockingLock {
Lock(&self, dwtimeout: u32) -> ::windows::runtime::Result<()>4013     pub unsafe fn Lock(&self, dwtimeout: u32) -> ::windows::runtime::Result<()> {
4014         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwtimeout)).ok()
4015     }
Unlock(&self) -> ::windows::runtime::Result<()>4016     pub unsafe fn Unlock(&self) -> ::windows::runtime::Result<()> {
4017         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
4018     }
4019 }
4020 unsafe impl ::windows::runtime::Interface for IBlockingLock {
4021     type Vtable = IBlockingLock_abi;
4022     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(821286010, 25671, 4561, [142, 60, 0, 192, 79, 185, 56, 109]);
4023 }
4024 impl ::std::convert::From<IBlockingLock> for ::windows::runtime::IUnknown {
from(value: IBlockingLock) -> Self4025     fn from(value: IBlockingLock) -> Self {
4026         unsafe { ::std::mem::transmute(value) }
4027     }
4028 }
4029 impl ::std::convert::From<&IBlockingLock> for ::windows::runtime::IUnknown {
from(value: &IBlockingLock) -> Self4030     fn from(value: &IBlockingLock) -> Self {
4031         ::std::convert::From::from(::std::clone::Clone::clone(value))
4032     }
4033 }
4034 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IBlockingLock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4035     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4036         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4037     }
4038 }
4039 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IBlockingLock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4040     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4041         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4042     }
4043 }
4044 #[repr(C)]
4045 #[doc(hidden)]
4046 pub struct IBlockingLock_abi(
4047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwtimeout: u32) -> ::windows::runtime::HRESULT,
4051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4052 );
4053 #[repr(transparent)]
4054 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4055 pub struct ICallFactory(::windows::runtime::IUnknown);
4056 impl ICallFactory {
CreateCall<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, pctrlunk: Param1, riid2: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::IUnknown>4057     pub unsafe fn CreateCall<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, pctrlunk: Param1, riid2: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
4058         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4059         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), pctrlunk.into_param().abi(), ::std::mem::transmute(riid2), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
4060     }
4061 }
4062 unsafe impl ::windows::runtime::Interface for ICallFactory {
4063     type Vtable = ICallFactory_abi;
4064     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(477313584, 10780, 4558, [173, 229, 0, 170, 0, 68, 119, 61]);
4065 }
4066 impl ::std::convert::From<ICallFactory> for ::windows::runtime::IUnknown {
from(value: ICallFactory) -> Self4067     fn from(value: ICallFactory) -> Self {
4068         unsafe { ::std::mem::transmute(value) }
4069     }
4070 }
4071 impl ::std::convert::From<&ICallFactory> for ::windows::runtime::IUnknown {
from(value: &ICallFactory) -> Self4072     fn from(value: &ICallFactory) -> Self {
4073         ::std::convert::From::from(::std::clone::Clone::clone(value))
4074     }
4075 }
4076 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICallFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4077     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4078         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4079     }
4080 }
4081 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICallFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4082     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4083         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4084     }
4085 }
4086 #[repr(C)]
4087 #[doc(hidden)]
4088 pub struct ICallFactory_abi(
4089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, pctrlunk: ::windows::runtime::RawPtr, riid2: *const ::windows::runtime::GUID, ppv: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4093 );
4094 #[repr(transparent)]
4095 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4096 pub struct ICancelMethodCalls(::windows::runtime::IUnknown);
4097 impl ICancelMethodCalls {
Cancel(&self, ulseconds: u32) -> ::windows::runtime::Result<()>4098     pub unsafe fn Cancel(&self, ulseconds: u32) -> ::windows::runtime::Result<()> {
4099         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulseconds)).ok()
4100     }
TestCancel(&self) -> ::windows::runtime::Result<()>4101     pub unsafe fn TestCancel(&self) -> ::windows::runtime::Result<()> {
4102         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
4103     }
4104 }
4105 unsafe impl ::windows::runtime::Interface for ICancelMethodCalls {
4106     type Vtable = ICancelMethodCalls_abi;
4107     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(41, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4108 }
4109 impl ::std::convert::From<ICancelMethodCalls> for ::windows::runtime::IUnknown {
from(value: ICancelMethodCalls) -> Self4110     fn from(value: ICancelMethodCalls) -> Self {
4111         unsafe { ::std::mem::transmute(value) }
4112     }
4113 }
4114 impl ::std::convert::From<&ICancelMethodCalls> for ::windows::runtime::IUnknown {
from(value: &ICancelMethodCalls) -> Self4115     fn from(value: &ICancelMethodCalls) -> Self {
4116         ::std::convert::From::from(::std::clone::Clone::clone(value))
4117     }
4118 }
4119 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICancelMethodCalls {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4120     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4121         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4122     }
4123 }
4124 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICancelMethodCalls {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4125     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4126         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4127     }
4128 }
4129 #[repr(C)]
4130 #[doc(hidden)]
4131 pub struct ICancelMethodCalls_abi(
4132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulseconds: u32) -> ::windows::runtime::HRESULT,
4136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4137 );
4138 #[repr(transparent)]
4139 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4140 pub struct ICatInformation(::windows::runtime::IUnknown);
4141 impl ICatInformation {
EnumCategories(&self, lcid: u32) -> ::windows::runtime::Result<IEnumCATEGORYINFO>4142     pub unsafe fn EnumCategories(&self, lcid: u32) -> ::windows::runtime::Result<IEnumCATEGORYINFO> {
4143         let mut result__: <IEnumCATEGORYINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4144         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(lcid), &mut result__).from_abi::<IEnumCATEGORYINFO>(result__)
4145     }
4146     #[cfg(feature = "Win32_Foundation")]
GetCategoryDesc(&self, rcatid: *const ::windows::runtime::GUID, lcid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>4147     pub unsafe fn GetCategoryDesc(&self, rcatid: *const ::windows::runtime::GUID, lcid: u32) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
4148         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4149         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(rcatid), ::std::mem::transmute(lcid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
4150     }
EnumClassesOfCategories(&self, cimplemented: u32, rgcatidimpl: *const ::windows::runtime::GUID, crequired: u32, rgcatidreq: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IEnumGUID>4151     pub unsafe fn EnumClassesOfCategories(&self, cimplemented: u32, rgcatidimpl: *const ::windows::runtime::GUID, crequired: u32, rgcatidreq: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IEnumGUID> {
4152         let mut result__: <IEnumGUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4153         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(cimplemented), ::std::mem::transmute(rgcatidimpl), ::std::mem::transmute(crequired), ::std::mem::transmute(rgcatidreq), &mut result__).from_abi::<IEnumGUID>(result__)
4154     }
IsClassOfCategories(&self, rclsid: *const ::windows::runtime::GUID, cimplemented: u32, rgcatidimpl: *const ::windows::runtime::GUID, crequired: u32, rgcatidreq: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4155     pub unsafe fn IsClassOfCategories(&self, rclsid: *const ::windows::runtime::GUID, cimplemented: u32, rgcatidimpl: *const ::windows::runtime::GUID, crequired: u32, rgcatidreq: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4156         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), ::std::mem::transmute(cimplemented), ::std::mem::transmute(rgcatidimpl), ::std::mem::transmute(crequired), ::std::mem::transmute(rgcatidreq)).ok()
4157     }
EnumImplCategoriesOfClass(&self, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IEnumGUID>4158     pub unsafe fn EnumImplCategoriesOfClass(&self, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IEnumGUID> {
4159         let mut result__: <IEnumGUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4160         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), &mut result__).from_abi::<IEnumGUID>(result__)
4161     }
EnumReqCategoriesOfClass(&self, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IEnumGUID>4162     pub unsafe fn EnumReqCategoriesOfClass(&self, rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IEnumGUID> {
4163         let mut result__: <IEnumGUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4164         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), &mut result__).from_abi::<IEnumGUID>(result__)
4165     }
4166 }
4167 unsafe impl ::windows::runtime::Interface for ICatInformation {
4168     type Vtable = ICatInformation_abi;
4169     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(188435, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4170 }
4171 impl ::std::convert::From<ICatInformation> for ::windows::runtime::IUnknown {
from(value: ICatInformation) -> Self4172     fn from(value: ICatInformation) -> Self {
4173         unsafe { ::std::mem::transmute(value) }
4174     }
4175 }
4176 impl ::std::convert::From<&ICatInformation> for ::windows::runtime::IUnknown {
from(value: &ICatInformation) -> Self4177     fn from(value: &ICatInformation) -> Self {
4178         ::std::convert::From::from(::std::clone::Clone::clone(value))
4179     }
4180 }
4181 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICatInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4182     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4183         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4184     }
4185 }
4186 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICatInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4187     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4188         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4189     }
4190 }
4191 #[repr(C)]
4192 #[doc(hidden)]
4193 pub struct ICatInformation_abi(
4194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lcid: u32, ppenumcategoryinfo: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4198     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rcatid: *const ::windows::runtime::GUID, lcid: u32, pszdesc: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
4199     #[cfg(not(feature = "Win32_Foundation"))] usize,
4200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cimplemented: u32, rgcatidimpl: *const ::windows::runtime::GUID, crequired: u32, rgcatidreq: *const ::windows::runtime::GUID, ppenumclsid: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, cimplemented: u32, rgcatidimpl: *const ::windows::runtime::GUID, crequired: u32, rgcatidreq: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, ppenumcatid: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, ppenumcatid: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4204 );
4205 #[repr(transparent)]
4206 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4207 pub struct ICatRegister(::windows::runtime::IUnknown);
4208 impl ICatRegister {
RegisterCategories(&self, ccategories: u32, rgcategoryinfo: *const CATEGORYINFO) -> ::windows::runtime::Result<()>4209     pub unsafe fn RegisterCategories(&self, ccategories: u32, rgcategoryinfo: *const CATEGORYINFO) -> ::windows::runtime::Result<()> {
4210         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccategories), ::std::mem::transmute(rgcategoryinfo)).ok()
4211     }
UnRegisterCategories(&self, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4212     pub unsafe fn UnRegisterCategories(&self, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4213         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ccategories), ::std::mem::transmute(rgcatid)).ok()
4214     }
RegisterClassImplCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4215     pub unsafe fn RegisterClassImplCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4216         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), ::std::mem::transmute(ccategories), ::std::mem::transmute(rgcatid)).ok()
4217     }
UnRegisterClassImplCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4218     pub unsafe fn UnRegisterClassImplCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4219         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), ::std::mem::transmute(ccategories), ::std::mem::transmute(rgcatid)).ok()
4220     }
RegisterClassReqCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4221     pub unsafe fn RegisterClassReqCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4222         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), ::std::mem::transmute(ccategories), ::std::mem::transmute(rgcatid)).ok()
4223     }
UnRegisterClassReqCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4224     pub unsafe fn UnRegisterClassReqCategories(&self, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4225         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), ::std::mem::transmute(ccategories), ::std::mem::transmute(rgcatid)).ok()
4226     }
4227 }
4228 unsafe impl ::windows::runtime::Interface for ICatRegister {
4229     type Vtable = ICatRegister_abi;
4230     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(188434, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4231 }
4232 impl ::std::convert::From<ICatRegister> for ::windows::runtime::IUnknown {
from(value: ICatRegister) -> Self4233     fn from(value: ICatRegister) -> Self {
4234         unsafe { ::std::mem::transmute(value) }
4235     }
4236 }
4237 impl ::std::convert::From<&ICatRegister> for ::windows::runtime::IUnknown {
from(value: &ICatRegister) -> Self4238     fn from(value: &ICatRegister) -> Self {
4239         ::std::convert::From::from(::std::clone::Clone::clone(value))
4240     }
4241 }
4242 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ICatRegister {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4243     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4244         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4245     }
4246 }
4247 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ICatRegister {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4248     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4249         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4250     }
4251 }
4252 #[repr(C)]
4253 #[doc(hidden)]
4254 pub struct ICatRegister_abi(
4255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccategories: u32, rgcategoryinfo: *const CATEGORYINFO) -> ::windows::runtime::HRESULT,
4259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, ccategories: u32, rgcatid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4264 );
4265 #[repr(transparent)]
4266 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4267 pub struct IChannelHook(::windows::runtime::IUnknown);
4268 impl IChannelHook {
ClientGetSize(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32)4269     pub unsafe fn ClientGetSize(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32) {
4270         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(uextent), ::std::mem::transmute(riid), ::std::mem::transmute(pdatasize)))
4271     }
ClientFillBuffer(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdatabuffer: *const ::std::ffi::c_void)4272     pub unsafe fn ClientFillBuffer(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdatabuffer: *const ::std::ffi::c_void) {
4273         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(uextent), ::std::mem::transmute(riid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdatabuffer)))
4274     }
ClientNotify(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, cbdatasize: u32, pdatabuffer: *const ::std::ffi::c_void, ldatarep: u32, hrfault: ::windows::runtime::HRESULT)4275     pub unsafe fn ClientNotify(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, cbdatasize: u32, pdatabuffer: *const ::std::ffi::c_void, ldatarep: u32, hrfault: ::windows::runtime::HRESULT) {
4276         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(uextent), ::std::mem::transmute(riid), ::std::mem::transmute(cbdatasize), ::std::mem::transmute(pdatabuffer), ::std::mem::transmute(ldatarep), ::std::mem::transmute(hrfault)))
4277     }
ServerNotify(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, cbdatasize: u32, pdatabuffer: *const ::std::ffi::c_void, ldatarep: u32)4278     pub unsafe fn ServerNotify(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, cbdatasize: u32, pdatabuffer: *const ::std::ffi::c_void, ldatarep: u32) {
4279         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(uextent), ::std::mem::transmute(riid), ::std::mem::transmute(cbdatasize), ::std::mem::transmute(pdatabuffer), ::std::mem::transmute(ldatarep)))
4280     }
ServerGetSize(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, hrfault: ::windows::runtime::HRESULT, pdatasize: *mut u32)4281     pub unsafe fn ServerGetSize(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, hrfault: ::windows::runtime::HRESULT, pdatasize: *mut u32) {
4282         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(uextent), ::std::mem::transmute(riid), ::std::mem::transmute(hrfault), ::std::mem::transmute(pdatasize)))
4283     }
ServerFillBuffer(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdatabuffer: *const ::std::ffi::c_void, hrfault: ::windows::runtime::HRESULT)4284     pub unsafe fn ServerFillBuffer(&self, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdatabuffer: *const ::std::ffi::c_void, hrfault: ::windows::runtime::HRESULT) {
4285         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(uextent), ::std::mem::transmute(riid), ::std::mem::transmute(pdatasize), ::std::mem::transmute(pdatabuffer), ::std::mem::transmute(hrfault)))
4286     }
4287 }
4288 unsafe impl ::windows::runtime::Interface for IChannelHook {
4289     type Vtable = IChannelHook_abi;
4290     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(269010080, 30227, 4559, [154, 241, 0, 32, 175, 110, 114, 244]);
4291 }
4292 impl ::std::convert::From<IChannelHook> for ::windows::runtime::IUnknown {
from(value: IChannelHook) -> Self4293     fn from(value: IChannelHook) -> Self {
4294         unsafe { ::std::mem::transmute(value) }
4295     }
4296 }
4297 impl ::std::convert::From<&IChannelHook> for ::windows::runtime::IUnknown {
from(value: &IChannelHook) -> Self4298     fn from(value: &IChannelHook) -> Self {
4299         ::std::convert::From::from(::std::clone::Clone::clone(value))
4300     }
4301 }
4302 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IChannelHook {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4303     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4304         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4305     }
4306 }
4307 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IChannelHook {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4308     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4309         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4310     }
4311 }
4312 #[repr(C)]
4313 #[doc(hidden)]
4314 pub struct IChannelHook_abi(
4315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32),
4319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdatabuffer: *const ::std::ffi::c_void),
4320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, cbdatasize: u32, pdatabuffer: *const ::std::ffi::c_void, ldatarep: u32, hrfault: ::windows::runtime::HRESULT),
4321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, cbdatasize: u32, pdatabuffer: *const ::std::ffi::c_void, ldatarep: u32),
4322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, hrfault: ::windows::runtime::HRESULT, pdatasize: *mut u32),
4323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uextent: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, pdatasize: *mut u32, pdatabuffer: *const ::std::ffi::c_void, hrfault: ::windows::runtime::HRESULT),
4324 );
4325 #[repr(transparent)]
4326 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4327 pub struct IClassActivator(::windows::runtime::IUnknown);
4328 impl IClassActivator {
GetClassObject<T: ::windows::runtime::Interface>(&self, rclsid: *const ::windows::runtime::GUID, dwclasscontext: u32, locale: u32) -> ::windows::runtime::Result<T>4329     pub unsafe fn GetClassObject<T: ::windows::runtime::Interface>(&self, rclsid: *const ::windows::runtime::GUID, dwclasscontext: u32, locale: u32) -> ::windows::runtime::Result<T> {
4330         let mut result__ = ::std::option::Option::None;
4331         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(rclsid), ::std::mem::transmute(dwclasscontext), ::std::mem::transmute(locale), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4332     }
4333 }
4334 unsafe impl ::windows::runtime::Interface for IClassActivator {
4335     type Vtable = IClassActivator_abi;
4336     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(320, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4337 }
4338 impl ::std::convert::From<IClassActivator> for ::windows::runtime::IUnknown {
from(value: IClassActivator) -> Self4339     fn from(value: IClassActivator) -> Self {
4340         unsafe { ::std::mem::transmute(value) }
4341     }
4342 }
4343 impl ::std::convert::From<&IClassActivator> for ::windows::runtime::IUnknown {
from(value: &IClassActivator) -> Self4344     fn from(value: &IClassActivator) -> Self {
4345         ::std::convert::From::from(::std::clone::Clone::clone(value))
4346     }
4347 }
4348 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IClassActivator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4349     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4350         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4351     }
4352 }
4353 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IClassActivator {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4354     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4355         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4356     }
4357 }
4358 #[repr(C)]
4359 #[doc(hidden)]
4360 pub struct IClassActivator_abi(
4361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, dwclasscontext: u32, locale: u32, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4365 );
4366 #[repr(transparent)]
4367 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4368 pub struct IClassFactory(::windows::runtime::IUnknown);
4369 impl IClassFactory {
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, punkouter: Param0) -> ::windows::runtime::Result<T>4370     pub unsafe fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, T: ::windows::runtime::Interface>(&self, punkouter: Param0) -> ::windows::runtime::Result<T> {
4371         let mut result__ = ::std::option::Option::None;
4372         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punkouter.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
4373     }
4374     #[cfg(feature = "Win32_Foundation")]
LockServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, flock: Param0) -> ::windows::runtime::Result<()>4375     pub unsafe fn LockServer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, flock: Param0) -> ::windows::runtime::Result<()> {
4376         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), flock.into_param().abi()).ok()
4377     }
4378 }
4379 unsafe impl ::windows::runtime::Interface for IClassFactory {
4380     type Vtable = IClassFactory_abi;
4381     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4382 }
4383 impl ::std::convert::From<IClassFactory> for ::windows::runtime::IUnknown {
from(value: IClassFactory) -> Self4384     fn from(value: IClassFactory) -> Self {
4385         unsafe { ::std::mem::transmute(value) }
4386     }
4387 }
4388 impl ::std::convert::From<&IClassFactory> for ::windows::runtime::IUnknown {
from(value: &IClassFactory) -> Self4389     fn from(value: &IClassFactory) -> Self {
4390         ::std::convert::From::from(::std::clone::Clone::clone(value))
4391     }
4392 }
4393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IClassFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4395         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4396     }
4397 }
4398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IClassFactory {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4399     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4400         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4401     }
4402 }
4403 #[repr(C)]
4404 #[doc(hidden)]
4405 pub struct IClassFactory_abi(
4406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkouter: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
4410     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flock: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4411     #[cfg(not(feature = "Win32_Foundation"))] usize,
4412 );
4413 #[repr(transparent)]
4414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4415 pub struct IClientSecurity(::windows::runtime::IUnknown);
4416 impl IClientSecurity {
QueryBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pproxy: Param0, 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 ::std::ffi::c_void, pcapabilites: *mut EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::Result<()>4417     pub unsafe fn QueryBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pproxy: Param0, 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 ::std::ffi::c_void, pcapabilites: *mut EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::Result<()> {
4418         (::windows::runtime::Interface::vtable(self).3)(
4419             ::std::mem::transmute_copy(self),
4420             pproxy.into_param().abi(),
4421             ::std::mem::transmute(pauthnsvc),
4422             ::std::mem::transmute(pauthzsvc),
4423             ::std::mem::transmute(pserverprincname),
4424             ::std::mem::transmute(pauthnlevel),
4425             ::std::mem::transmute(pimplevel),
4426             ::std::mem::transmute(pauthinfo),
4427             ::std::mem::transmute(pcapabilites),
4428         )
4429         .ok()
4430     }
4431     #[cfg(feature = "Win32_Foundation")]
SetBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pproxy: Param0, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: Param3, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::Result<()>4432     pub unsafe fn SetBlanket<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pproxy: Param0, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: Param3, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::Result<()> {
4433         (::windows::runtime::Interface::vtable(self).4)(
4434             ::std::mem::transmute_copy(self),
4435             pproxy.into_param().abi(),
4436             ::std::mem::transmute(dwauthnsvc),
4437             ::std::mem::transmute(dwauthzsvc),
4438             pserverprincname.into_param().abi(),
4439             ::std::mem::transmute(dwauthnlevel),
4440             ::std::mem::transmute(dwimplevel),
4441             ::std::mem::transmute(pauthinfo),
4442             ::std::mem::transmute(dwcapabilities),
4443         )
4444         .ok()
4445     }
CopyProxy<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pproxy: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>4446     pub unsafe fn CopyProxy<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pproxy: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
4447         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4448         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pproxy.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
4449     }
4450 }
4451 unsafe impl ::windows::runtime::Interface for IClientSecurity {
4452     type Vtable = IClientSecurity_abi;
4453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(317, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4454 }
4455 impl ::std::convert::From<IClientSecurity> for ::windows::runtime::IUnknown {
from(value: IClientSecurity) -> Self4456     fn from(value: IClientSecurity) -> Self {
4457         unsafe { ::std::mem::transmute(value) }
4458     }
4459 }
4460 impl ::std::convert::From<&IClientSecurity> for ::windows::runtime::IUnknown {
from(value: &IClientSecurity) -> Self4461     fn from(value: &IClientSecurity) -> Self {
4462         ::std::convert::From::from(::std::clone::Clone::clone(value))
4463     }
4464 }
4465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IClientSecurity {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4467         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4468     }
4469 }
4470 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IClientSecurity {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4471     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4472         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4473     }
4474 }
4475 #[repr(C)]
4476 #[doc(hidden)]
4477 pub struct IClientSecurity_abi(
4478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxy: ::windows::runtime::RawPtr, 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 ::std::ffi::c_void, pcapabilites: *mut EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::HRESULT,
4482     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxy: ::windows::runtime::RawPtr, dwauthnsvc: u32, dwauthzsvc: u32, pserverprincname: super::super::Foundation::PWSTR, dwauthnlevel: RPC_C_AUTHN_LEVEL, dwimplevel: RPC_C_IMP_LEVEL, pauthinfo: *const ::std::ffi::c_void, dwcapabilities: EOLE_AUTHENTICATION_CAPABILITIES) -> ::windows::runtime::HRESULT,
4483     #[cfg(not(feature = "Win32_Foundation"))] usize,
4484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pproxy: ::windows::runtime::RawPtr, ppcopy: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4485 );
4486 #[repr(transparent)]
4487 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4488 pub struct IComThreadingInfo(::windows::runtime::IUnknown);
4489 impl IComThreadingInfo {
GetCurrentApartmentType(&self) -> ::windows::runtime::Result<APTTYPE>4490     pub unsafe fn GetCurrentApartmentType(&self) -> ::windows::runtime::Result<APTTYPE> {
4491         let mut result__: <APTTYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4492         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<APTTYPE>(result__)
4493     }
GetCurrentThreadType(&self) -> ::windows::runtime::Result<THDTYPE>4494     pub unsafe fn GetCurrentThreadType(&self) -> ::windows::runtime::Result<THDTYPE> {
4495         let mut result__: <THDTYPE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4496         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<THDTYPE>(result__)
4497     }
GetCurrentLogicalThreadId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4498     pub unsafe fn GetCurrentLogicalThreadId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4499         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4500         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4501     }
SetCurrentLogicalThreadId(&self, rguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>4502     pub unsafe fn SetCurrentLogicalThreadId(&self, rguid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
4503         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguid)).ok()
4504     }
4505 }
4506 unsafe impl ::windows::runtime::Interface for IComThreadingInfo {
4507     type Vtable = IComThreadingInfo_abi;
4508     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(462, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4509 }
4510 impl ::std::convert::From<IComThreadingInfo> for ::windows::runtime::IUnknown {
from(value: IComThreadingInfo) -> Self4511     fn from(value: IComThreadingInfo) -> Self {
4512         unsafe { ::std::mem::transmute(value) }
4513     }
4514 }
4515 impl ::std::convert::From<&IComThreadingInfo> for ::windows::runtime::IUnknown {
from(value: &IComThreadingInfo) -> Self4516     fn from(value: &IComThreadingInfo) -> Self {
4517         ::std::convert::From::from(::std::clone::Clone::clone(value))
4518     }
4519 }
4520 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IComThreadingInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4521     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4522         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4523     }
4524 }
4525 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IComThreadingInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4526     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4527         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4528     }
4529 }
4530 #[repr(C)]
4531 #[doc(hidden)]
4532 pub struct IComThreadingInfo_abi(
4533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, papttype: *mut APTTYPE) -> ::windows::runtime::HRESULT,
4537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pthreadtype: *mut THDTYPE) -> ::windows::runtime::HRESULT,
4538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pguidlogicalthreadid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4540 );
4541 #[repr(transparent)]
4542 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4543 pub struct IConnectionPoint(::windows::runtime::IUnknown);
4544 impl IConnectionPoint {
GetConnectionInterface(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4545     pub unsafe fn GetConnectionInterface(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4546         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4547         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4548     }
GetConnectionPointContainer(&self) -> ::windows::runtime::Result<IConnectionPointContainer>4549     pub unsafe fn GetConnectionPointContainer(&self) -> ::windows::runtime::Result<IConnectionPointContainer> {
4550         let mut result__: <IConnectionPointContainer as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4551         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IConnectionPointContainer>(result__)
4552     }
Advise<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punksink: Param0) -> ::windows::runtime::Result<u32>4553     pub unsafe fn Advise<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punksink: Param0) -> ::windows::runtime::Result<u32> {
4554         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4555         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), punksink.into_param().abi(), &mut result__).from_abi::<u32>(result__)
4556     }
Unadvise(&self, dwcookie: u32) -> ::windows::runtime::Result<()>4557     pub unsafe fn Unadvise(&self, dwcookie: u32) -> ::windows::runtime::Result<()> {
4558         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)).ok()
4559     }
EnumConnections(&self) -> ::windows::runtime::Result<IEnumConnections>4560     pub unsafe fn EnumConnections(&self) -> ::windows::runtime::Result<IEnumConnections> {
4561         let mut result__: <IEnumConnections as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4562         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumConnections>(result__)
4563     }
4564 }
4565 unsafe impl ::windows::runtime::Interface for IConnectionPoint {
4566     type Vtable = IConnectionPoint_abi;
4567     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2979443334, 47796, 4122, [182, 156, 0, 170, 0, 52, 29, 7]);
4568 }
4569 impl ::std::convert::From<IConnectionPoint> for ::windows::runtime::IUnknown {
from(value: IConnectionPoint) -> Self4570     fn from(value: IConnectionPoint) -> Self {
4571         unsafe { ::std::mem::transmute(value) }
4572     }
4573 }
4574 impl ::std::convert::From<&IConnectionPoint> for ::windows::runtime::IUnknown {
from(value: &IConnectionPoint) -> Self4575     fn from(value: &IConnectionPoint) -> Self {
4576         ::std::convert::From::from(::std::clone::Clone::clone(value))
4577     }
4578 }
4579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IConnectionPoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4582     }
4583 }
4584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IConnectionPoint {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4586         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4587     }
4588 }
4589 #[repr(C)]
4590 #[doc(hidden)]
4591 pub struct IConnectionPoint_abi(
4592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppcpc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punksink: ::windows::runtime::RawPtr, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
4598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32) -> ::windows::runtime::HRESULT,
4599     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4600 );
4601 #[repr(transparent)]
4602 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4603 pub struct IConnectionPointContainer(::windows::runtime::IUnknown);
4604 impl IConnectionPointContainer {
EnumConnectionPoints(&self) -> ::windows::runtime::Result<IEnumConnectionPoints>4605     pub unsafe fn EnumConnectionPoints(&self) -> ::windows::runtime::Result<IEnumConnectionPoints> {
4606         let mut result__: <IEnumConnectionPoints as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4607         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumConnectionPoints>(result__)
4608     }
FindConnectionPoint(&self, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IConnectionPoint>4609     pub unsafe fn FindConnectionPoint(&self, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<IConnectionPoint> {
4610         let mut result__: <IConnectionPoint as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4611         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), &mut result__).from_abi::<IConnectionPoint>(result__)
4612     }
4613 }
4614 unsafe impl ::windows::runtime::Interface for IConnectionPointContainer {
4615     type Vtable = IConnectionPointContainer_abi;
4616     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2979443332, 47796, 4122, [182, 156, 0, 170, 0, 52, 29, 7]);
4617 }
4618 impl ::std::convert::From<IConnectionPointContainer> for ::windows::runtime::IUnknown {
from(value: IConnectionPointContainer) -> Self4619     fn from(value: IConnectionPointContainer) -> Self {
4620         unsafe { ::std::mem::transmute(value) }
4621     }
4622 }
4623 impl ::std::convert::From<&IConnectionPointContainer> for ::windows::runtime::IUnknown {
from(value: &IConnectionPointContainer) -> Self4624     fn from(value: &IConnectionPointContainer) -> Self {
4625         ::std::convert::From::from(::std::clone::Clone::clone(value))
4626     }
4627 }
4628 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IConnectionPointContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4629     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4630         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4631     }
4632 }
4633 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IConnectionPointContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4634     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4635         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4636     }
4637 }
4638 #[repr(C)]
4639 #[doc(hidden)]
4640 pub struct IConnectionPointContainer_abi(
4641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppcp: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4646 );
4647 #[repr(C)]
4648 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
4649 pub struct IContext(pub u8);
4650 #[repr(transparent)]
4651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4652 pub struct IContextCallback(::windows::runtime::IUnknown);
4653 impl IContextCallback {
ContextCallback<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pfncallback: ::std::option::Option<PFNCONTEXTCALL>, pparam: *const ComCallData, riid: *const ::windows::runtime::GUID, imethod: i32, punk: Param4) -> ::windows::runtime::Result<()>4654     pub unsafe fn ContextCallback<'a, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pfncallback: ::std::option::Option<PFNCONTEXTCALL>, pparam: *const ComCallData, riid: *const ::windows::runtime::GUID, imethod: i32, punk: Param4) -> ::windows::runtime::Result<()> {
4655         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfncallback), ::std::mem::transmute(pparam), ::std::mem::transmute(riid), ::std::mem::transmute(imethod), punk.into_param().abi()).ok()
4656     }
4657 }
4658 unsafe impl ::windows::runtime::Interface for IContextCallback {
4659     type Vtable = IContextCallback_abi;
4660     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(474, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4661 }
4662 impl ::std::convert::From<IContextCallback> for ::windows::runtime::IUnknown {
from(value: IContextCallback) -> Self4663     fn from(value: IContextCallback) -> Self {
4664         unsafe { ::std::mem::transmute(value) }
4665     }
4666 }
4667 impl ::std::convert::From<&IContextCallback> for ::windows::runtime::IUnknown {
from(value: &IContextCallback) -> Self4668     fn from(value: &IContextCallback) -> Self {
4669         ::std::convert::From::from(::std::clone::Clone::clone(value))
4670     }
4671 }
4672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IContextCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4674         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4675     }
4676 }
4677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IContextCallback {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4680     }
4681 }
4682 #[repr(C)]
4683 #[doc(hidden)]
4684 pub struct IContextCallback_abi(
4685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfncallback: ::windows::runtime::RawPtr, pparam: *const ComCallData, riid: *const ::windows::runtime::GUID, imethod: i32, punk: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4689 );
4690 #[repr(transparent)]
4691 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4692 pub struct IDataAdviseHolder(::windows::runtime::IUnknown);
4693 impl IDataAdviseHolder {
Advise<'a, Param0: ::windows::runtime::IntoParam<'a, IDataObject>, Param3: ::windows::runtime::IntoParam<'a, IAdviseSink>>(&self, pdataobject: Param0, pfetc: *const FORMATETC, advf: u32, padvise: Param3) -> ::windows::runtime::Result<u32>4694     pub unsafe fn Advise<'a, Param0: ::windows::runtime::IntoParam<'a, IDataObject>, Param3: ::windows::runtime::IntoParam<'a, IAdviseSink>>(&self, pdataobject: Param0, pfetc: *const FORMATETC, advf: u32, padvise: Param3) -> ::windows::runtime::Result<u32> {
4695         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4696         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pdataobject.into_param().abi(), ::std::mem::transmute(pfetc), ::std::mem::transmute(advf), padvise.into_param().abi(), &mut result__).from_abi::<u32>(result__)
4697     }
Unadvise(&self, dwconnection: u32) -> ::windows::runtime::Result<()>4698     pub unsafe fn Unadvise(&self, dwconnection: u32) -> ::windows::runtime::Result<()> {
4699         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwconnection)).ok()
4700     }
EnumAdvise(&self) -> ::windows::runtime::Result<IEnumSTATDATA>4701     pub unsafe fn EnumAdvise(&self) -> ::windows::runtime::Result<IEnumSTATDATA> {
4702         let mut result__: <IEnumSTATDATA as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4703         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumSTATDATA>(result__)
4704     }
SendOnDataChange<'a, Param0: ::windows::runtime::IntoParam<'a, IDataObject>>(&self, pdataobject: Param0, dwreserved: u32, advf: u32) -> ::windows::runtime::Result<()>4705     pub unsafe fn SendOnDataChange<'a, Param0: ::windows::runtime::IntoParam<'a, IDataObject>>(&self, pdataobject: Param0, dwreserved: u32, advf: u32) -> ::windows::runtime::Result<()> {
4706         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pdataobject.into_param().abi(), ::std::mem::transmute(dwreserved), ::std::mem::transmute(advf)).ok()
4707     }
4708 }
4709 unsafe impl ::windows::runtime::Interface for IDataAdviseHolder {
4710     type Vtable = IDataAdviseHolder_abi;
4711     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(272, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4712 }
4713 impl ::std::convert::From<IDataAdviseHolder> for ::windows::runtime::IUnknown {
from(value: IDataAdviseHolder) -> Self4714     fn from(value: IDataAdviseHolder) -> Self {
4715         unsafe { ::std::mem::transmute(value) }
4716     }
4717 }
4718 impl ::std::convert::From<&IDataAdviseHolder> for ::windows::runtime::IUnknown {
from(value: &IDataAdviseHolder) -> Self4719     fn from(value: &IDataAdviseHolder) -> Self {
4720         ::std::convert::From::from(::std::clone::Clone::clone(value))
4721     }
4722 }
4723 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDataAdviseHolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4724     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4725         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4726     }
4727 }
4728 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDataAdviseHolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4729     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4730         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4731     }
4732 }
4733 #[repr(C)]
4734 #[doc(hidden)]
4735 pub struct IDataAdviseHolder_abi(
4736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdataobject: ::windows::runtime::RawPtr, pfetc: *const FORMATETC, advf: u32, padvise: ::windows::runtime::RawPtr, pdwconnection: *mut u32) -> ::windows::runtime::HRESULT,
4740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwconnection: u32) -> ::windows::runtime::HRESULT,
4741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumadvise: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdataobject: ::windows::runtime::RawPtr, dwreserved: u32, advf: u32) -> ::windows::runtime::HRESULT,
4743 );
4744 #[repr(transparent)]
4745 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4746 pub struct IDataObject(::windows::runtime::IUnknown);
4747 impl IDataObject {
4748     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
GetData(&self, pformatetcin: *const FORMATETC) -> ::windows::runtime::Result<STGMEDIUM>4749     pub unsafe fn GetData(&self, pformatetcin: *const FORMATETC) -> ::windows::runtime::Result<STGMEDIUM> {
4750         let mut result__: <STGMEDIUM as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4751         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetcin), &mut result__).from_abi::<STGMEDIUM>(result__)
4752     }
4753     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
GetDataHere(&self, pformatetc: *const FORMATETC, pmedium: *mut STGMEDIUM) -> ::windows::runtime::Result<()>4754     pub unsafe fn GetDataHere(&self, pformatetc: *const FORMATETC, pmedium: *mut STGMEDIUM) -> ::windows::runtime::Result<()> {
4755         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pmedium)).ok()
4756     }
QueryGetData(&self, pformatetc: *const FORMATETC) -> ::windows::runtime::Result<()>4757     pub unsafe fn QueryGetData(&self, pformatetc: *const FORMATETC) -> ::windows::runtime::Result<()> {
4758         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc)).ok()
4759     }
GetCanonicalFormatEtc(&self, pformatectin: *const FORMATETC) -> ::windows::runtime::Result<FORMATETC>4760     pub unsafe fn GetCanonicalFormatEtc(&self, pformatectin: *const FORMATETC) -> ::windows::runtime::Result<FORMATETC> {
4761         let mut result__: <FORMATETC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4762         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatectin), &mut result__).from_abi::<FORMATETC>(result__)
4763     }
4764     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
SetData<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pformatetc: *const FORMATETC, pmedium: *const STGMEDIUM, frelease: Param2) -> ::windows::runtime::Result<()>4765     pub unsafe fn SetData<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pformatetc: *const FORMATETC, pmedium: *const STGMEDIUM, frelease: Param2) -> ::windows::runtime::Result<()> {
4766         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(pmedium), frelease.into_param().abi()).ok()
4767     }
EnumFormatEtc(&self, dwdirection: u32) -> ::windows::runtime::Result<IEnumFORMATETC>4768     pub unsafe fn EnumFormatEtc(&self, dwdirection: u32) -> ::windows::runtime::Result<IEnumFORMATETC> {
4769         let mut result__: <IEnumFORMATETC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4770         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwdirection), &mut result__).from_abi::<IEnumFORMATETC>(result__)
4771     }
DAdvise<'a, Param2: ::windows::runtime::IntoParam<'a, IAdviseSink>>(&self, pformatetc: *const FORMATETC, advf: u32, padvsink: Param2) -> ::windows::runtime::Result<u32>4772     pub unsafe fn DAdvise<'a, Param2: ::windows::runtime::IntoParam<'a, IAdviseSink>>(&self, pformatetc: *const FORMATETC, advf: u32, padvsink: Param2) -> ::windows::runtime::Result<u32> {
4773         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4774         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pformatetc), ::std::mem::transmute(advf), padvsink.into_param().abi(), &mut result__).from_abi::<u32>(result__)
4775     }
DUnadvise(&self, dwconnection: u32) -> ::windows::runtime::Result<()>4776     pub unsafe fn DUnadvise(&self, dwconnection: u32) -> ::windows::runtime::Result<()> {
4777         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwconnection)).ok()
4778     }
EnumDAdvise(&self) -> ::windows::runtime::Result<IEnumSTATDATA>4779     pub unsafe fn EnumDAdvise(&self) -> ::windows::runtime::Result<IEnumSTATDATA> {
4780         let mut result__: <IEnumSTATDATA as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4781         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumSTATDATA>(result__)
4782     }
4783 }
4784 unsafe impl ::windows::runtime::Interface for IDataObject {
4785     type Vtable = IDataObject_abi;
4786     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(270, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4787 }
4788 impl ::std::convert::From<IDataObject> for ::windows::runtime::IUnknown {
from(value: IDataObject) -> Self4789     fn from(value: IDataObject) -> Self {
4790         unsafe { ::std::mem::transmute(value) }
4791     }
4792 }
4793 impl ::std::convert::From<&IDataObject> for ::windows::runtime::IUnknown {
from(value: &IDataObject) -> Self4794     fn from(value: &IDataObject) -> Self {
4795         ::std::convert::From::from(::std::clone::Clone::clone(value))
4796     }
4797 }
4798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IDataObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4801     }
4802 }
4803 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IDataObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4804     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4805         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4806     }
4807 }
4808 #[repr(C)]
4809 #[doc(hidden)]
4810 pub struct IDataObject_abi(
4811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4814     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetcin: *const FORMATETC, pmedium: *mut ::std::mem::ManuallyDrop<STGMEDIUM>) -> ::windows::runtime::HRESULT,
4815     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
4816     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, pmedium: *mut ::std::mem::ManuallyDrop<STGMEDIUM>) -> ::windows::runtime::HRESULT,
4817     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
4818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC) -> ::windows::runtime::HRESULT,
4819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatectin: *const FORMATETC, pformatetcout: *mut FORMATETC) -> ::windows::runtime::HRESULT,
4820     #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, pmedium: *const ::std::mem::ManuallyDrop<STGMEDIUM>, frelease: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
4821     #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage")))] usize,
4822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwdirection: u32, ppenumformatetc: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pformatetc: *const FORMATETC, advf: u32, padvsink: ::windows::runtime::RawPtr, pdwconnection: *mut u32) -> ::windows::runtime::HRESULT,
4824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwconnection: u32) -> ::windows::runtime::HRESULT,
4825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenumadvise: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4826 );
4827 #[repr(transparent)]
4828 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4829 pub struct IEnumCATEGORYINFO(::windows::runtime::IUnknown);
4830 impl IEnumCATEGORYINFO {
Next(&self, celt: u32, rgelt: *mut CATEGORYINFO, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4831     pub unsafe fn Next(&self, celt: u32, rgelt: *mut CATEGORYINFO, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4832         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4833     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4834     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4835         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4836     }
Reset(&self) -> ::windows::runtime::Result<()>4837     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4838         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4839     }
Clone(&self) -> ::windows::runtime::Result<IEnumCATEGORYINFO>4840     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumCATEGORYINFO> {
4841         let mut result__: <IEnumCATEGORYINFO as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4842         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumCATEGORYINFO>(result__)
4843     }
4844 }
4845 unsafe impl ::windows::runtime::Interface for IEnumCATEGORYINFO {
4846     type Vtable = IEnumCATEGORYINFO_abi;
4847     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(188433, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
4848 }
4849 impl ::std::convert::From<IEnumCATEGORYINFO> for ::windows::runtime::IUnknown {
from(value: IEnumCATEGORYINFO) -> Self4850     fn from(value: IEnumCATEGORYINFO) -> Self {
4851         unsafe { ::std::mem::transmute(value) }
4852     }
4853 }
4854 impl ::std::convert::From<&IEnumCATEGORYINFO> for ::windows::runtime::IUnknown {
from(value: &IEnumCATEGORYINFO) -> Self4855     fn from(value: &IEnumCATEGORYINFO) -> Self {
4856         ::std::convert::From::from(::std::clone::Clone::clone(value))
4857     }
4858 }
4859 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumCATEGORYINFO {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4860     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4861         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4862     }
4863 }
4864 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumCATEGORYINFO {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4865     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4866         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4867     }
4868 }
4869 #[repr(C)]
4870 #[doc(hidden)]
4871 pub struct IEnumCATEGORYINFO_abi(
4872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut CATEGORYINFO, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
4876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
4877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4879 );
4880 #[repr(transparent)]
4881 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4882 pub struct IEnumConnectionPoints(::windows::runtime::IUnknown);
4883 impl IEnumConnectionPoints {
Next(&self, cconnections: u32, ppcp: *mut ::std::option::Option<IConnectionPoint>, pcfetched: *mut u32) -> ::windows::runtime::Result<()>4884     pub unsafe fn Next(&self, cconnections: u32, ppcp: *mut ::std::option::Option<IConnectionPoint>, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
4885         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cconnections), ::std::mem::transmute(ppcp), ::std::mem::transmute(pcfetched)).ok()
4886     }
Skip(&self, cconnections: u32) -> ::windows::runtime::Result<()>4887     pub unsafe fn Skip(&self, cconnections: u32) -> ::windows::runtime::Result<()> {
4888         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cconnections)).ok()
4889     }
Reset(&self) -> ::windows::runtime::Result<()>4890     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4891         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4892     }
Clone(&self) -> ::windows::runtime::Result<IEnumConnectionPoints>4893     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumConnectionPoints> {
4894         let mut result__: <IEnumConnectionPoints as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4895         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumConnectionPoints>(result__)
4896     }
4897 }
4898 unsafe impl ::windows::runtime::Interface for IEnumConnectionPoints {
4899     type Vtable = IEnumConnectionPoints_abi;
4900     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2979443333, 47796, 4122, [182, 156, 0, 170, 0, 52, 29, 7]);
4901 }
4902 impl ::std::convert::From<IEnumConnectionPoints> for ::windows::runtime::IUnknown {
from(value: IEnumConnectionPoints) -> Self4903     fn from(value: IEnumConnectionPoints) -> Self {
4904         unsafe { ::std::mem::transmute(value) }
4905     }
4906 }
4907 impl ::std::convert::From<&IEnumConnectionPoints> for ::windows::runtime::IUnknown {
from(value: &IEnumConnectionPoints) -> Self4908     fn from(value: &IEnumConnectionPoints) -> Self {
4909         ::std::convert::From::from(::std::clone::Clone::clone(value))
4910     }
4911 }
4912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumConnectionPoints {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4914         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4915     }
4916 }
4917 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumConnectionPoints {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4918     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4919         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4920     }
4921 }
4922 #[repr(C)]
4923 #[doc(hidden)]
4924 pub struct IEnumConnectionPoints_abi(
4925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cconnections: u32, ppcp: *mut ::windows::runtime::RawPtr, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
4929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cconnections: u32) -> ::windows::runtime::HRESULT,
4930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4932 );
4933 #[repr(transparent)]
4934 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4935 pub struct IEnumConnections(::windows::runtime::IUnknown);
4936 impl IEnumConnections {
Next(&self, cconnections: u32, rgcd: *mut CONNECTDATA, pcfetched: *mut u32) -> ::windows::runtime::Result<()>4937     pub unsafe fn Next(&self, cconnections: u32, rgcd: *mut CONNECTDATA, pcfetched: *mut u32) -> ::windows::runtime::Result<()> {
4938         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cconnections), ::std::mem::transmute(rgcd), ::std::mem::transmute(pcfetched)).ok()
4939     }
Skip(&self, cconnections: u32) -> ::windows::runtime::Result<()>4940     pub unsafe fn Skip(&self, cconnections: u32) -> ::windows::runtime::Result<()> {
4941         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(cconnections)).ok()
4942     }
Reset(&self) -> ::windows::runtime::Result<()>4943     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
4944         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
4945     }
Clone(&self) -> ::windows::runtime::Result<IEnumConnections>4946     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumConnections> {
4947         let mut result__: <IEnumConnections as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
4948         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumConnections>(result__)
4949     }
4950 }
4951 unsafe impl ::windows::runtime::Interface for IEnumConnections {
4952     type Vtable = IEnumConnections_abi;
4953     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2979443335, 47796, 4122, [182, 156, 0, 170, 0, 52, 29, 7]);
4954 }
4955 impl ::std::convert::From<IEnumConnections> for ::windows::runtime::IUnknown {
from(value: IEnumConnections) -> Self4956     fn from(value: IEnumConnections) -> Self {
4957         unsafe { ::std::mem::transmute(value) }
4958     }
4959 }
4960 impl ::std::convert::From<&IEnumConnections> for ::windows::runtime::IUnknown {
from(value: &IEnumConnections) -> Self4961     fn from(value: &IEnumConnections) -> Self {
4962         ::std::convert::From::from(::std::clone::Clone::clone(value))
4963     }
4964 }
4965 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumConnections {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4966     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4967         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4968     }
4969 }
4970 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumConnections {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4971     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4972         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4973     }
4974 }
4975 #[repr(C)]
4976 #[doc(hidden)]
4977 pub struct IEnumConnections_abi(
4978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cconnections: u32, rgcd: *mut ::std::mem::ManuallyDrop<CONNECTDATA>, pcfetched: *mut u32) -> ::windows::runtime::HRESULT,
4982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cconnections: u32) -> ::windows::runtime::HRESULT,
4983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4985 );
4986 #[repr(C)]
4987 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
4988 pub struct IEnumContextProps(pub u8);
4989 #[repr(transparent)]
4990 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4991 pub struct IEnumFORMATETC(::windows::runtime::IUnknown);
4992 impl IEnumFORMATETC {
Next(&self, celt: u32, rgelt: *mut FORMATETC, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>4993     pub unsafe fn Next(&self, celt: u32, rgelt: *mut FORMATETC, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
4994         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
4995     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>4996     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
4997         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
4998     }
Reset(&self) -> ::windows::runtime::Result<()>4999     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
5000         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5001     }
Clone(&self) -> ::windows::runtime::Result<IEnumFORMATETC>5002     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumFORMATETC> {
5003         let mut result__: <IEnumFORMATETC as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5004         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumFORMATETC>(result__)
5005     }
5006 }
5007 unsafe impl ::windows::runtime::Interface for IEnumFORMATETC {
5008     type Vtable = IEnumFORMATETC_abi;
5009     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(259, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5010 }
5011 impl ::std::convert::From<IEnumFORMATETC> for ::windows::runtime::IUnknown {
from(value: IEnumFORMATETC) -> Self5012     fn from(value: IEnumFORMATETC) -> Self {
5013         unsafe { ::std::mem::transmute(value) }
5014     }
5015 }
5016 impl ::std::convert::From<&IEnumFORMATETC> for ::windows::runtime::IUnknown {
from(value: &IEnumFORMATETC) -> Self5017     fn from(value: &IEnumFORMATETC) -> Self {
5018         ::std::convert::From::from(::std::clone::Clone::clone(value))
5019     }
5020 }
5021 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumFORMATETC {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5022     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5023         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5024     }
5025 }
5026 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumFORMATETC {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5027     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5028         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5029     }
5030 }
5031 #[repr(C)]
5032 #[doc(hidden)]
5033 pub struct IEnumFORMATETC_abi(
5034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5037     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut FORMATETC, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5038     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5039     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5040     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5041 );
5042 #[repr(transparent)]
5043 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5044 pub struct IEnumGUID(::windows::runtime::IUnknown);
5045 impl IEnumGUID {
Next(&self, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>5046     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
5047         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
5048     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>5049     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
5050         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
5051     }
Reset(&self) -> ::windows::runtime::Result<()>5052     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
5053         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5054     }
Clone(&self) -> ::windows::runtime::Result<IEnumGUID>5055     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumGUID> {
5056         let mut result__: <IEnumGUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5057         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumGUID>(result__)
5058     }
5059 }
5060 unsafe impl ::windows::runtime::Interface for IEnumGUID {
5061     type Vtable = IEnumGUID_abi;
5062     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(188416, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5063 }
5064 impl ::std::convert::From<IEnumGUID> for ::windows::runtime::IUnknown {
from(value: IEnumGUID) -> Self5065     fn from(value: IEnumGUID) -> Self {
5066         unsafe { ::std::mem::transmute(value) }
5067     }
5068 }
5069 impl ::std::convert::From<&IEnumGUID> for ::windows::runtime::IUnknown {
from(value: &IEnumGUID) -> Self5070     fn from(value: &IEnumGUID) -> Self {
5071         ::std::convert::From::from(::std::clone::Clone::clone(value))
5072     }
5073 }
5074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumGUID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5076         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5077     }
5078 }
5079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumGUID {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5080     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5081         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5082     }
5083 }
5084 #[repr(C)]
5085 #[doc(hidden)]
5086 pub struct IEnumGUID_abi(
5087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::GUID, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5094 );
5095 #[repr(transparent)]
5096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5097 pub struct IEnumMoniker(::windows::runtime::IUnknown);
5098 impl IEnumMoniker {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IMoniker>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>5099     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<IMoniker>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
5100         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
5101     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>5102     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
5103         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
5104     }
Reset(&self) -> ::windows::runtime::Result<()>5105     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
5106         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5107     }
Clone(&self) -> ::windows::runtime::Result<IEnumMoniker>5108     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumMoniker> {
5109         let mut result__: <IEnumMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5110         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumMoniker>(result__)
5111     }
5112 }
5113 unsafe impl ::windows::runtime::Interface for IEnumMoniker {
5114     type Vtable = IEnumMoniker_abi;
5115     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(258, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5116 }
5117 impl ::std::convert::From<IEnumMoniker> for ::windows::runtime::IUnknown {
from(value: IEnumMoniker) -> Self5118     fn from(value: IEnumMoniker) -> Self {
5119         unsafe { ::std::mem::transmute(value) }
5120     }
5121 }
5122 impl ::std::convert::From<&IEnumMoniker> for ::windows::runtime::IUnknown {
from(value: &IEnumMoniker) -> Self5123     fn from(value: &IEnumMoniker) -> Self {
5124         ::std::convert::From::from(::std::clone::Clone::clone(value))
5125     }
5126 }
5127 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumMoniker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5128     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5129         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5130     }
5131 }
5132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumMoniker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5134         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5135     }
5136 }
5137 #[repr(C)]
5138 #[doc(hidden)]
5139 pub struct IEnumMoniker_abi(
5140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5147 );
5148 #[repr(transparent)]
5149 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5150 pub struct IEnumSTATDATA(::windows::runtime::IUnknown);
5151 impl IEnumSTATDATA {
Next(&self, celt: u32, rgelt: *mut STATDATA, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>5152     pub unsafe fn Next(&self, celt: u32, rgelt: *mut STATDATA, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
5153         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
5154     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>5155     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
5156         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
5157     }
Reset(&self) -> ::windows::runtime::Result<()>5158     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
5159         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5160     }
Clone(&self) -> ::windows::runtime::Result<IEnumSTATDATA>5161     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumSTATDATA> {
5162         let mut result__: <IEnumSTATDATA as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5163         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumSTATDATA>(result__)
5164     }
5165 }
5166 unsafe impl ::windows::runtime::Interface for IEnumSTATDATA {
5167     type Vtable = IEnumSTATDATA_abi;
5168     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(261, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5169 }
5170 impl ::std::convert::From<IEnumSTATDATA> for ::windows::runtime::IUnknown {
from(value: IEnumSTATDATA) -> Self5171     fn from(value: IEnumSTATDATA) -> Self {
5172         unsafe { ::std::mem::transmute(value) }
5173     }
5174 }
5175 impl ::std::convert::From<&IEnumSTATDATA> for ::windows::runtime::IUnknown {
from(value: &IEnumSTATDATA) -> Self5176     fn from(value: &IEnumSTATDATA) -> Self {
5177         ::std::convert::From::from(::std::clone::Clone::clone(value))
5178     }
5179 }
5180 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumSTATDATA {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5181     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5182         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5183     }
5184 }
5185 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumSTATDATA {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5186     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5187         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5188     }
5189 }
5190 #[repr(C)]
5191 #[doc(hidden)]
5192 pub struct IEnumSTATDATA_abi(
5193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::std::mem::ManuallyDrop<STATDATA>, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5200 );
5201 #[repr(transparent)]
5202 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5203 pub struct IEnumString(::windows::runtime::IUnknown);
5204 impl IEnumString {
5205     #[cfg(feature = "Win32_Foundation")]
Next(&self, celt: u32, rgelt: *mut super::super::Foundation::PWSTR, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>5206     pub unsafe fn Next(&self, celt: u32, rgelt: *mut super::super::Foundation::PWSTR, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
5207         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
5208     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>5209     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
5210         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
5211     }
Reset(&self) -> ::windows::runtime::Result<()>5212     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
5213         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5214     }
Clone(&self) -> ::windows::runtime::Result<IEnumString>5215     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumString> {
5216         let mut result__: <IEnumString as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5217         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumString>(result__)
5218     }
5219 }
5220 unsafe impl ::windows::runtime::Interface for IEnumString {
5221     type Vtable = IEnumString_abi;
5222     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(257, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5223 }
5224 impl ::std::convert::From<IEnumString> for ::windows::runtime::IUnknown {
from(value: IEnumString) -> Self5225     fn from(value: IEnumString) -> Self {
5226         unsafe { ::std::mem::transmute(value) }
5227     }
5228 }
5229 impl ::std::convert::From<&IEnumString> for ::windows::runtime::IUnknown {
from(value: &IEnumString) -> Self5230     fn from(value: &IEnumString) -> Self {
5231         ::std::convert::From::from(::std::clone::Clone::clone(value))
5232     }
5233 }
5234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumString {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5236         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5237     }
5238 }
5239 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumString {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5240     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5241         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5242     }
5243 }
5244 #[repr(C)]
5245 #[doc(hidden)]
5246 pub struct IEnumString_abi(
5247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5250     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut super::super::Foundation::PWSTR, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5251     #[cfg(not(feature = "Win32_Foundation"))] usize,
5252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5255 );
5256 #[repr(transparent)]
5257 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5258 pub struct IEnumUnknown(::windows::runtime::IUnknown);
5259 impl IEnumUnknown {
Next(&self, celt: u32, rgelt: *mut ::std::option::Option<::windows::runtime::IUnknown>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()>5260     pub unsafe fn Next(&self, celt: u32, rgelt: *mut ::std::option::Option<::windows::runtime::IUnknown>, pceltfetched: *mut u32) -> ::windows::runtime::Result<()> {
5261         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt), ::std::mem::transmute(rgelt), ::std::mem::transmute(pceltfetched)).ok()
5262     }
Skip(&self, celt: u32) -> ::windows::runtime::Result<()>5263     pub unsafe fn Skip(&self, celt: u32) -> ::windows::runtime::Result<()> {
5264         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(celt)).ok()
5265     }
Reset(&self) -> ::windows::runtime::Result<()>5266     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
5267         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
5268     }
Clone(&self) -> ::windows::runtime::Result<IEnumUnknown>5269     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IEnumUnknown> {
5270         let mut result__: <IEnumUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5271         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumUnknown>(result__)
5272     }
5273 }
5274 unsafe impl ::windows::runtime::Interface for IEnumUnknown {
5275     type Vtable = IEnumUnknown_abi;
5276     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(256, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5277 }
5278 impl ::std::convert::From<IEnumUnknown> for ::windows::runtime::IUnknown {
from(value: IEnumUnknown) -> Self5279     fn from(value: IEnumUnknown) -> Self {
5280         unsafe { ::std::mem::transmute(value) }
5281     }
5282 }
5283 impl ::std::convert::From<&IEnumUnknown> for ::windows::runtime::IUnknown {
from(value: &IEnumUnknown) -> Self5284     fn from(value: &IEnumUnknown) -> Self {
5285         ::std::convert::From::from(::std::clone::Clone::clone(value))
5286     }
5287 }
5288 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnumUnknown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5289     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5290         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5291     }
5292 }
5293 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnumUnknown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5294     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5295         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5296     }
5297 }
5298 #[repr(C)]
5299 #[doc(hidden)]
5300 pub struct IEnumUnknown_abi(
5301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32, rgelt: *mut ::windows::runtime::RawPtr, pceltfetched: *mut u32) -> ::windows::runtime::HRESULT,
5305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, celt: u32) -> ::windows::runtime::HRESULT,
5306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenum: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5308 );
5309 #[repr(transparent)]
5310 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5311 pub struct IExternalConnection(::windows::runtime::IUnknown);
5312 impl IExternalConnection {
AddConnection(&self, extconn: u32, reserved: u32) -> u325313     pub unsafe fn AddConnection(&self, extconn: u32, reserved: u32) -> u32 {
5314         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(extconn), ::std::mem::transmute(reserved)))
5315     }
5316     #[cfg(feature = "Win32_Foundation")]
ReleaseConnection<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, extconn: u32, reserved: u32, flastreleasecloses: Param2) -> u325317     pub unsafe fn ReleaseConnection<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, extconn: u32, reserved: u32, flastreleasecloses: Param2) -> u32 {
5318         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(extconn), ::std::mem::transmute(reserved), flastreleasecloses.into_param().abi()))
5319     }
5320 }
5321 unsafe impl ::windows::runtime::Interface for IExternalConnection {
5322     type Vtable = IExternalConnection_abi;
5323     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(25, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5324 }
5325 impl ::std::convert::From<IExternalConnection> for ::windows::runtime::IUnknown {
from(value: IExternalConnection) -> Self5326     fn from(value: IExternalConnection) -> Self {
5327         unsafe { ::std::mem::transmute(value) }
5328     }
5329 }
5330 impl ::std::convert::From<&IExternalConnection> for ::windows::runtime::IUnknown {
from(value: &IExternalConnection) -> Self5331     fn from(value: &IExternalConnection) -> Self {
5332         ::std::convert::From::from(::std::clone::Clone::clone(value))
5333     }
5334 }
5335 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IExternalConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5336     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5337         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5338     }
5339 }
5340 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IExternalConnection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5341     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5342         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5343     }
5344 }
5345 #[repr(C)]
5346 #[doc(hidden)]
5347 pub struct IExternalConnection_abi(
5348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, extconn: u32, reserved: u32) -> u32,
5352     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, extconn: u32, reserved: u32, flastreleasecloses: super::super::Foundation::BOOL) -> u32,
5353     #[cfg(not(feature = "Win32_Foundation"))] usize,
5354 );
5355 #[repr(transparent)]
5356 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5357 pub struct IFastRundown(::windows::runtime::IUnknown);
5358 impl IFastRundown {}
5359 unsafe impl ::windows::runtime::Interface for IFastRundown {
5360     type Vtable = IFastRundown_abi;
5361     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(64, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5362 }
5363 impl ::std::convert::From<IFastRundown> for ::windows::runtime::IUnknown {
from(value: IFastRundown) -> Self5364     fn from(value: IFastRundown) -> Self {
5365         unsafe { ::std::mem::transmute(value) }
5366     }
5367 }
5368 impl ::std::convert::From<&IFastRundown> for ::windows::runtime::IUnknown {
from(value: &IFastRundown) -> Self5369     fn from(value: &IFastRundown) -> Self {
5370         ::std::convert::From::from(::std::clone::Clone::clone(value))
5371     }
5372 }
5373 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IFastRundown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5374     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5375         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5376     }
5377 }
5378 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IFastRundown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5379     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5380         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5381     }
5382 }
5383 #[repr(C)]
5384 #[doc(hidden)]
5385 pub struct IFastRundown_abi(
5386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5389 );
5390 #[repr(transparent)]
5391 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5392 pub struct IForegroundTransfer(::windows::runtime::IUnknown);
5393 impl IForegroundTransfer {
AllowForegroundTransfer(&self, lpvreserved: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5394     pub unsafe fn AllowForegroundTransfer(&self, lpvreserved: *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5395         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(lpvreserved)).ok()
5396     }
5397 }
5398 unsafe impl ::windows::runtime::Interface for IForegroundTransfer {
5399     type Vtable = IForegroundTransfer_abi;
5400     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(325, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5401 }
5402 impl ::std::convert::From<IForegroundTransfer> for ::windows::runtime::IUnknown {
from(value: IForegroundTransfer) -> Self5403     fn from(value: IForegroundTransfer) -> Self {
5404         unsafe { ::std::mem::transmute(value) }
5405     }
5406 }
5407 impl ::std::convert::From<&IForegroundTransfer> for ::windows::runtime::IUnknown {
from(value: &IForegroundTransfer) -> Self5408     fn from(value: &IForegroundTransfer) -> Self {
5409         ::std::convert::From::from(::std::clone::Clone::clone(value))
5410     }
5411 }
5412 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IForegroundTransfer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5413     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5414         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5415     }
5416 }
5417 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IForegroundTransfer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5418     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5419         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5420     }
5421 }
5422 #[repr(C)]
5423 #[doc(hidden)]
5424 pub struct IForegroundTransfer_abi(
5425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpvreserved: *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5429 );
5430 #[repr(transparent)]
5431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5432 pub struct IGlobalInterfaceTable(::windows::runtime::IUnknown);
5433 impl IGlobalInterfaceTable {
RegisterInterfaceInGlobal<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punk: Param0, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<u32>5434     pub unsafe fn RegisterInterfaceInGlobal<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punk: Param0, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<u32> {
5435         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5436         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punk.into_param().abi(), ::std::mem::transmute(riid), &mut result__).from_abi::<u32>(result__)
5437     }
RevokeInterfaceFromGlobal(&self, dwcookie: u32) -> ::windows::runtime::Result<()>5438     pub unsafe fn RevokeInterfaceFromGlobal(&self, dwcookie: u32) -> ::windows::runtime::Result<()> {
5439         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie)).ok()
5440     }
GetInterfaceFromGlobal(&self, dwcookie: u32, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5441     pub unsafe fn GetInterfaceFromGlobal(&self, dwcookie: u32, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5442         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcookie), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
5443     }
5444 }
5445 unsafe impl ::windows::runtime::Interface for IGlobalInterfaceTable {
5446     type Vtable = IGlobalInterfaceTable_abi;
5447     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(326, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5448 }
5449 impl ::std::convert::From<IGlobalInterfaceTable> for ::windows::runtime::IUnknown {
from(value: IGlobalInterfaceTable) -> Self5450     fn from(value: IGlobalInterfaceTable) -> Self {
5451         unsafe { ::std::mem::transmute(value) }
5452     }
5453 }
5454 impl ::std::convert::From<&IGlobalInterfaceTable> for ::windows::runtime::IUnknown {
from(value: &IGlobalInterfaceTable) -> Self5455     fn from(value: &IGlobalInterfaceTable) -> Self {
5456         ::std::convert::From::from(::std::clone::Clone::clone(value))
5457     }
5458 }
5459 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IGlobalInterfaceTable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5460     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5461         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5462     }
5463 }
5464 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IGlobalInterfaceTable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5465     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5466         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5467     }
5468 }
5469 #[repr(C)]
5470 #[doc(hidden)]
5471 pub struct IGlobalInterfaceTable_abi(
5472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punk: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, pdwcookie: *mut u32) -> ::windows::runtime::HRESULT,
5476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32) -> ::windows::runtime::HRESULT,
5477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcookie: u32, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5478 );
5479 #[repr(transparent)]
5480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5481 pub struct IGlobalOptions(::windows::runtime::IUnknown);
5482 impl IGlobalOptions {
Set(&self, dwproperty: GLOBALOPT_PROPERTIES, dwvalue: usize) -> ::windows::runtime::Result<()>5483     pub unsafe fn Set(&self, dwproperty: GLOBALOPT_PROPERTIES, dwvalue: usize) -> ::windows::runtime::Result<()> {
5484         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwproperty), ::std::mem::transmute(dwvalue)).ok()
5485     }
Query(&self, dwproperty: GLOBALOPT_PROPERTIES) -> ::windows::runtime::Result<usize>5486     pub unsafe fn Query(&self, dwproperty: GLOBALOPT_PROPERTIES) -> ::windows::runtime::Result<usize> {
5487         let mut result__: <usize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5488         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwproperty), &mut result__).from_abi::<usize>(result__)
5489     }
5490 }
5491 unsafe impl ::windows::runtime::Interface for IGlobalOptions {
5492     type Vtable = IGlobalOptions_abi;
5493     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(347, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5494 }
5495 impl ::std::convert::From<IGlobalOptions> for ::windows::runtime::IUnknown {
from(value: IGlobalOptions) -> Self5496     fn from(value: IGlobalOptions) -> Self {
5497         unsafe { ::std::mem::transmute(value) }
5498     }
5499 }
5500 impl ::std::convert::From<&IGlobalOptions> for ::windows::runtime::IUnknown {
from(value: &IGlobalOptions) -> Self5501     fn from(value: &IGlobalOptions) -> Self {
5502         ::std::convert::From::from(::std::clone::Clone::clone(value))
5503     }
5504 }
5505 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IGlobalOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5506     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5507         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5508     }
5509 }
5510 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IGlobalOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5511     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5512         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5513     }
5514 }
5515 #[repr(C)]
5516 #[doc(hidden)]
5517 pub struct IGlobalOptions_abi(
5518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwproperty: GLOBALOPT_PROPERTIES, dwvalue: usize) -> ::windows::runtime::HRESULT,
5522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwproperty: GLOBALOPT_PROPERTIES, pdwvalue: *mut usize) -> ::windows::runtime::HRESULT,
5523 );
5524 #[cfg(feature = "Win32_Foundation")]
5525 #[inline]
IIDFromString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpsz: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID>5526 pub unsafe fn IIDFromString<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(lpsz: Param0) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5527     #[cfg(windows)]
5528     {
5529         #[link(name = "windows")]
5530         extern "system" {
5531             fn IIDFromString(lpsz: super::super::Foundation::PWSTR, lpiid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT;
5532         }
5533         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5534         IIDFromString(lpsz.into_param().abi(), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5535     }
5536     #[cfg(not(windows))]
5537     unimplemented!("Unsupported target OS");
5538 }
5539 #[repr(transparent)]
5540 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5541 pub struct IInitializeSpy(::windows::runtime::IUnknown);
5542 impl IInitializeSpy {
PreInitialize(&self, dwcoinit: u32, dwcurthreadaptrefs: u32) -> ::windows::runtime::Result<()>5543     pub unsafe fn PreInitialize(&self, dwcoinit: u32, dwcurthreadaptrefs: u32) -> ::windows::runtime::Result<()> {
5544         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcoinit), ::std::mem::transmute(dwcurthreadaptrefs)).ok()
5545     }
PostInitialize(&self, hrcoinit: ::windows::runtime::HRESULT, dwcoinit: u32, dwnewthreadaptrefs: u32) -> ::windows::runtime::Result<()>5546     pub unsafe fn PostInitialize(&self, hrcoinit: ::windows::runtime::HRESULT, dwcoinit: u32, dwnewthreadaptrefs: u32) -> ::windows::runtime::Result<()> {
5547         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(hrcoinit), ::std::mem::transmute(dwcoinit), ::std::mem::transmute(dwnewthreadaptrefs)).ok()
5548     }
PreUninitialize(&self, dwcurthreadaptrefs: u32) -> ::windows::runtime::Result<()>5549     pub unsafe fn PreUninitialize(&self, dwcurthreadaptrefs: u32) -> ::windows::runtime::Result<()> {
5550         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcurthreadaptrefs)).ok()
5551     }
PostUninitialize(&self, dwnewthreadaptrefs: u32) -> ::windows::runtime::Result<()>5552     pub unsafe fn PostUninitialize(&self, dwnewthreadaptrefs: u32) -> ::windows::runtime::Result<()> {
5553         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwnewthreadaptrefs)).ok()
5554     }
5555 }
5556 unsafe impl ::windows::runtime::Interface for IInitializeSpy {
5557     type Vtable = IInitializeSpy_abi;
5558     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(52, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5559 }
5560 impl ::std::convert::From<IInitializeSpy> for ::windows::runtime::IUnknown {
from(value: IInitializeSpy) -> Self5561     fn from(value: IInitializeSpy) -> Self {
5562         unsafe { ::std::mem::transmute(value) }
5563     }
5564 }
5565 impl ::std::convert::From<&IInitializeSpy> for ::windows::runtime::IUnknown {
from(value: &IInitializeSpy) -> Self5566     fn from(value: &IInitializeSpy) -> Self {
5567         ::std::convert::From::from(::std::clone::Clone::clone(value))
5568     }
5569 }
5570 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInitializeSpy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5571     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5572         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5573     }
5574 }
5575 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInitializeSpy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5576     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5577         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5578     }
5579 }
5580 #[repr(C)]
5581 #[doc(hidden)]
5582 pub struct IInitializeSpy_abi(
5583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcoinit: u32, dwcurthreadaptrefs: u32) -> ::windows::runtime::HRESULT,
5587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hrcoinit: ::windows::runtime::HRESULT, dwcoinit: u32, dwnewthreadaptrefs: u32) -> ::windows::runtime::HRESULT,
5588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcurthreadaptrefs: u32) -> ::windows::runtime::HRESULT,
5589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwnewthreadaptrefs: u32) -> ::windows::runtime::HRESULT,
5590 );
5591 #[repr(transparent)]
5592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5593 pub struct IInternalUnknown(::windows::runtime::IUnknown);
5594 impl IInternalUnknown {
QueryInternalInterface(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5595     pub unsafe fn QueryInternalInterface(&self, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5596         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), ::std::mem::transmute(ppv)).ok()
5597     }
5598 }
5599 unsafe impl ::windows::runtime::Interface for IInternalUnknown {
5600     type Vtable = IInternalUnknown_abi;
5601     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(33, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5602 }
5603 impl ::std::convert::From<IInternalUnknown> for ::windows::runtime::IUnknown {
from(value: IInternalUnknown) -> Self5604     fn from(value: IInternalUnknown) -> Self {
5605         unsafe { ::std::mem::transmute(value) }
5606     }
5607 }
5608 impl ::std::convert::From<&IInternalUnknown> for ::windows::runtime::IUnknown {
from(value: &IInternalUnknown) -> Self5609     fn from(value: &IInternalUnknown) -> Self {
5610         ::std::convert::From::from(::std::clone::Clone::clone(value))
5611     }
5612 }
5613 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IInternalUnknown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5614     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5615         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5616     }
5617 }
5618 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IInternalUnknown {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5619     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5620         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5621     }
5622 }
5623 #[repr(C)]
5624 #[doc(hidden)]
5625 pub struct IInternalUnknown_abi(
5626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5630 );
5631 #[repr(transparent)]
5632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5633 pub struct IMachineGlobalObjectTable(::windows::runtime::IUnknown);
5634 impl IMachineGlobalObjectTable {
5635     #[cfg(feature = "Win32_Foundation")]
RegisterObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, clsid: *const ::windows::runtime::GUID, identifier: Param1, object: Param2) -> ::windows::runtime::Result<*mut MachineGlobalObjectTableRegistrationToken__>5636     pub unsafe fn RegisterObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, clsid: *const ::windows::runtime::GUID, identifier: Param1, object: Param2) -> ::windows::runtime::Result<*mut MachineGlobalObjectTableRegistrationToken__> {
5637         let mut result__: <*mut MachineGlobalObjectTableRegistrationToken__ as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5638         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsid), identifier.into_param().abi(), object.into_param().abi(), &mut result__).from_abi::<*mut MachineGlobalObjectTableRegistrationToken__>(result__)
5639     }
5640     #[cfg(feature = "Win32_Foundation")]
GetObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, clsid: *const ::windows::runtime::GUID, identifier: Param1) -> ::windows::runtime::Result<T>5641     pub unsafe fn GetObject<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, clsid: *const ::windows::runtime::GUID, identifier: Param1) -> ::windows::runtime::Result<T> {
5642         let mut result__ = ::std::option::Option::None;
5643         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsid), identifier.into_param().abi(), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
5644     }
RevokeObject(&self, token: *const MachineGlobalObjectTableRegistrationToken__) -> ::windows::runtime::Result<()>5645     pub unsafe fn RevokeObject(&self, token: *const MachineGlobalObjectTableRegistrationToken__) -> ::windows::runtime::Result<()> {
5646         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(token)).ok()
5647     }
5648 }
5649 unsafe impl ::windows::runtime::Interface for IMachineGlobalObjectTable {
5650     type Vtable = IMachineGlobalObjectTable_abi;
5651     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(651626924, 63243, 17441, [169, 111, 210, 135, 143, 175, 176, 13]);
5652 }
5653 impl ::std::convert::From<IMachineGlobalObjectTable> for ::windows::runtime::IUnknown {
from(value: IMachineGlobalObjectTable) -> Self5654     fn from(value: IMachineGlobalObjectTable) -> Self {
5655         unsafe { ::std::mem::transmute(value) }
5656     }
5657 }
5658 impl ::std::convert::From<&IMachineGlobalObjectTable> for ::windows::runtime::IUnknown {
from(value: &IMachineGlobalObjectTable) -> Self5659     fn from(value: &IMachineGlobalObjectTable) -> Self {
5660         ::std::convert::From::from(::std::clone::Clone::clone(value))
5661     }
5662 }
5663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMachineGlobalObjectTable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5665         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5666     }
5667 }
5668 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMachineGlobalObjectTable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5669     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5670         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5671     }
5672 }
5673 #[repr(C)]
5674 #[doc(hidden)]
5675 pub struct IMachineGlobalObjectTable_abi(
5676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5679     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsid: *const ::windows::runtime::GUID, identifier: super::super::Foundation::PWSTR, object: ::windows::runtime::RawPtr, token: *mut *mut MachineGlobalObjectTableRegistrationToken__) -> ::windows::runtime::HRESULT,
5680     #[cfg(not(feature = "Win32_Foundation"))] usize,
5681     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsid: *const ::windows::runtime::GUID, identifier: super::super::Foundation::PWSTR, riid: *const ::windows::runtime::GUID, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
5682     #[cfg(not(feature = "Win32_Foundation"))] usize,
5683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: *const MachineGlobalObjectTableRegistrationToken__) -> ::windows::runtime::HRESULT,
5684 );
5685 #[repr(transparent)]
5686 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5687 pub struct IMalloc(::windows::runtime::IUnknown);
5688 impl IMalloc {
Alloc(&self, cb: usize) -> *mut ::std::ffi::c_void5689     pub unsafe fn Alloc(&self, cb: usize) -> *mut ::std::ffi::c_void {
5690         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cb)))
5691     }
Realloc(&self, pv: *const ::std::ffi::c_void, cb: usize) -> *mut ::std::ffi::c_void5692     pub unsafe fn Realloc(&self, pv: *const ::std::ffi::c_void, cb: usize) -> *mut ::std::ffi::c_void {
5693         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb)))
5694     }
Free(&self, pv: *const ::std::ffi::c_void)5695     pub unsafe fn Free(&self, pv: *const ::std::ffi::c_void) {
5696         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv)))
5697     }
GetSize(&self, pv: *const ::std::ffi::c_void) -> usize5698     pub unsafe fn GetSize(&self, pv: *const ::std::ffi::c_void) -> usize {
5699         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv)))
5700     }
DidAlloc(&self, pv: *const ::std::ffi::c_void) -> i325701     pub unsafe fn DidAlloc(&self, pv: *const ::std::ffi::c_void) -> i32 {
5702         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv)))
5703     }
HeapMinimize(&self)5704     pub unsafe fn HeapMinimize(&self) {
5705         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self)))
5706     }
5707 }
5708 unsafe impl ::windows::runtime::Interface for IMalloc {
5709     type Vtable = IMalloc_abi;
5710     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5711 }
5712 impl ::std::convert::From<IMalloc> for ::windows::runtime::IUnknown {
from(value: IMalloc) -> Self5713     fn from(value: IMalloc) -> Self {
5714         unsafe { ::std::mem::transmute(value) }
5715     }
5716 }
5717 impl ::std::convert::From<&IMalloc> for ::windows::runtime::IUnknown {
from(value: &IMalloc) -> Self5718     fn from(value: &IMalloc) -> Self {
5719         ::std::convert::From::from(::std::clone::Clone::clone(value))
5720     }
5721 }
5722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMalloc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5724         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5725     }
5726 }
5727 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMalloc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5728     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5729         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5730     }
5731 }
5732 #[repr(C)]
5733 #[doc(hidden)]
5734 pub struct IMalloc_abi(
5735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cb: usize) -> *mut ::std::ffi::c_void,
5739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: usize) -> *mut ::std::ffi::c_void,
5740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void),
5741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void) -> usize,
5742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void) -> i32,
5743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
5744 );
5745 #[repr(transparent)]
5746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5747 pub struct IMallocSpy(::windows::runtime::IUnknown);
5748 impl IMallocSpy {
PreAlloc(&self, cbrequest: usize) -> usize5749     pub unsafe fn PreAlloc(&self, cbrequest: usize) -> usize {
5750         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbrequest)))
5751     }
PostAlloc(&self, pactual: *const ::std::ffi::c_void) -> *mut ::std::ffi::c_void5752     pub unsafe fn PostAlloc(&self, pactual: *const ::std::ffi::c_void) -> *mut ::std::ffi::c_void {
5753         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pactual)))
5754     }
5755     #[cfg(feature = "Win32_Foundation")]
PreFree<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void5756     pub unsafe fn PreFree<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void {
5757         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(prequest), fspyed.into_param().abi()))
5758     }
5759     #[cfg(feature = "Win32_Foundation")]
PostFree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fspyed: Param0)5760     pub unsafe fn PostFree<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fspyed: Param0) {
5761         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), fspyed.into_param().abi()))
5762     }
5763     #[cfg(feature = "Win32_Foundation")]
PreRealloc<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, cbrequest: usize, ppnewrequest: *mut *mut ::std::ffi::c_void, fspyed: Param3) -> usize5764     pub unsafe fn PreRealloc<'a, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, cbrequest: usize, ppnewrequest: *mut *mut ::std::ffi::c_void, fspyed: Param3) -> usize {
5765         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(prequest), ::std::mem::transmute(cbrequest), ::std::mem::transmute(ppnewrequest), fspyed.into_param().abi()))
5766     }
5767     #[cfg(feature = "Win32_Foundation")]
PostRealloc<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pactual: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void5768     pub unsafe fn PostRealloc<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pactual: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void {
5769         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pactual), fspyed.into_param().abi()))
5770     }
5771     #[cfg(feature = "Win32_Foundation")]
PreGetSize<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void5772     pub unsafe fn PreGetSize<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void {
5773         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(prequest), fspyed.into_param().abi()))
5774     }
5775     #[cfg(feature = "Win32_Foundation")]
PostGetSize<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, cbactual: usize, fspyed: Param1) -> usize5776     pub unsafe fn PostGetSize<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, cbactual: usize, fspyed: Param1) -> usize {
5777         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(cbactual), fspyed.into_param().abi()))
5778     }
5779     #[cfg(feature = "Win32_Foundation")]
PreDidAlloc<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void5780     pub unsafe fn PreDidAlloc<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1) -> *mut ::std::ffi::c_void {
5781         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(prequest), fspyed.into_param().abi()))
5782     }
5783     #[cfg(feature = "Win32_Foundation")]
PostDidAlloc<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1, factual: i32) -> i325784     pub unsafe fn PostDidAlloc<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, prequest: *const ::std::ffi::c_void, fspyed: Param1, factual: i32) -> i32 {
5785         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(prequest), fspyed.into_param().abi(), ::std::mem::transmute(factual)))
5786     }
PreHeapMinimize(&self)5787     pub unsafe fn PreHeapMinimize(&self) {
5788         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self)))
5789     }
PostHeapMinimize(&self)5790     pub unsafe fn PostHeapMinimize(&self) {
5791         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self)))
5792     }
5793 }
5794 unsafe impl ::windows::runtime::Interface for IMallocSpy {
5795     type Vtable = IMallocSpy_abi;
5796     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(29, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5797 }
5798 impl ::std::convert::From<IMallocSpy> for ::windows::runtime::IUnknown {
from(value: IMallocSpy) -> Self5799     fn from(value: IMallocSpy) -> Self {
5800         unsafe { ::std::mem::transmute(value) }
5801     }
5802 }
5803 impl ::std::convert::From<&IMallocSpy> for ::windows::runtime::IUnknown {
from(value: &IMallocSpy) -> Self5804     fn from(value: &IMallocSpy) -> Self {
5805         ::std::convert::From::from(::std::clone::Clone::clone(value))
5806     }
5807 }
5808 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMallocSpy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5809     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5810         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5811     }
5812 }
5813 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMallocSpy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5814     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5815         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5816     }
5817 }
5818 #[repr(C)]
5819 #[doc(hidden)]
5820 pub struct IMallocSpy_abi(
5821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbrequest: usize) -> usize,
5825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pactual: *const ::std::ffi::c_void) -> *mut ::std::ffi::c_void,
5826     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequest: *const ::std::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::std::ffi::c_void,
5827     #[cfg(not(feature = "Win32_Foundation"))] usize,
5828     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fspyed: super::super::Foundation::BOOL),
5829     #[cfg(not(feature = "Win32_Foundation"))] usize,
5830     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequest: *const ::std::ffi::c_void, cbrequest: usize, ppnewrequest: *mut *mut ::std::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> usize,
5831     #[cfg(not(feature = "Win32_Foundation"))] usize,
5832     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pactual: *const ::std::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::std::ffi::c_void,
5833     #[cfg(not(feature = "Win32_Foundation"))] usize,
5834     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequest: *const ::std::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::std::ffi::c_void,
5835     #[cfg(not(feature = "Win32_Foundation"))] usize,
5836     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cbactual: usize, fspyed: super::super::Foundation::BOOL) -> usize,
5837     #[cfg(not(feature = "Win32_Foundation"))] usize,
5838     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequest: *const ::std::ffi::c_void, fspyed: super::super::Foundation::BOOL) -> *mut ::std::ffi::c_void,
5839     #[cfg(not(feature = "Win32_Foundation"))] usize,
5840     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prequest: *const ::std::ffi::c_void, fspyed: super::super::Foundation::BOOL, factual: i32) -> i32,
5841     #[cfg(not(feature = "Win32_Foundation"))] usize,
5842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
5843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
5844 );
5845 #[repr(transparent)]
5846 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5847 pub struct IMoniker(::windows::runtime::IUnknown);
5848 impl IMoniker {
GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>5849     pub unsafe fn GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
5850         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5851         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
5852     }
IsDirty(&self) -> ::windows::runtime::Result<()>5853     pub unsafe fn IsDirty(&self) -> ::windows::runtime::Result<()> {
5854         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
5855     }
Load<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>>(&self, pstm: Param0) -> ::windows::runtime::Result<()>5856     pub unsafe fn Load<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>>(&self, pstm: Param0) -> ::windows::runtime::Result<()> {
5857         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pstm.into_param().abi()).ok()
5858     }
5859     #[cfg(feature = "Win32_Foundation")]
Save<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstm: Param0, fcleardirty: Param1) -> ::windows::runtime::Result<()>5860     pub unsafe fn Save<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstm: Param0, fcleardirty: Param1) -> ::windows::runtime::Result<()> {
5861         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pstm.into_param().abi(), fcleardirty.into_param().abi()).ok()
5862     }
GetSizeMax(&self) -> ::windows::runtime::Result<u64>5863     pub unsafe fn GetSizeMax(&self) -> ::windows::runtime::Result<u64> {
5864         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5865         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
5866     }
BindToObject<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1, riidresult: *const ::windows::runtime::GUID, ppvresult: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5867     pub unsafe fn BindToObject<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1, riidresult: *const ::windows::runtime::GUID, ppvresult: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5868         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), ::std::mem::transmute(riidresult), ::std::mem::transmute(ppvresult)).ok()
5869     }
BindToStorage<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>5870     pub unsafe fn BindToStorage<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
5871         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobj)).ok()
5872     }
Reduce<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>>(&self, pbc: Param0, dwreducehowfar: u32, ppmktoleft: *mut ::std::option::Option<IMoniker>, ppmkreduced: *mut ::std::option::Option<IMoniker>) -> ::windows::runtime::Result<()>5873     pub unsafe fn Reduce<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>>(&self, pbc: Param0, dwreducehowfar: u32, ppmktoleft: *mut ::std::option::Option<IMoniker>, ppmkreduced: *mut ::std::option::Option<IMoniker>) -> ::windows::runtime::Result<()> {
5874         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), pbc.into_param().abi(), ::std::mem::transmute(dwreducehowfar), ::std::mem::transmute(ppmktoleft), ::std::mem::transmute(ppmkreduced)).ok()
5875     }
5876     #[cfg(feature = "Win32_Foundation")]
ComposeWith<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pmkright: Param0, fonlyifnotgeneric: Param1) -> ::windows::runtime::Result<IMoniker>5877     pub unsafe fn ComposeWith<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pmkright: Param0, fonlyifnotgeneric: Param1) -> ::windows::runtime::Result<IMoniker> {
5878         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5879         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), pmkright.into_param().abi(), fonlyifnotgeneric.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
5880     }
5881     #[cfg(feature = "Win32_Foundation")]
Enum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fforward: Param0) -> ::windows::runtime::Result<IEnumMoniker>5882     pub unsafe fn Enum<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fforward: Param0) -> ::windows::runtime::Result<IEnumMoniker> {
5883         let mut result__: <IEnumMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5884         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), fforward.into_param().abi(), &mut result__).from_abi::<IEnumMoniker>(result__)
5885     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkothermoniker: Param0) -> ::windows::runtime::Result<()>5886     pub unsafe fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkothermoniker: Param0) -> ::windows::runtime::Result<()> {
5887         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), pmkothermoniker.into_param().abi()).ok()
5888     }
Hash(&self) -> ::windows::runtime::Result<u32>5889     pub unsafe fn Hash(&self) -> ::windows::runtime::Result<u32> {
5890         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5891         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5892     }
IsRunning<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>, Param2: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1, pmknewlyrunning: Param2) -> ::windows::runtime::Result<()>5893     pub unsafe fn IsRunning<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>, Param2: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1, pmknewlyrunning: Param2) -> ::windows::runtime::Result<()> {
5894         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), pmknewlyrunning.into_param().abi()).ok()
5895     }
5896     #[cfg(feature = "Win32_Foundation")]
GetTimeOfLastChange<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>5897     pub unsafe fn GetTimeOfLastChange<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
5898         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5899         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
5900     }
Inverse(&self) -> ::windows::runtime::Result<IMoniker>5901     pub unsafe fn Inverse(&self) -> ::windows::runtime::Result<IMoniker> {
5902         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5903         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IMoniker>(result__)
5904     }
CommonPrefixWith<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkother: Param0) -> ::windows::runtime::Result<IMoniker>5905     pub unsafe fn CommonPrefixWith<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkother: Param0) -> ::windows::runtime::Result<IMoniker> {
5906         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5907         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pmkother.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
5908     }
RelativePathTo<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkother: Param0) -> ::windows::runtime::Result<IMoniker>5909     pub unsafe fn RelativePathTo<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkother: Param0) -> ::windows::runtime::Result<IMoniker> {
5910         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5911         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pmkother.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
5912     }
5913     #[cfg(feature = "Win32_Foundation")]
GetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>5914     pub unsafe fn GetDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pbc: Param0, pmktoleft: Param1) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
5915         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5916         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
5917     }
5918     #[cfg(feature = "Win32_Foundation")]
ParseDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pbc: Param0, pmktoleft: Param1, pszdisplayname: Param2, pcheaten: *mut u32, ppmkout: *mut ::std::option::Option<IMoniker>) -> ::windows::runtime::Result<()>5919     pub unsafe fn ParseDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pbc: Param0, pmktoleft: Param1, pszdisplayname: Param2, pcheaten: *mut u32, ppmkout: *mut ::std::option::Option<IMoniker>) -> ::windows::runtime::Result<()> {
5920         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pbc.into_param().abi(), pmktoleft.into_param().abi(), pszdisplayname.into_param().abi(), ::std::mem::transmute(pcheaten), ::std::mem::transmute(ppmkout)).ok()
5921     }
IsSystemMoniker(&self) -> ::windows::runtime::Result<u32>5922     pub unsafe fn IsSystemMoniker(&self) -> ::windows::runtime::Result<u32> {
5923         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
5924         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
5925     }
5926 }
5927 unsafe impl ::windows::runtime::Interface for IMoniker {
5928     type Vtable = IMoniker_abi;
5929     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(15, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
5930 }
5931 impl ::std::convert::From<IMoniker> for ::windows::runtime::IUnknown {
from(value: IMoniker) -> Self5932     fn from(value: IMoniker) -> Self {
5933         unsafe { ::std::mem::transmute(value) }
5934     }
5935 }
5936 impl ::std::convert::From<&IMoniker> for ::windows::runtime::IUnknown {
from(value: &IMoniker) -> Self5937     fn from(value: &IMoniker) -> Self {
5938         ::std::convert::From::from(::std::clone::Clone::clone(value))
5939     }
5940 }
5941 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMoniker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5942     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5943         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5944     }
5945 }
5946 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMoniker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5947     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5948         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5949     }
5950 }
5951 impl ::std::convert::From<IMoniker> for IPersistStream {
from(value: IMoniker) -> Self5952     fn from(value: IMoniker) -> Self {
5953         unsafe { ::std::mem::transmute(value) }
5954     }
5955 }
5956 impl ::std::convert::From<&IMoniker> for IPersistStream {
from(value: &IMoniker) -> Self5957     fn from(value: &IMoniker) -> Self {
5958         ::std::convert::From::from(::std::clone::Clone::clone(value))
5959     }
5960 }
5961 impl<'a> ::windows::runtime::IntoParam<'a, IPersistStream> for IMoniker {
into_param(self) -> ::windows::runtime::Param<'a, IPersistStream>5962     fn into_param(self) -> ::windows::runtime::Param<'a, IPersistStream> {
5963         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersistStream>::into(self))
5964     }
5965 }
5966 impl<'a> ::windows::runtime::IntoParam<'a, IPersistStream> for &IMoniker {
into_param(self) -> ::windows::runtime::Param<'a, IPersistStream>5967     fn into_param(self) -> ::windows::runtime::Param<'a, IPersistStream> {
5968         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersistStream>::into(::std::clone::Clone::clone(self)))
5969     }
5970 }
5971 impl ::std::convert::From<IMoniker> for IPersist {
from(value: IMoniker) -> Self5972     fn from(value: IMoniker) -> Self {
5973         unsafe { ::std::mem::transmute(value) }
5974     }
5975 }
5976 impl ::std::convert::From<&IMoniker> for IPersist {
from(value: &IMoniker) -> Self5977     fn from(value: &IMoniker) -> Self {
5978         ::std::convert::From::from(::std::clone::Clone::clone(value))
5979     }
5980 }
5981 impl<'a> ::windows::runtime::IntoParam<'a, IPersist> for IMoniker {
into_param(self) -> ::windows::runtime::Param<'a, IPersist>5982     fn into_param(self) -> ::windows::runtime::Param<'a, IPersist> {
5983         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersist>::into(self))
5984     }
5985 }
5986 impl<'a> ::windows::runtime::IntoParam<'a, IPersist> for &IMoniker {
into_param(self) -> ::windows::runtime::Param<'a, IPersist>5987     fn into_param(self) -> ::windows::runtime::Param<'a, IPersist> {
5988         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersist>::into(::std::clone::Clone::clone(self)))
5989     }
5990 }
5991 #[repr(C)]
5992 #[doc(hidden)]
5993 pub struct IMoniker_abi(
5994     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
5997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclassid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
5998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
5999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6000     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, fcleardirty: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6001     #[cfg(not(feature = "Win32_Foundation"))] usize,
6002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbsize: *mut u64) -> ::windows::runtime::HRESULT,
6003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pmktoleft: ::windows::runtime::RawPtr, riidresult: *const ::windows::runtime::GUID, ppvresult: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pmktoleft: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppvobj: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, dwreducehowfar: u32, ppmktoleft: *mut ::windows::runtime::RawPtr, ppmkreduced: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6006     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkright: ::windows::runtime::RawPtr, fonlyifnotgeneric: super::super::Foundation::BOOL, ppmkcomposite: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6007     #[cfg(not(feature = "Win32_Foundation"))] usize,
6008     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fforward: super::super::Foundation::BOOL, ppenummoniker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6009     #[cfg(not(feature = "Win32_Foundation"))] usize,
6010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkothermoniker: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwhash: *mut u32) -> ::windows::runtime::HRESULT,
6012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pmktoleft: ::windows::runtime::RawPtr, pmknewlyrunning: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6013     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pmktoleft: ::windows::runtime::RawPtr, pfiletime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
6014     #[cfg(not(feature = "Win32_Foundation"))] usize,
6015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkother: ::windows::runtime::RawPtr, ppmkprefix: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkother: ::windows::runtime::RawPtr, ppmkrelpath: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6018     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pmktoleft: ::windows::runtime::RawPtr, ppszdisplayname: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6019     #[cfg(not(feature = "Win32_Foundation"))] usize,
6020     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr, pmktoleft: ::windows::runtime::RawPtr, pszdisplayname: super::super::Foundation::PWSTR, pcheaten: *mut u32, ppmkout: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6021     #[cfg(not(feature = "Win32_Foundation"))] usize,
6022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwmksys: *mut u32) -> ::windows::runtime::HRESULT,
6023 );
6024 #[repr(transparent)]
6025 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6026 pub struct IMultiQI(::windows::runtime::IUnknown);
6027 impl IMultiQI {
QueryMultipleInterfaces(&self, cmqis: u32, pmqis: *mut MULTI_QI) -> ::windows::runtime::Result<()>6028     pub unsafe fn QueryMultipleInterfaces(&self, cmqis: u32, pmqis: *mut MULTI_QI) -> ::windows::runtime::Result<()> {
6029         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(cmqis), ::std::mem::transmute(pmqis)).ok()
6030     }
6031 }
6032 unsafe impl ::windows::runtime::Interface for IMultiQI {
6033     type Vtable = IMultiQI_abi;
6034     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(32, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
6035 }
6036 impl ::std::convert::From<IMultiQI> for ::windows::runtime::IUnknown {
from(value: IMultiQI) -> Self6037     fn from(value: IMultiQI) -> Self {
6038         unsafe { ::std::mem::transmute(value) }
6039     }
6040 }
6041 impl ::std::convert::From<&IMultiQI> for ::windows::runtime::IUnknown {
from(value: &IMultiQI) -> Self6042     fn from(value: &IMultiQI) -> Self {
6043         ::std::convert::From::from(::std::clone::Clone::clone(value))
6044     }
6045 }
6046 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMultiQI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6047     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6048         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6049     }
6050 }
6051 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMultiQI {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6052     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6053         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6054     }
6055 }
6056 #[repr(C)]
6057 #[doc(hidden)]
6058 pub struct IMultiQI_abi(
6059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cmqis: u32, pmqis: *mut ::std::mem::ManuallyDrop<MULTI_QI>) -> ::windows::runtime::HRESULT,
6063 );
6064 #[derive(:: std :: clone :: Clone)]
6065 #[repr(C)]
6066 pub struct INTERFACEINFO {
6067     pub pUnk: ::std::option::Option<::windows::runtime::IUnknown>,
6068     pub iid: ::windows::runtime::GUID,
6069     pub wMethod: u16,
6070 }
6071 impl INTERFACEINFO {}
6072 impl ::std::default::Default for INTERFACEINFO {
default() -> Self6073     fn default() -> Self {
6074         unsafe { ::std::mem::zeroed() }
6075     }
6076 }
6077 impl ::std::fmt::Debug for INTERFACEINFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result6078     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6079         fmt.debug_struct("INTERFACEINFO").field("pUnk", &self.pUnk).field("iid", &self.iid).field("wMethod", &self.wMethod).finish()
6080     }
6081 }
6082 impl ::std::cmp::PartialEq for INTERFACEINFO {
eq(&self, other: &Self) -> bool6083     fn eq(&self, other: &Self) -> bool {
6084         self.pUnk == other.pUnk && self.iid == other.iid && self.wMethod == other.wMethod
6085     }
6086 }
6087 impl ::std::cmp::Eq for INTERFACEINFO {}
6088 unsafe impl ::windows::runtime::Abi for INTERFACEINFO {
6089     type Abi = ::std::mem::ManuallyDrop<Self>;
6090     type DefaultType = Self;
6091 }
6092 #[repr(transparent)]
6093 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6094 pub struct INoMarshal(::windows::runtime::IUnknown);
6095 impl INoMarshal {}
6096 unsafe impl ::windows::runtime::Interface for INoMarshal {
6097     type Vtable = INoMarshal_abi;
6098     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3972557083, 49627, 19904, [133, 94, 101, 246, 197, 81, 175, 73]);
6099 }
6100 impl ::std::convert::From<INoMarshal> for ::windows::runtime::IUnknown {
from(value: INoMarshal) -> Self6101     fn from(value: INoMarshal) -> Self {
6102         unsafe { ::std::mem::transmute(value) }
6103     }
6104 }
6105 impl ::std::convert::From<&INoMarshal> for ::windows::runtime::IUnknown {
from(value: &INoMarshal) -> Self6106     fn from(value: &INoMarshal) -> Self {
6107         ::std::convert::From::from(::std::clone::Clone::clone(value))
6108     }
6109 }
6110 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for INoMarshal {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6111     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6112         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6113     }
6114 }
6115 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &INoMarshal {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6116     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6117         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6118     }
6119 }
6120 #[repr(C)]
6121 #[doc(hidden)]
6122 pub struct INoMarshal_abi(
6123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6126 );
6127 #[repr(transparent)]
6128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6129 pub struct IOplockStorage(::windows::runtime::IUnknown);
6130 impl IOplockStorage {
6131     #[cfg(feature = "Win32_Foundation")]
CreateStorageEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pwcsname: Param0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows::runtime::Result<T>6132     pub unsafe fn CreateStorageEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pwcsname: Param0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows::runtime::Result<T> {
6133         let mut result__ = ::std::option::Option::None;
6134         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pwcsname.into_param().abi(), ::std::mem::transmute(grfmode), ::std::mem::transmute(stgfmt), ::std::mem::transmute(grfattrs), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6135     }
6136     #[cfg(feature = "Win32_Foundation")]
OpenStorageEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pwcsname: Param0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows::runtime::Result<T>6137     pub unsafe fn OpenStorageEx<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, T: ::windows::runtime::Interface>(&self, pwcsname: Param0, grfmode: u32, stgfmt: u32, grfattrs: u32) -> ::windows::runtime::Result<T> {
6138         let mut result__ = ::std::option::Option::None;
6139         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pwcsname.into_param().abi(), ::std::mem::transmute(grfmode), ::std::mem::transmute(stgfmt), ::std::mem::transmute(grfattrs), &<T as ::windows::runtime::Interface>::IID, &mut result__ as *mut _ as *mut _).and_some(result__)
6140     }
6141 }
6142 unsafe impl ::windows::runtime::Interface for IOplockStorage {
6143     type Vtable = IOplockStorage_abi;
6144     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2367277108, 34937, 4561, [131, 233, 0, 192, 79, 194, 198, 212]);
6145 }
6146 impl ::std::convert::From<IOplockStorage> for ::windows::runtime::IUnknown {
from(value: IOplockStorage) -> Self6147     fn from(value: IOplockStorage) -> Self {
6148         unsafe { ::std::mem::transmute(value) }
6149     }
6150 }
6151 impl ::std::convert::From<&IOplockStorage> for ::windows::runtime::IUnknown {
from(value: &IOplockStorage) -> Self6152     fn from(value: &IOplockStorage) -> Self {
6153         ::std::convert::From::from(::std::clone::Clone::clone(value))
6154     }
6155 }
6156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IOplockStorage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6158         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6159     }
6160 }
6161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IOplockStorage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6163         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6164     }
6165 }
6166 #[repr(C)]
6167 #[doc(hidden)]
6168 pub struct IOplockStorage_abi(
6169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6172     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwcsname: super::super::Foundation::PWSTR, grfmode: u32, stgfmt: u32, grfattrs: u32, riid: *const ::windows::runtime::GUID, ppstgopen: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6173     #[cfg(not(feature = "Win32_Foundation"))] usize,
6174     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwcsname: super::super::Foundation::PWSTR, grfmode: u32, stgfmt: u32, grfattrs: u32, riid: *const ::windows::runtime::GUID, ppstgopen: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6175     #[cfg(not(feature = "Win32_Foundation"))] usize,
6176 );
6177 #[repr(transparent)]
6178 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6179 pub struct IPSFactoryBuffer(::windows::runtime::IUnknown);
6180 impl IPSFactoryBuffer {
CreateProxy<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, riid: *const ::windows::runtime::GUID, ppproxy: *mut ::std::option::Option<IRpcProxyBuffer>, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6181     pub unsafe fn CreateProxy<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkouter: Param0, riid: *const ::windows::runtime::GUID, ppproxy: *mut ::std::option::Option<IRpcProxyBuffer>, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6182         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punkouter.into_param().abi(), ::std::mem::transmute(riid), ::std::mem::transmute(ppproxy), ::std::mem::transmute(ppv)).ok()
6183     }
CreateStub<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, punkserver: Param1) -> ::windows::runtime::Result<IRpcStubBuffer>6184     pub unsafe fn CreateStub<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, riid: *const ::windows::runtime::GUID, punkserver: Param1) -> ::windows::runtime::Result<IRpcStubBuffer> {
6185         let mut result__: <IRpcStubBuffer as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6186         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid), punkserver.into_param().abi(), &mut result__).from_abi::<IRpcStubBuffer>(result__)
6187     }
6188 }
6189 unsafe impl ::windows::runtime::Interface for IPSFactoryBuffer {
6190     type Vtable = IPSFactoryBuffer_abi;
6191     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3589630416, 22843, 4122, [181, 105, 8, 0, 43, 45, 191, 122]);
6192 }
6193 impl ::std::convert::From<IPSFactoryBuffer> for ::windows::runtime::IUnknown {
from(value: IPSFactoryBuffer) -> Self6194     fn from(value: IPSFactoryBuffer) -> Self {
6195         unsafe { ::std::mem::transmute(value) }
6196     }
6197 }
6198 impl ::std::convert::From<&IPSFactoryBuffer> for ::windows::runtime::IUnknown {
from(value: &IPSFactoryBuffer) -> Self6199     fn from(value: &IPSFactoryBuffer) -> Self {
6200         ::std::convert::From::from(::std::clone::Clone::clone(value))
6201     }
6202 }
6203 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPSFactoryBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6204     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6205         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6206     }
6207 }
6208 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPSFactoryBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6209     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6210         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6211     }
6212 }
6213 #[repr(C)]
6214 #[doc(hidden)]
6215 pub struct IPSFactoryBuffer_abi(
6216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6218     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkouter: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, ppproxy: *mut ::windows::runtime::RawPtr, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID, punkserver: ::windows::runtime::RawPtr, ppstub: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6221 );
6222 #[repr(transparent)]
6223 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6224 pub struct IPersist(::windows::runtime::IUnknown);
6225 impl IPersist {
GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6226     pub unsafe fn GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6227         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6228         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6229     }
6230 }
6231 unsafe impl ::windows::runtime::Interface for IPersist {
6232     type Vtable = IPersist_abi;
6233     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(268, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
6234 }
6235 impl ::std::convert::From<IPersist> for ::windows::runtime::IUnknown {
from(value: IPersist) -> Self6236     fn from(value: IPersist) -> Self {
6237         unsafe { ::std::mem::transmute(value) }
6238     }
6239 }
6240 impl ::std::convert::From<&IPersist> for ::windows::runtime::IUnknown {
from(value: &IPersist) -> Self6241     fn from(value: &IPersist) -> Self {
6242         ::std::convert::From::from(::std::clone::Clone::clone(value))
6243     }
6244 }
6245 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPersist {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6246     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6247         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6248     }
6249 }
6250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPersist {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6253     }
6254 }
6255 #[repr(C)]
6256 #[doc(hidden)]
6257 pub struct IPersist_abi(
6258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclassid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6262 );
6263 #[repr(transparent)]
6264 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6265 pub struct IPersistFile(::windows::runtime::IUnknown);
6266 impl IPersistFile {
GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6267     pub unsafe fn GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6268         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6269         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6270     }
IsDirty(&self) -> ::windows::runtime::Result<()>6271     pub unsafe fn IsDirty(&self) -> ::windows::runtime::Result<()> {
6272         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
6273     }
6274     #[cfg(feature = "Win32_Foundation")]
Load<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, dwmode: u32) -> ::windows::runtime::Result<()>6275     pub unsafe fn Load<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0, dwmode: u32) -> ::windows::runtime::Result<()> {
6276         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pszfilename.into_param().abi(), ::std::mem::transmute(dwmode)).ok()
6277     }
6278     #[cfg(feature = "Win32_Foundation")]
Save<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszfilename: Param0, fremember: Param1) -> ::windows::runtime::Result<()>6279     pub unsafe fn Save<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pszfilename: Param0, fremember: Param1) -> ::windows::runtime::Result<()> {
6280         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pszfilename.into_param().abi(), fremember.into_param().abi()).ok()
6281     }
6282     #[cfg(feature = "Win32_Foundation")]
SaveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0) -> ::windows::runtime::Result<()>6283     pub unsafe fn SaveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pszfilename: Param0) -> ::windows::runtime::Result<()> {
6284         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pszfilename.into_param().abi()).ok()
6285     }
6286     #[cfg(feature = "Win32_Foundation")]
GetCurFile(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>6287     pub unsafe fn GetCurFile(&self) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
6288         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6289         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
6290     }
6291 }
6292 unsafe impl ::windows::runtime::Interface for IPersistFile {
6293     type Vtable = IPersistFile_abi;
6294     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(267, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
6295 }
6296 impl ::std::convert::From<IPersistFile> for ::windows::runtime::IUnknown {
from(value: IPersistFile) -> Self6297     fn from(value: IPersistFile) -> Self {
6298         unsafe { ::std::mem::transmute(value) }
6299     }
6300 }
6301 impl ::std::convert::From<&IPersistFile> for ::windows::runtime::IUnknown {
from(value: &IPersistFile) -> Self6302     fn from(value: &IPersistFile) -> Self {
6303         ::std::convert::From::from(::std::clone::Clone::clone(value))
6304     }
6305 }
6306 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPersistFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6307     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6308         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6309     }
6310 }
6311 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPersistFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6312     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6313         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6314     }
6315 }
6316 impl ::std::convert::From<IPersistFile> for IPersist {
from(value: IPersistFile) -> Self6317     fn from(value: IPersistFile) -> Self {
6318         unsafe { ::std::mem::transmute(value) }
6319     }
6320 }
6321 impl ::std::convert::From<&IPersistFile> for IPersist {
from(value: &IPersistFile) -> Self6322     fn from(value: &IPersistFile) -> Self {
6323         ::std::convert::From::from(::std::clone::Clone::clone(value))
6324     }
6325 }
6326 impl<'a> ::windows::runtime::IntoParam<'a, IPersist> for IPersistFile {
into_param(self) -> ::windows::runtime::Param<'a, IPersist>6327     fn into_param(self) -> ::windows::runtime::Param<'a, IPersist> {
6328         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersist>::into(self))
6329     }
6330 }
6331 impl<'a> ::windows::runtime::IntoParam<'a, IPersist> for &IPersistFile {
into_param(self) -> ::windows::runtime::Param<'a, IPersist>6332     fn into_param(self) -> ::windows::runtime::Param<'a, IPersist> {
6333         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersist>::into(::std::clone::Clone::clone(self)))
6334     }
6335 }
6336 #[repr(C)]
6337 #[doc(hidden)]
6338 pub struct IPersistFile_abi(
6339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclassid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6344     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfilename: super::super::Foundation::PWSTR, dwmode: u32) -> ::windows::runtime::HRESULT,
6345     #[cfg(not(feature = "Win32_Foundation"))] usize,
6346     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfilename: super::super::Foundation::PWSTR, fremember: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6347     #[cfg(not(feature = "Win32_Foundation"))] usize,
6348     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pszfilename: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6349     #[cfg(not(feature = "Win32_Foundation"))] usize,
6350     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppszfilename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
6351     #[cfg(not(feature = "Win32_Foundation"))] usize,
6352 );
6353 #[repr(transparent)]
6354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6355 pub struct IPersistStream(::windows::runtime::IUnknown);
6356 impl IPersistStream {
GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6357     pub unsafe fn GetClassID(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6358         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6359         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6360     }
IsDirty(&self) -> ::windows::runtime::Result<()>6361     pub unsafe fn IsDirty(&self) -> ::windows::runtime::Result<()> {
6362         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
6363     }
Load<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>>(&self, pstm: Param0) -> ::windows::runtime::Result<()>6364     pub unsafe fn Load<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>>(&self, pstm: Param0) -> ::windows::runtime::Result<()> {
6365         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pstm.into_param().abi()).ok()
6366     }
6367     #[cfg(feature = "Win32_Foundation")]
Save<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstm: Param0, fcleardirty: Param1) -> ::windows::runtime::Result<()>6368     pub unsafe fn Save<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, pstm: Param0, fcleardirty: Param1) -> ::windows::runtime::Result<()> {
6369         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pstm.into_param().abi(), fcleardirty.into_param().abi()).ok()
6370     }
GetSizeMax(&self) -> ::windows::runtime::Result<u64>6371     pub unsafe fn GetSizeMax(&self) -> ::windows::runtime::Result<u64> {
6372         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6373         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u64>(result__)
6374     }
6375 }
6376 unsafe impl ::windows::runtime::Interface for IPersistStream {
6377     type Vtable = IPersistStream_abi;
6378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(265, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
6379 }
6380 impl ::std::convert::From<IPersistStream> for ::windows::runtime::IUnknown {
from(value: IPersistStream) -> Self6381     fn from(value: IPersistStream) -> Self {
6382         unsafe { ::std::mem::transmute(value) }
6383     }
6384 }
6385 impl ::std::convert::From<&IPersistStream> for ::windows::runtime::IUnknown {
from(value: &IPersistStream) -> Self6386     fn from(value: &IPersistStream) -> Self {
6387         ::std::convert::From::from(::std::clone::Clone::clone(value))
6388     }
6389 }
6390 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6391     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6392         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6393     }
6394 }
6395 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6396     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6397         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6398     }
6399 }
6400 impl ::std::convert::From<IPersistStream> for IPersist {
from(value: IPersistStream) -> Self6401     fn from(value: IPersistStream) -> Self {
6402         unsafe { ::std::mem::transmute(value) }
6403     }
6404 }
6405 impl ::std::convert::From<&IPersistStream> for IPersist {
from(value: &IPersistStream) -> Self6406     fn from(value: &IPersistStream) -> Self {
6407         ::std::convert::From::from(::std::clone::Clone::clone(value))
6408     }
6409 }
6410 impl<'a> ::windows::runtime::IntoParam<'a, IPersist> for IPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, IPersist>6411     fn into_param(self) -> ::windows::runtime::Param<'a, IPersist> {
6412         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersist>::into(self))
6413     }
6414 }
6415 impl<'a> ::windows::runtime::IntoParam<'a, IPersist> for &IPersistStream {
into_param(self) -> ::windows::runtime::Param<'a, IPersist>6416     fn into_param(self) -> ::windows::runtime::Param<'a, IPersist> {
6417         ::windows::runtime::Param::Owned(::std::convert::Into::<IPersist>::into(::std::clone::Clone::clone(self)))
6418     }
6419 }
6420 #[repr(C)]
6421 #[doc(hidden)]
6422 pub struct IPersistStream_abi(
6423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pclassid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6429     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, fcleardirty: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6430     #[cfg(not(feature = "Win32_Foundation"))] usize,
6431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcbsize: *mut u64) -> ::windows::runtime::HRESULT,
6432 );
6433 #[repr(transparent)]
6434 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6435 pub struct IPipeByte(::windows::runtime::IUnknown);
6436 impl IPipeByte {
Pull(&self, buf: *mut u8, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::Result<()>6437     pub unsafe fn Pull(&self, buf: *mut u8, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::Result<()> {
6438         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(crequest), ::std::mem::transmute(pcreturned)).ok()
6439     }
Push(&self, buf: *const u8, csent: u32) -> ::windows::runtime::Result<()>6440     pub unsafe fn Push(&self, buf: *const u8, csent: u32) -> ::windows::runtime::Result<()> {
6441         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(csent)).ok()
6442     }
6443 }
6444 unsafe impl ::windows::runtime::Interface for IPipeByte {
6445     type Vtable = IPipeByte_abi;
6446     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677305546, 12166, 4561, [142, 4, 0, 192, 79, 185, 152, 154]);
6447 }
6448 impl ::std::convert::From<IPipeByte> for ::windows::runtime::IUnknown {
from(value: IPipeByte) -> Self6449     fn from(value: IPipeByte) -> Self {
6450         unsafe { ::std::mem::transmute(value) }
6451     }
6452 }
6453 impl ::std::convert::From<&IPipeByte> for ::windows::runtime::IUnknown {
from(value: &IPipeByte) -> Self6454     fn from(value: &IPipeByte) -> Self {
6455         ::std::convert::From::from(::std::clone::Clone::clone(value))
6456     }
6457 }
6458 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPipeByte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6459     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6460         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6461     }
6462 }
6463 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPipeByte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6464     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6465         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6466     }
6467 }
6468 #[repr(C)]
6469 #[doc(hidden)]
6470 pub struct IPipeByte_abi(
6471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *mut u8, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::HRESULT,
6475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *const u8, csent: u32) -> ::windows::runtime::HRESULT,
6476 );
6477 #[repr(transparent)]
6478 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6479 pub struct IPipeDouble(::windows::runtime::IUnknown);
6480 impl IPipeDouble {
Pull(&self, buf: *mut f64, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::Result<()>6481     pub unsafe fn Pull(&self, buf: *mut f64, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::Result<()> {
6482         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(crequest), ::std::mem::transmute(pcreturned)).ok()
6483     }
Push(&self, buf: *const f64, csent: u32) -> ::windows::runtime::Result<()>6484     pub unsafe fn Push(&self, buf: *const f64, csent: u32) -> ::windows::runtime::Result<()> {
6485         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(csent)).ok()
6486     }
6487 }
6488 unsafe impl ::windows::runtime::Interface for IPipeDouble {
6489     type Vtable = IPipeDouble_abi;
6490     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677305550, 12166, 4561, [142, 4, 0, 192, 79, 185, 152, 154]);
6491 }
6492 impl ::std::convert::From<IPipeDouble> for ::windows::runtime::IUnknown {
from(value: IPipeDouble) -> Self6493     fn from(value: IPipeDouble) -> Self {
6494         unsafe { ::std::mem::transmute(value) }
6495     }
6496 }
6497 impl ::std::convert::From<&IPipeDouble> for ::windows::runtime::IUnknown {
from(value: &IPipeDouble) -> Self6498     fn from(value: &IPipeDouble) -> Self {
6499         ::std::convert::From::from(::std::clone::Clone::clone(value))
6500     }
6501 }
6502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPipeDouble {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6505     }
6506 }
6507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPipeDouble {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6510     }
6511 }
6512 #[repr(C)]
6513 #[doc(hidden)]
6514 pub struct IPipeDouble_abi(
6515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *mut f64, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::HRESULT,
6519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *const f64, csent: u32) -> ::windows::runtime::HRESULT,
6520 );
6521 #[repr(transparent)]
6522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6523 pub struct IPipeLong(::windows::runtime::IUnknown);
6524 impl IPipeLong {
Pull(&self, buf: *mut i32, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::Result<()>6525     pub unsafe fn Pull(&self, buf: *mut i32, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::Result<()> {
6526         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(crequest), ::std::mem::transmute(pcreturned)).ok()
6527     }
Push(&self, buf: *const i32, csent: u32) -> ::windows::runtime::Result<()>6528     pub unsafe fn Push(&self, buf: *const i32, csent: u32) -> ::windows::runtime::Result<()> {
6529         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(buf), ::std::mem::transmute(csent)).ok()
6530     }
6531 }
6532 unsafe impl ::windows::runtime::Interface for IPipeLong {
6533     type Vtable = IPipeLong_abi;
6534     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3677305548, 12166, 4561, [142, 4, 0, 192, 79, 185, 152, 154]);
6535 }
6536 impl ::std::convert::From<IPipeLong> for ::windows::runtime::IUnknown {
from(value: IPipeLong) -> Self6537     fn from(value: IPipeLong) -> Self {
6538         unsafe { ::std::mem::transmute(value) }
6539     }
6540 }
6541 impl ::std::convert::From<&IPipeLong> for ::windows::runtime::IUnknown {
from(value: &IPipeLong) -> Self6542     fn from(value: &IPipeLong) -> Self {
6543         ::std::convert::From::from(::std::clone::Clone::clone(value))
6544     }
6545 }
6546 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IPipeLong {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6547     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6548         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6549     }
6550 }
6551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IPipeLong {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6553         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6554     }
6555 }
6556 #[repr(C)]
6557 #[doc(hidden)]
6558 pub struct IPipeLong_abi(
6559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *mut i32, crequest: u32, pcreturned: *mut u32) -> ::windows::runtime::HRESULT,
6563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buf: *const i32, csent: u32) -> ::windows::runtime::HRESULT,
6564 );
6565 #[repr(transparent)]
6566 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6567 pub struct IProcessInitControl(::windows::runtime::IUnknown);
6568 impl IProcessInitControl {
ResetInitializerTimeout(&self, dwsecondsremaining: u32) -> ::windows::runtime::Result<()>6569     pub unsafe fn ResetInitializerTimeout(&self, dwsecondsremaining: u32) -> ::windows::runtime::Result<()> {
6570         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwsecondsremaining)).ok()
6571     }
6572 }
6573 unsafe impl ::windows::runtime::Interface for IProcessInitControl {
6574     type Vtable = IProcessInitControl_abi;
6575     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1916276053, 36139, 17315, [133, 19, 43, 110, 243, 20, 52, 233]);
6576 }
6577 impl ::std::convert::From<IProcessInitControl> for ::windows::runtime::IUnknown {
from(value: IProcessInitControl) -> Self6578     fn from(value: IProcessInitControl) -> Self {
6579         unsafe { ::std::mem::transmute(value) }
6580     }
6581 }
6582 impl ::std::convert::From<&IProcessInitControl> for ::windows::runtime::IUnknown {
from(value: &IProcessInitControl) -> Self6583     fn from(value: &IProcessInitControl) -> Self {
6584         ::std::convert::From::from(::std::clone::Clone::clone(value))
6585     }
6586 }
6587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProcessInitControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6589         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6590     }
6591 }
6592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProcessInitControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6594         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6595     }
6596 }
6597 #[repr(C)]
6598 #[doc(hidden)]
6599 pub struct IProcessInitControl_abi(
6600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwsecondsremaining: u32) -> ::windows::runtime::HRESULT,
6604 );
6605 #[repr(transparent)]
6606 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6607 pub struct IProcessLock(::windows::runtime::IUnknown);
6608 impl IProcessLock {
AddRefOnProcess(&self) -> u326609     pub unsafe fn AddRefOnProcess(&self) -> u32 {
6610         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self)))
6611     }
ReleaseRefOnProcess(&self) -> u326612     pub unsafe fn ReleaseRefOnProcess(&self) -> u32 {
6613         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
6614     }
6615 }
6616 unsafe impl ::windows::runtime::Interface for IProcessLock {
6617     type Vtable = IProcessLock_abi;
6618     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(469, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
6619 }
6620 impl ::std::convert::From<IProcessLock> for ::windows::runtime::IUnknown {
from(value: IProcessLock) -> Self6621     fn from(value: IProcessLock) -> Self {
6622         unsafe { ::std::mem::transmute(value) }
6623     }
6624 }
6625 impl ::std::convert::From<&IProcessLock> for ::windows::runtime::IUnknown {
from(value: &IProcessLock) -> Self6626     fn from(value: &IProcessLock) -> Self {
6627         ::std::convert::From::from(::std::clone::Clone::clone(value))
6628     }
6629 }
6630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProcessLock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6632         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6633     }
6634 }
6635 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProcessLock {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6636     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6637         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6638     }
6639 }
6640 #[repr(C)]
6641 #[doc(hidden)]
6642 pub struct IProcessLock_abi(
6643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6648 );
6649 #[repr(transparent)]
6650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6651 pub struct IProgressNotify(::windows::runtime::IUnknown);
6652 impl IProgressNotify {
6653     #[cfg(feature = "Win32_Foundation")]
OnProgress<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, dwprogresscurrent: u32, dwprogressmaximum: u32, faccurate: Param2, fowner: Param3) -> ::windows::runtime::Result<()>6654     pub unsafe fn OnProgress<'a, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, dwprogresscurrent: u32, dwprogressmaximum: u32, faccurate: Param2, fowner: Param3) -> ::windows::runtime::Result<()> {
6655         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwprogresscurrent), ::std::mem::transmute(dwprogressmaximum), faccurate.into_param().abi(), fowner.into_param().abi()).ok()
6656     }
6657 }
6658 unsafe impl ::windows::runtime::Interface for IProgressNotify {
6659     type Vtable = IProgressNotify_abi;
6660     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2849462432, 17943, 4559, [149, 252, 0, 170, 0, 104, 13, 180]);
6661 }
6662 impl ::std::convert::From<IProgressNotify> for ::windows::runtime::IUnknown {
from(value: IProgressNotify) -> Self6663     fn from(value: IProgressNotify) -> Self {
6664         unsafe { ::std::mem::transmute(value) }
6665     }
6666 }
6667 impl ::std::convert::From<&IProgressNotify> for ::windows::runtime::IUnknown {
from(value: &IProgressNotify) -> Self6668     fn from(value: &IProgressNotify) -> Self {
6669         ::std::convert::From::from(::std::clone::Clone::clone(value))
6670     }
6671 }
6672 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IProgressNotify {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6673     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6674         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6675     }
6676 }
6677 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IProgressNotify {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6678     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6679         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6680     }
6681 }
6682 #[repr(C)]
6683 #[doc(hidden)]
6684 pub struct IProgressNotify_abi(
6685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6688     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwprogresscurrent: u32, dwprogressmaximum: u32, faccurate: super::super::Foundation::BOOL, fowner: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
6689     #[cfg(not(feature = "Win32_Foundation"))] usize,
6690 );
6691 #[repr(transparent)]
6692 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6693 pub struct IROTData(::windows::runtime::IUnknown);
6694 impl IROTData {
GetComparisonData(&self, pbdata: *mut u8, cbmax: u32, pcbdata: *mut u32) -> ::windows::runtime::Result<()>6695     pub unsafe fn GetComparisonData(&self, pbdata: *mut u8, cbmax: u32, pcbdata: *mut u32) -> ::windows::runtime::Result<()> {
6696         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pbdata), ::std::mem::transmute(cbmax), ::std::mem::transmute(pcbdata)).ok()
6697     }
6698 }
6699 unsafe impl ::windows::runtime::Interface for IROTData {
6700     type Vtable = IROTData_abi;
6701     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4070534080, 20513, 4558, [170, 21, 0, 0, 105, 1, 41, 63]);
6702 }
6703 impl ::std::convert::From<IROTData> for ::windows::runtime::IUnknown {
from(value: IROTData) -> Self6704     fn from(value: IROTData) -> Self {
6705         unsafe { ::std::mem::transmute(value) }
6706     }
6707 }
6708 impl ::std::convert::From<&IROTData> for ::windows::runtime::IUnknown {
from(value: &IROTData) -> Self6709     fn from(value: &IROTData) -> Self {
6710         ::std::convert::From::from(::std::clone::Clone::clone(value))
6711     }
6712 }
6713 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IROTData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6714     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6715         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6716     }
6717 }
6718 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IROTData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6719     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6720         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6721     }
6722 }
6723 #[repr(C)]
6724 #[doc(hidden)]
6725 pub struct IROTData_abi(
6726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbdata: *mut u8, cbmax: u32, pcbdata: *mut u32) -> ::windows::runtime::HRESULT,
6730 );
6731 #[repr(transparent)]
6732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6733 pub struct IReleaseMarshalBuffers(::windows::runtime::IUnknown);
6734 impl IReleaseMarshalBuffers {
ReleaseMarshalBuffer<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmsg: *mut RPCOLEMESSAGE, dwflags: u32, pchnl: Param2) -> ::windows::runtime::Result<()>6735     pub unsafe fn ReleaseMarshalBuffer<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pmsg: *mut RPCOLEMESSAGE, dwflags: u32, pchnl: Param2) -> ::windows::runtime::Result<()> {
6736         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(dwflags), pchnl.into_param().abi()).ok()
6737     }
6738 }
6739 unsafe impl ::windows::runtime::Interface for IReleaseMarshalBuffers {
6740     type Vtable = IReleaseMarshalBuffers_abi;
6741     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3943479784, 31126, 4562, [135, 46, 0, 0, 248, 8, 8, 89]);
6742 }
6743 impl ::std::convert::From<IReleaseMarshalBuffers> for ::windows::runtime::IUnknown {
from(value: IReleaseMarshalBuffers) -> Self6744     fn from(value: IReleaseMarshalBuffers) -> Self {
6745         unsafe { ::std::mem::transmute(value) }
6746     }
6747 }
6748 impl ::std::convert::From<&IReleaseMarshalBuffers> for ::windows::runtime::IUnknown {
from(value: &IReleaseMarshalBuffers) -> Self6749     fn from(value: &IReleaseMarshalBuffers) -> Self {
6750         ::std::convert::From::from(::std::clone::Clone::clone(value))
6751     }
6752 }
6753 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IReleaseMarshalBuffers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6754     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6755         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6756     }
6757 }
6758 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IReleaseMarshalBuffers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6759     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6760         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6761     }
6762 }
6763 #[repr(C)]
6764 #[doc(hidden)]
6765 pub struct IReleaseMarshalBuffers_abi(
6766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE, dwflags: u32, pchnl: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6770 );
6771 #[repr(transparent)]
6772 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6773 pub struct IRpcChannelBuffer(::windows::runtime::IUnknown);
6774 impl IRpcChannelBuffer {
GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6775     pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6776         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(riid)).ok()
6777     }
SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()>6778     pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()> {
6779         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(pstatus)).ok()
6780     }
FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()>6781     pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()> {
6782         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage)).ok()
6783     }
GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6784     pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6785         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwdestcontext), ::std::mem::transmute(ppvdestcontext)).ok()
6786     }
IsConnected(&self) -> ::windows::runtime::Result<()>6787     pub unsafe fn IsConnected(&self) -> ::windows::runtime::Result<()> {
6788         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
6789     }
6790 }
6791 unsafe impl ::windows::runtime::Interface for IRpcChannelBuffer {
6792     type Vtable = IRpcChannelBuffer_abi;
6793     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3589630816, 22843, 4122, [181, 105, 8, 0, 43, 45, 191, 122]);
6794 }
6795 impl ::std::convert::From<IRpcChannelBuffer> for ::windows::runtime::IUnknown {
from(value: IRpcChannelBuffer) -> Self6796     fn from(value: IRpcChannelBuffer) -> Self {
6797         unsafe { ::std::mem::transmute(value) }
6798     }
6799 }
6800 impl ::std::convert::From<&IRpcChannelBuffer> for ::windows::runtime::IUnknown {
from(value: &IRpcChannelBuffer) -> Self6801     fn from(value: &IRpcChannelBuffer) -> Self {
6802         ::std::convert::From::from(::std::clone::Clone::clone(value))
6803     }
6804 }
6805 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6806     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6807         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6808     }
6809 }
6810 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcChannelBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6811     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6812         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6813     }
6814 }
6815 #[repr(C)]
6816 #[doc(hidden)]
6817 pub struct IRpcChannelBuffer_abi(
6818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
6823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::HRESULT,
6824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6826 );
6827 #[repr(transparent)]
6828 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6829 pub struct IRpcChannelBuffer2(::windows::runtime::IUnknown);
6830 impl IRpcChannelBuffer2 {
GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6831     pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6832         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(riid)).ok()
6833     }
SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()>6834     pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()> {
6835         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(pstatus)).ok()
6836     }
FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()>6837     pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()> {
6838         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage)).ok()
6839     }
GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6840     pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6841         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwdestcontext), ::std::mem::transmute(ppvdestcontext)).ok()
6842     }
IsConnected(&self) -> ::windows::runtime::Result<()>6843     pub unsafe fn IsConnected(&self) -> ::windows::runtime::Result<()> {
6844         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
6845     }
GetProtocolVersion(&self) -> ::windows::runtime::Result<u32>6846     pub unsafe fn GetProtocolVersion(&self) -> ::windows::runtime::Result<u32> {
6847         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6848         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6849     }
6850 }
6851 unsafe impl ::windows::runtime::Interface for IRpcChannelBuffer2 {
6852     type Vtable = IRpcChannelBuffer2_abi;
6853     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1498362320, 32537, 4560, [177, 148, 0, 160, 201, 13, 200, 191]);
6854 }
6855 impl ::std::convert::From<IRpcChannelBuffer2> for ::windows::runtime::IUnknown {
from(value: IRpcChannelBuffer2) -> Self6856     fn from(value: IRpcChannelBuffer2) -> Self {
6857         unsafe { ::std::mem::transmute(value) }
6858     }
6859 }
6860 impl ::std::convert::From<&IRpcChannelBuffer2> for ::windows::runtime::IUnknown {
from(value: &IRpcChannelBuffer2) -> Self6861     fn from(value: &IRpcChannelBuffer2) -> Self {
6862         ::std::convert::From::from(::std::clone::Clone::clone(value))
6863     }
6864 }
6865 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcChannelBuffer2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6866     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6867         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6868     }
6869 }
6870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcChannelBuffer2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6873     }
6874 }
6875 impl ::std::convert::From<IRpcChannelBuffer2> for IRpcChannelBuffer {
from(value: IRpcChannelBuffer2) -> Self6876     fn from(value: IRpcChannelBuffer2) -> Self {
6877         unsafe { ::std::mem::transmute(value) }
6878     }
6879 }
6880 impl ::std::convert::From<&IRpcChannelBuffer2> for IRpcChannelBuffer {
from(value: &IRpcChannelBuffer2) -> Self6881     fn from(value: &IRpcChannelBuffer2) -> Self {
6882         ::std::convert::From::from(::std::clone::Clone::clone(value))
6883     }
6884 }
6885 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer> for IRpcChannelBuffer2 {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer>6886     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer> {
6887         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer>::into(self))
6888     }
6889 }
6890 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer> for &IRpcChannelBuffer2 {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer>6891     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer> {
6892         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer>::into(::std::clone::Clone::clone(self)))
6893     }
6894 }
6895 #[repr(C)]
6896 #[doc(hidden)]
6897 pub struct IRpcChannelBuffer2_abi(
6898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
6901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
6902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
6903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::HRESULT,
6904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
6905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
6906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwversion: *mut u32) -> ::windows::runtime::HRESULT,
6907 );
6908 #[repr(transparent)]
6909 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6910 pub struct IRpcChannelBuffer3(::windows::runtime::IUnknown);
6911 impl IRpcChannelBuffer3 {
GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>6912     pub unsafe fn GetBuffer(&self, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
6913         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(riid)).ok()
6914     }
SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()>6915     pub unsafe fn SendReceive(&self, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::Result<()> {
6916         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage), ::std::mem::transmute(pstatus)).ok()
6917     }
FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()>6918     pub unsafe fn FreeBuffer(&self, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()> {
6919         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmessage)).ok()
6920     }
GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6921     pub unsafe fn GetDestCtx(&self, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6922         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(pdwdestcontext), ::std::mem::transmute(ppvdestcontext)).ok()
6923     }
IsConnected(&self) -> ::windows::runtime::Result<()>6924     pub unsafe fn IsConnected(&self) -> ::windows::runtime::Result<()> {
6925         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)).ok()
6926     }
GetProtocolVersion(&self) -> ::windows::runtime::Result<u32>6927     pub unsafe fn GetProtocolVersion(&self) -> ::windows::runtime::Result<u32> {
6928         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6929         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
6930     }
Send(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows::runtime::Result<()>6931     pub unsafe fn Send(&self, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows::runtime::Result<()> {
6932         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(pulstatus)).ok()
6933     }
Receive(&self, pmsg: *mut RPCOLEMESSAGE, ulsize: u32, pulstatus: *mut u32) -> ::windows::runtime::Result<()>6934     pub unsafe fn Receive(&self, pmsg: *mut RPCOLEMESSAGE, ulsize: u32, pulstatus: *mut u32) -> ::windows::runtime::Result<()> {
6935         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(ulsize), ::std::mem::transmute(pulstatus)).ok()
6936     }
Cancel(&self, pmsg: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()>6937     pub unsafe fn Cancel(&self, pmsg: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()> {
6938         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg)).ok()
6939     }
GetCallContext(&self, pmsg: *const RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID, pinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6940     pub unsafe fn GetCallContext(&self, pmsg: *const RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID, pinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6941         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(riid), ::std::mem::transmute(pinterface)).ok()
6942     }
GetDestCtxEx(&self, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>6943     pub unsafe fn GetDestCtxEx(&self, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
6944         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), ::std::mem::transmute(pdwdestcontext), ::std::mem::transmute(ppvdestcontext)).ok()
6945     }
GetState(&self, pmsg: *const RPCOLEMESSAGE) -> ::windows::runtime::Result<u32>6946     pub unsafe fn GetState(&self, pmsg: *const RPCOLEMESSAGE) -> ::windows::runtime::Result<u32> {
6947         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
6948         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), &mut result__).from_abi::<u32>(result__)
6949     }
RegisterAsync<'a, Param1: ::windows::runtime::IntoParam<'a, IAsyncManager>>(&self, pmsg: *mut RPCOLEMESSAGE, pasyncmgr: Param1) -> ::windows::runtime::Result<()>6950     pub unsafe fn RegisterAsync<'a, Param1: ::windows::runtime::IntoParam<'a, IAsyncManager>>(&self, pmsg: *mut RPCOLEMESSAGE, pasyncmgr: Param1) -> ::windows::runtime::Result<()> {
6951         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg), pasyncmgr.into_param().abi()).ok()
6952     }
6953 }
6954 unsafe impl ::windows::runtime::Interface for IRpcChannelBuffer3 {
6955     type Vtable = IRpcChannelBuffer3_abi;
6956     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(632378880, 277, 4560, [191, 13, 0, 170, 0, 184, 223, 210]);
6957 }
6958 impl ::std::convert::From<IRpcChannelBuffer3> for ::windows::runtime::IUnknown {
from(value: IRpcChannelBuffer3) -> Self6959     fn from(value: IRpcChannelBuffer3) -> Self {
6960         unsafe { ::std::mem::transmute(value) }
6961     }
6962 }
6963 impl ::std::convert::From<&IRpcChannelBuffer3> for ::windows::runtime::IUnknown {
from(value: &IRpcChannelBuffer3) -> Self6964     fn from(value: &IRpcChannelBuffer3) -> Self {
6965         ::std::convert::From::from(::std::clone::Clone::clone(value))
6966     }
6967 }
6968 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcChannelBuffer3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6969     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6970         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6971     }
6972 }
6973 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcChannelBuffer3 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6974     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6975         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6976     }
6977 }
6978 impl ::std::convert::From<IRpcChannelBuffer3> for IRpcChannelBuffer2 {
from(value: IRpcChannelBuffer3) -> Self6979     fn from(value: IRpcChannelBuffer3) -> Self {
6980         unsafe { ::std::mem::transmute(value) }
6981     }
6982 }
6983 impl ::std::convert::From<&IRpcChannelBuffer3> for IRpcChannelBuffer2 {
from(value: &IRpcChannelBuffer3) -> Self6984     fn from(value: &IRpcChannelBuffer3) -> Self {
6985         ::std::convert::From::from(::std::clone::Clone::clone(value))
6986     }
6987 }
6988 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer2> for IRpcChannelBuffer3 {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2>6989     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2> {
6990         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer2>::into(self))
6991     }
6992 }
6993 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer2> for &IRpcChannelBuffer3 {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2>6994     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer2> {
6995         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer2>::into(::std::clone::Clone::clone(self)))
6996     }
6997 }
6998 impl ::std::convert::From<IRpcChannelBuffer3> for IRpcChannelBuffer {
from(value: IRpcChannelBuffer3) -> Self6999     fn from(value: IRpcChannelBuffer3) -> Self {
7000         unsafe { ::std::mem::transmute(value) }
7001     }
7002 }
7003 impl ::std::convert::From<&IRpcChannelBuffer3> for IRpcChannelBuffer {
from(value: &IRpcChannelBuffer3) -> Self7004     fn from(value: &IRpcChannelBuffer3) -> Self {
7005         ::std::convert::From::from(::std::clone::Clone::clone(value))
7006     }
7007 }
7008 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer> for IRpcChannelBuffer3 {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer>7009     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer> {
7010         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer>::into(self))
7011     }
7012 }
7013 impl<'a> ::windows::runtime::IntoParam<'a, IRpcChannelBuffer> for &IRpcChannelBuffer3 {
into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer>7014     fn into_param(self) -> ::windows::runtime::Param<'a, IRpcChannelBuffer> {
7015         ::windows::runtime::Param::Owned(::std::convert::Into::<IRpcChannelBuffer>::into(::std::clone::Clone::clone(self)))
7016     }
7017 }
7018 #[repr(C)]
7019 #[doc(hidden)]
7020 pub struct IRpcChannelBuffer3_abi(
7021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE, pstatus: *mut u32) -> ::windows::runtime::HRESULT,
7026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmessage: *mut RPCOLEMESSAGE) -> ::windows::runtime::HRESULT,
7027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwversion: *mut u32) -> ::windows::runtime::HRESULT,
7030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE, pulstatus: *mut u32) -> ::windows::runtime::HRESULT,
7031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE, ulsize: u32, pulstatus: *mut u32) -> ::windows::runtime::HRESULT,
7032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE) -> ::windows::runtime::HRESULT,
7033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *const RPCOLEMESSAGE, riid: *const ::windows::runtime::GUID, pinterface: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *const RPCOLEMESSAGE, pdwdestcontext: *mut u32, ppvdestcontext: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *const RPCOLEMESSAGE, pstate: *mut u32) -> ::windows::runtime::HRESULT,
7036     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE, pasyncmgr: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7037 );
7038 #[repr(transparent)]
7039 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7040 pub struct IRpcHelper(::windows::runtime::IUnknown);
7041 impl IRpcHelper {
GetDCOMProtocolVersion(&self) -> ::windows::runtime::Result<u32>7042     pub unsafe fn GetDCOMProtocolVersion(&self) -> ::windows::runtime::Result<u32> {
7043         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7044         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
7045     }
GetIIDFromOBJREF(&self, pobjref: *const ::std::ffi::c_void) -> ::windows::runtime::Result<*mut ::windows::runtime::GUID>7046     pub unsafe fn GetIIDFromOBJREF(&self, pobjref: *const ::std::ffi::c_void) -> ::windows::runtime::Result<*mut ::windows::runtime::GUID> {
7047         let mut result__: <*mut ::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7048         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pobjref), &mut result__).from_abi::<*mut ::windows::runtime::GUID>(result__)
7049     }
7050 }
7051 unsafe impl ::windows::runtime::Interface for IRpcHelper {
7052     type Vtable = IRpcHelper_abi;
7053     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(329, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7054 }
7055 impl ::std::convert::From<IRpcHelper> for ::windows::runtime::IUnknown {
from(value: IRpcHelper) -> Self7056     fn from(value: IRpcHelper) -> Self {
7057         unsafe { ::std::mem::transmute(value) }
7058     }
7059 }
7060 impl ::std::convert::From<&IRpcHelper> for ::windows::runtime::IUnknown {
from(value: &IRpcHelper) -> Self7061     fn from(value: &IRpcHelper) -> Self {
7062         ::std::convert::From::from(::std::clone::Clone::clone(value))
7063     }
7064 }
7065 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7066     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7067         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7068     }
7069 }
7070 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcHelper {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7071     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7072         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7073     }
7074 }
7075 #[repr(C)]
7076 #[doc(hidden)]
7077 pub struct IRpcHelper_abi(
7078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcomversion: *mut u32) -> ::windows::runtime::HRESULT,
7082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pobjref: *const ::std::ffi::c_void, piid: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7083 );
7084 #[repr(transparent)]
7085 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7086 pub struct IRpcOptions(::windows::runtime::IUnknown);
7087 impl IRpcOptions {
Set<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pprx: Param0, dwproperty: RPCOPT_PROPERTIES, dwvalue: usize) -> ::windows::runtime::Result<()>7088     pub unsafe fn Set<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pprx: Param0, dwproperty: RPCOPT_PROPERTIES, dwvalue: usize) -> ::windows::runtime::Result<()> {
7089         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), pprx.into_param().abi(), ::std::mem::transmute(dwproperty), ::std::mem::transmute(dwvalue)).ok()
7090     }
Query<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pprx: Param0, dwproperty: RPCOPT_PROPERTIES) -> ::windows::runtime::Result<usize>7091     pub unsafe fn Query<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, pprx: Param0, dwproperty: RPCOPT_PROPERTIES) -> ::windows::runtime::Result<usize> {
7092         let mut result__: <usize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7093         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pprx.into_param().abi(), ::std::mem::transmute(dwproperty), &mut result__).from_abi::<usize>(result__)
7094     }
7095 }
7096 unsafe impl ::windows::runtime::Interface for IRpcOptions {
7097     type Vtable = IRpcOptions_abi;
7098     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(324, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7099 }
7100 impl ::std::convert::From<IRpcOptions> for ::windows::runtime::IUnknown {
from(value: IRpcOptions) -> Self7101     fn from(value: IRpcOptions) -> Self {
7102         unsafe { ::std::mem::transmute(value) }
7103     }
7104 }
7105 impl ::std::convert::From<&IRpcOptions> for ::windows::runtime::IUnknown {
from(value: &IRpcOptions) -> Self7106     fn from(value: &IRpcOptions) -> Self {
7107         ::std::convert::From::from(::std::clone::Clone::clone(value))
7108     }
7109 }
7110 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7111     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7112         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7113     }
7114 }
7115 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7116     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7117         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7118     }
7119 }
7120 #[repr(C)]
7121 #[doc(hidden)]
7122 pub struct IRpcOptions_abi(
7123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprx: ::windows::runtime::RawPtr, dwproperty: RPCOPT_PROPERTIES, dwvalue: usize) -> ::windows::runtime::HRESULT,
7127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pprx: ::windows::runtime::RawPtr, dwproperty: RPCOPT_PROPERTIES, pdwvalue: *mut usize) -> ::windows::runtime::HRESULT,
7128 );
7129 #[repr(transparent)]
7130 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7131 pub struct IRpcProxyBuffer(::windows::runtime::IUnknown);
7132 impl IRpcProxyBuffer {
Connect<'a, Param0: ::windows::runtime::IntoParam<'a, IRpcChannelBuffer>>(&self, prpcchannelbuffer: Param0) -> ::windows::runtime::Result<()>7133     pub unsafe fn Connect<'a, Param0: ::windows::runtime::IntoParam<'a, IRpcChannelBuffer>>(&self, prpcchannelbuffer: Param0) -> ::windows::runtime::Result<()> {
7134         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), prpcchannelbuffer.into_param().abi()).ok()
7135     }
Disconnect(&self)7136     pub unsafe fn Disconnect(&self) {
7137         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
7138     }
7139 }
7140 unsafe impl ::windows::runtime::Interface for IRpcProxyBuffer {
7141     type Vtable = IRpcProxyBuffer_abi;
7142     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3589630516, 22843, 4122, [181, 105, 8, 0, 43, 45, 191, 122]);
7143 }
7144 impl ::std::convert::From<IRpcProxyBuffer> for ::windows::runtime::IUnknown {
from(value: IRpcProxyBuffer) -> Self7145     fn from(value: IRpcProxyBuffer) -> Self {
7146         unsafe { ::std::mem::transmute(value) }
7147     }
7148 }
7149 impl ::std::convert::From<&IRpcProxyBuffer> for ::windows::runtime::IUnknown {
from(value: &IRpcProxyBuffer) -> Self7150     fn from(value: &IRpcProxyBuffer) -> Self {
7151         ::std::convert::From::from(::std::clone::Clone::clone(value))
7152     }
7153 }
7154 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcProxyBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7155     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7156         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7157     }
7158 }
7159 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcProxyBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7160     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7161         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7162     }
7163 }
7164 #[repr(C)]
7165 #[doc(hidden)]
7166 pub struct IRpcProxyBuffer_abi(
7167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, prpcchannelbuffer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
7172 );
7173 #[repr(transparent)]
7174 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7175 pub struct IRpcStubBuffer(::windows::runtime::IUnknown);
7176 impl IRpcStubBuffer {
Connect<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkserver: Param0) -> ::windows::runtime::Result<()>7177     pub unsafe fn Connect<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>>(&self, punkserver: Param0) -> ::windows::runtime::Result<()> {
7178         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), punkserver.into_param().abi()).ok()
7179     }
Disconnect(&self)7180     pub unsafe fn Disconnect(&self) {
7181         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)))
7182     }
Invoke<'a, Param1: ::windows::runtime::IntoParam<'a, IRpcChannelBuffer>>(&self, _prpcmsg: *mut RPCOLEMESSAGE, _prpcchannelbuffer: Param1) -> ::windows::runtime::Result<()>7183     pub unsafe fn Invoke<'a, Param1: ::windows::runtime::IntoParam<'a, IRpcChannelBuffer>>(&self, _prpcmsg: *mut RPCOLEMESSAGE, _prpcchannelbuffer: Param1) -> ::windows::runtime::Result<()> {
7184         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(_prpcmsg), _prpcchannelbuffer.into_param().abi()).ok()
7185     }
IsIIDSupported(&self, riid: *const ::windows::runtime::GUID) -> ::std::option::Option<IRpcStubBuffer>7186     pub unsafe fn IsIIDSupported(&self, riid: *const ::windows::runtime::GUID) -> ::std::option::Option<IRpcStubBuffer> {
7187         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(riid)))
7188     }
CountRefs(&self) -> u327189     pub unsafe fn CountRefs(&self) -> u32 {
7190         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self)))
7191     }
DebugServerQueryInterface(&self, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7192     pub unsafe fn DebugServerQueryInterface(&self, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7193         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(ppv)).ok()
7194     }
DebugServerRelease(&self, pv: *const ::std::ffi::c_void)7195     pub unsafe fn DebugServerRelease(&self, pv: *const ::std::ffi::c_void) {
7196         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv)))
7197     }
7198 }
7199 unsafe impl ::windows::runtime::Interface for IRpcStubBuffer {
7200     type Vtable = IRpcStubBuffer_abi;
7201     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3589630716, 22843, 4122, [181, 105, 8, 0, 43, 45, 191, 122]);
7202 }
7203 impl ::std::convert::From<IRpcStubBuffer> for ::windows::runtime::IUnknown {
from(value: IRpcStubBuffer) -> Self7204     fn from(value: IRpcStubBuffer) -> Self {
7205         unsafe { ::std::mem::transmute(value) }
7206     }
7207 }
7208 impl ::std::convert::From<&IRpcStubBuffer> for ::windows::runtime::IUnknown {
from(value: &IRpcStubBuffer) -> Self7209     fn from(value: &IRpcStubBuffer) -> Self {
7210         ::std::convert::From::from(::std::clone::Clone::clone(value))
7211     }
7212 }
7213 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcStubBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7214     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7215         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7216     }
7217 }
7218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcStubBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7219     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7220         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7221     }
7222 }
7223 #[repr(C)]
7224 #[doc(hidden)]
7225 pub struct IRpcStubBuffer_abi(
7226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, punkserver: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr),
7231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, _prpcmsg: *mut RPCOLEMESSAGE, _prpcchannelbuffer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, riid: *const ::windows::runtime::GUID) -> ::windows::runtime::RawPtr,
7233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppv: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void),
7236 );
7237 #[repr(transparent)]
7238 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7239 pub struct IRpcSyntaxNegotiate(::windows::runtime::IUnknown);
7240 impl IRpcSyntaxNegotiate {
NegotiateSyntax(&self, pmsg: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()>7241     pub unsafe fn NegotiateSyntax(&self, pmsg: *mut RPCOLEMESSAGE) -> ::windows::runtime::Result<()> {
7242         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pmsg)).ok()
7243     }
7244 }
7245 unsafe impl ::windows::runtime::Interface for IRpcSyntaxNegotiate {
7246     type Vtable = IRpcSyntaxNegotiate_abi;
7247     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1486914841, 9416, 18741, [180, 130, 63, 216, 35, 51, 58, 79]);
7248 }
7249 impl ::std::convert::From<IRpcSyntaxNegotiate> for ::windows::runtime::IUnknown {
from(value: IRpcSyntaxNegotiate) -> Self7250     fn from(value: IRpcSyntaxNegotiate) -> Self {
7251         unsafe { ::std::mem::transmute(value) }
7252     }
7253 }
7254 impl ::std::convert::From<&IRpcSyntaxNegotiate> for ::windows::runtime::IUnknown {
from(value: &IRpcSyntaxNegotiate) -> Self7255     fn from(value: &IRpcSyntaxNegotiate) -> Self {
7256         ::std::convert::From::from(::std::clone::Clone::clone(value))
7257     }
7258 }
7259 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRpcSyntaxNegotiate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7260     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7261         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7262     }
7263 }
7264 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRpcSyntaxNegotiate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7265     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7266         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7267     }
7268 }
7269 #[repr(C)]
7270 #[doc(hidden)]
7271 pub struct IRpcSyntaxNegotiate_abi(
7272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmsg: *mut RPCOLEMESSAGE) -> ::windows::runtime::HRESULT,
7276 );
7277 #[repr(transparent)]
7278 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7279 pub struct IRunnableObject(::windows::runtime::IUnknown);
7280 impl IRunnableObject {
GetRunningClass(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>7281     pub unsafe fn GetRunningClass(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
7282         let mut result__: <::windows::runtime::GUID as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7283         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
7284     }
Run<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>>(&self, pbc: Param0) -> ::windows::runtime::Result<()>7285     pub unsafe fn Run<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>>(&self, pbc: Param0) -> ::windows::runtime::Result<()> {
7286         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), pbc.into_param().abi()).ok()
7287     }
7288     #[cfg(feature = "Win32_Foundation")]
IsRunning(&self) -> super::super::Foundation::BOOL7289     pub unsafe fn IsRunning(&self) -> super::super::Foundation::BOOL {
7290         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)))
7291     }
7292     #[cfg(feature = "Win32_Foundation")]
LockRunning<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, flock: Param0, flastunlockcloses: Param1) -> ::windows::runtime::Result<()>7293     pub unsafe fn LockRunning<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, flock: Param0, flastunlockcloses: Param1) -> ::windows::runtime::Result<()> {
7294         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), flock.into_param().abi(), flastunlockcloses.into_param().abi()).ok()
7295     }
7296     #[cfg(feature = "Win32_Foundation")]
SetContainedObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fcontained: Param0) -> ::windows::runtime::Result<()>7297     pub unsafe fn SetContainedObject<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fcontained: Param0) -> ::windows::runtime::Result<()> {
7298         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), fcontained.into_param().abi()).ok()
7299     }
7300 }
7301 unsafe impl ::windows::runtime::Interface for IRunnableObject {
7302     type Vtable = IRunnableObject_abi;
7303     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(294, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7304 }
7305 impl ::std::convert::From<IRunnableObject> for ::windows::runtime::IUnknown {
from(value: IRunnableObject) -> Self7306     fn from(value: IRunnableObject) -> Self {
7307         unsafe { ::std::mem::transmute(value) }
7308     }
7309 }
7310 impl ::std::convert::From<&IRunnableObject> for ::windows::runtime::IUnknown {
from(value: &IRunnableObject) -> Self7311     fn from(value: &IRunnableObject) -> Self {
7312         ::std::convert::From::from(::std::clone::Clone::clone(value))
7313     }
7314 }
7315 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRunnableObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7316     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7317         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7318     }
7319 }
7320 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRunnableObject {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7321     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7322         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7323     }
7324 }
7325 #[repr(C)]
7326 #[doc(hidden)]
7327 pub struct IRunnableObject_abi(
7328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, lpclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbc: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7333     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
7334     #[cfg(not(feature = "Win32_Foundation"))] usize,
7335     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, flock: super::super::Foundation::BOOL, flastunlockcloses: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7336     #[cfg(not(feature = "Win32_Foundation"))] usize,
7337     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fcontained: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7338     #[cfg(not(feature = "Win32_Foundation"))] usize,
7339 );
7340 #[repr(transparent)]
7341 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7342 pub struct IRunningObjectTable(::windows::runtime::IUnknown);
7343 impl IRunningObjectTable {
Register<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, grfflags: u32, punkobject: Param1, pmkobjectname: Param2) -> ::windows::runtime::Result<u32>7344     pub unsafe fn Register<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown>, Param2: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, grfflags: u32, punkobject: Param1, pmkobjectname: Param2) -> ::windows::runtime::Result<u32> {
7345         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7346         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfflags), punkobject.into_param().abi(), pmkobjectname.into_param().abi(), &mut result__).from_abi::<u32>(result__)
7347     }
Revoke(&self, dwregister: u32) -> ::windows::runtime::Result<()>7348     pub unsafe fn Revoke(&self, dwregister: u32) -> ::windows::runtime::Result<()> {
7349         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwregister)).ok()
7350     }
IsRunning<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkobjectname: Param0) -> ::windows::runtime::Result<()>7351     pub unsafe fn IsRunning<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkobjectname: Param0) -> ::windows::runtime::Result<()> {
7352         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), pmkobjectname.into_param().abi()).ok()
7353     }
GetObject<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkobjectname: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown>7354     pub unsafe fn GetObject<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkobjectname: Param0) -> ::windows::runtime::Result<::windows::runtime::IUnknown> {
7355         let mut result__: <::windows::runtime::IUnknown as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7356         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), pmkobjectname.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IUnknown>(result__)
7357     }
7358     #[cfg(feature = "Win32_Foundation")]
NoteChangeTime(&self, dwregister: u32, pfiletime: *const super::super::Foundation::FILETIME) -> ::windows::runtime::Result<()>7359     pub unsafe fn NoteChangeTime(&self, dwregister: u32, pfiletime: *const super::super::Foundation::FILETIME) -> ::windows::runtime::Result<()> {
7360         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwregister), ::std::mem::transmute(pfiletime)).ok()
7361     }
7362     #[cfg(feature = "Win32_Foundation")]
GetTimeOfLastChange<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkobjectname: Param0) -> ::windows::runtime::Result<super::super::Foundation::FILETIME>7363     pub unsafe fn GetTimeOfLastChange<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>>(&self, pmkobjectname: Param0) -> ::windows::runtime::Result<super::super::Foundation::FILETIME> {
7364         let mut result__: <super::super::Foundation::FILETIME as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7365         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), pmkobjectname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::FILETIME>(result__)
7366     }
EnumRunning(&self) -> ::windows::runtime::Result<IEnumMoniker>7367     pub unsafe fn EnumRunning(&self) -> ::windows::runtime::Result<IEnumMoniker> {
7368         let mut result__: <IEnumMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7369         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IEnumMoniker>(result__)
7370     }
7371 }
7372 unsafe impl ::windows::runtime::Interface for IRunningObjectTable {
7373     type Vtable = IRunningObjectTable_abi;
7374     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(16, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7375 }
7376 impl ::std::convert::From<IRunningObjectTable> for ::windows::runtime::IUnknown {
from(value: IRunningObjectTable) -> Self7377     fn from(value: IRunningObjectTable) -> Self {
7378         unsafe { ::std::mem::transmute(value) }
7379     }
7380 }
7381 impl ::std::convert::From<&IRunningObjectTable> for ::windows::runtime::IUnknown {
from(value: &IRunningObjectTable) -> Self7382     fn from(value: &IRunningObjectTable) -> Self {
7383         ::std::convert::From::from(::std::clone::Clone::clone(value))
7384     }
7385 }
7386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IRunningObjectTable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7388         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7389     }
7390 }
7391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IRunningObjectTable {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7394     }
7395 }
7396 #[repr(C)]
7397 #[doc(hidden)]
7398 pub struct IRunningObjectTable_abi(
7399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfflags: u32, punkobject: ::windows::runtime::RawPtr, pmkobjectname: ::windows::runtime::RawPtr, pdwregister: *mut u32) -> ::windows::runtime::HRESULT,
7403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwregister: u32) -> ::windows::runtime::HRESULT,
7404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkobjectname: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkobjectname: ::windows::runtime::RawPtr, ppunkobject: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7406     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwregister: u32, pfiletime: *const super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
7407     #[cfg(not(feature = "Win32_Foundation"))] usize,
7408     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pmkobjectname: ::windows::runtime::RawPtr, pfiletime: *mut super::super::Foundation::FILETIME) -> ::windows::runtime::HRESULT,
7409     #[cfg(not(feature = "Win32_Foundation"))] usize,
7410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppenummoniker: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7411 );
7412 #[repr(transparent)]
7413 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7414 pub struct ISequentialStream(::windows::runtime::IUnknown);
7415 impl ISequentialStream {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>7416     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
7417         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
7418     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>7419     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
7420         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7421         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
7422     }
7423 }
7424 unsafe impl ::windows::runtime::Interface for ISequentialStream {
7425     type Vtable = ISequentialStream_abi;
7426     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(208878128, 10780, 4558, [173, 229, 0, 170, 0, 68, 119, 61]);
7427 }
7428 impl ::std::convert::From<ISequentialStream> for ::windows::runtime::IUnknown {
from(value: ISequentialStream) -> Self7429     fn from(value: ISequentialStream) -> Self {
7430         unsafe { ::std::mem::transmute(value) }
7431     }
7432 }
7433 impl ::std::convert::From<&ISequentialStream> for ::windows::runtime::IUnknown {
from(value: &ISequentialStream) -> Self7434     fn from(value: &ISequentialStream) -> Self {
7435         ::std::convert::From::from(::std::clone::Clone::clone(value))
7436     }
7437 }
7438 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISequentialStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7439     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7440         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7441     }
7442 }
7443 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISequentialStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7444     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7445         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7446     }
7447 }
7448 #[repr(C)]
7449 #[doc(hidden)]
7450 pub struct ISequentialStream_abi(
7451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
7455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
7456 );
7457 #[repr(transparent)]
7458 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7459 pub struct IServerSecurity(::windows::runtime::IUnknown);
7460 impl IServerSecurity {
QueryBlanket(&self, pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut *mut u16, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::std::ffi::c_void, pcapabilities: *mut u32) -> ::windows::runtime::Result<()>7461     pub unsafe fn QueryBlanket(&self, pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut *mut u16, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::std::ffi::c_void, pcapabilities: *mut u32) -> ::windows::runtime::Result<()> {
7462         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pauthnsvc), ::std::mem::transmute(pauthzsvc), ::std::mem::transmute(pserverprincname), ::std::mem::transmute(pauthnlevel), ::std::mem::transmute(pimplevel), ::std::mem::transmute(pprivs), ::std::mem::transmute(pcapabilities)).ok()
7463     }
ImpersonateClient(&self) -> ::windows::runtime::Result<()>7464     pub unsafe fn ImpersonateClient(&self) -> ::windows::runtime::Result<()> {
7465         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
7466     }
RevertToSelf(&self) -> ::windows::runtime::Result<()>7467     pub unsafe fn RevertToSelf(&self) -> ::windows::runtime::Result<()> {
7468         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
7469     }
7470     #[cfg(feature = "Win32_Foundation")]
IsImpersonating(&self) -> super::super::Foundation::BOOL7471     pub unsafe fn IsImpersonating(&self) -> super::super::Foundation::BOOL {
7472         ::std::mem::transmute((::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)))
7473     }
7474 }
7475 unsafe impl ::windows::runtime::Interface for IServerSecurity {
7476     type Vtable = IServerSecurity_abi;
7477     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(318, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7478 }
7479 impl ::std::convert::From<IServerSecurity> for ::windows::runtime::IUnknown {
from(value: IServerSecurity) -> Self7480     fn from(value: IServerSecurity) -> Self {
7481         unsafe { ::std::mem::transmute(value) }
7482     }
7483 }
7484 impl ::std::convert::From<&IServerSecurity> for ::windows::runtime::IUnknown {
from(value: &IServerSecurity) -> Self7485     fn from(value: &IServerSecurity) -> Self {
7486         ::std::convert::From::from(::std::clone::Clone::clone(value))
7487     }
7488 }
7489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IServerSecurity {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7491         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7492     }
7493 }
7494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IServerSecurity {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7497     }
7498 }
7499 #[repr(C)]
7500 #[doc(hidden)]
7501 pub struct IServerSecurity_abi(
7502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pauthnsvc: *mut u32, pauthzsvc: *mut u32, pserverprincname: *mut *mut u16, pauthnlevel: *mut u32, pimplevel: *mut u32, pprivs: *mut *mut ::std::ffi::c_void, pcapabilities: *mut u32) -> ::windows::runtime::HRESULT,
7506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7508     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> super::super::Foundation::BOOL,
7509     #[cfg(not(feature = "Win32_Foundation"))] usize,
7510 );
7511 #[repr(transparent)]
7512 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7513 pub struct IServiceProvider(::windows::runtime::IUnknown);
7514 impl IServiceProvider {
QueryService(&self, guidservice: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()>7515     pub unsafe fn QueryService(&self, guidservice: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::Result<()> {
7516         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(guidservice), ::std::mem::transmute(riid), ::std::mem::transmute(ppvobject)).ok()
7517     }
7518 }
7519 unsafe impl ::windows::runtime::Interface for IServiceProvider {
7520     type Vtable = IServiceProvider_abi;
7521     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1834041537, 29750, 4558, [128, 52, 0, 170, 0, 96, 9, 250]);
7522 }
7523 impl ::std::convert::From<IServiceProvider> for ::windows::runtime::IUnknown {
from(value: IServiceProvider) -> Self7524     fn from(value: IServiceProvider) -> Self {
7525         unsafe { ::std::mem::transmute(value) }
7526     }
7527 }
7528 impl ::std::convert::From<&IServiceProvider> for ::windows::runtime::IUnknown {
from(value: &IServiceProvider) -> Self7529     fn from(value: &IServiceProvider) -> Self {
7530         ::std::convert::From::from(::std::clone::Clone::clone(value))
7531     }
7532 }
7533 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IServiceProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7534     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7535         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7536     }
7537 }
7538 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IServiceProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7539     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7540         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7541     }
7542 }
7543 #[repr(C)]
7544 #[doc(hidden)]
7545 pub struct IServiceProvider_abi(
7546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, guidservice: *const ::windows::runtime::GUID, riid: *const ::windows::runtime::GUID, ppvobject: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT,
7550 );
7551 #[repr(transparent)]
7552 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7553 pub struct IStdMarshalInfo(::windows::runtime::IUnknown);
7554 impl IStdMarshalInfo {
GetClassForHandler(&self, dwdestcontext: u32, pvdestcontext: *mut ::std::ffi::c_void, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::Result<()>7555     pub unsafe fn GetClassForHandler(&self, dwdestcontext: u32, pvdestcontext: *mut ::std::ffi::c_void, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
7556         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwdestcontext), ::std::mem::transmute(pvdestcontext), ::std::mem::transmute(pclsid)).ok()
7557     }
7558 }
7559 unsafe impl ::windows::runtime::Interface for IStdMarshalInfo {
7560     type Vtable = IStdMarshalInfo_abi;
7561     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(24, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7562 }
7563 impl ::std::convert::From<IStdMarshalInfo> for ::windows::runtime::IUnknown {
from(value: IStdMarshalInfo) -> Self7564     fn from(value: IStdMarshalInfo) -> Self {
7565         unsafe { ::std::mem::transmute(value) }
7566     }
7567 }
7568 impl ::std::convert::From<&IStdMarshalInfo> for ::windows::runtime::IUnknown {
from(value: &IStdMarshalInfo) -> Self7569     fn from(value: &IStdMarshalInfo) -> Self {
7570         ::std::convert::From::from(::std::clone::Clone::clone(value))
7571     }
7572 }
7573 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStdMarshalInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7574     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7575         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7576     }
7577 }
7578 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStdMarshalInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7579     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7580         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7581     }
7582 }
7583 #[repr(C)]
7584 #[doc(hidden)]
7585 pub struct IStdMarshalInfo_abi(
7586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwdestcontext: u32, pvdestcontext: *mut ::std::ffi::c_void, pclsid: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7590 );
7591 #[repr(transparent)]
7592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7593 pub struct IStream(::windows::runtime::IUnknown);
7594 impl IStream {
Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()>7595     pub unsafe fn Read(&self, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::Result<()> {
7596         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread)).ok()
7597     }
Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32>7598     pub unsafe fn Write(&self, pv: *const ::std::ffi::c_void, cb: u32) -> ::windows::runtime::Result<u32> {
7599         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7600         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(pv), ::std::mem::transmute(cb), &mut result__).from_abi::<u32>(result__)
7601     }
Seek(&self, dlibmove: i64, dworigin: STREAM_SEEK) -> ::windows::runtime::Result<u64>7602     pub unsafe fn Seek(&self, dlibmove: i64, dworigin: STREAM_SEEK) -> ::windows::runtime::Result<u64> {
7603         let mut result__: <u64 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7604         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dlibmove), ::std::mem::transmute(dworigin), &mut result__).from_abi::<u64>(result__)
7605     }
SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()>7606     pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::runtime::Result<()> {
7607         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(libnewsize)).ok()
7608     }
CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()>7609     pub unsafe fn CopyTo<'a, Param0: ::windows::runtime::IntoParam<'a, IStream>>(&self, pstm: Param0, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::Result<()> {
7610         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), pstm.into_param().abi(), ::std::mem::transmute(cb), ::std::mem::transmute(pcbread), ::std::mem::transmute(pcbwritten)).ok()
7611     }
Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()>7612     pub unsafe fn Commit(&self, grfcommitflags: u32) -> ::windows::runtime::Result<()> {
7613         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(grfcommitflags)).ok()
7614     }
Revert(&self) -> ::windows::runtime::Result<()>7615     pub unsafe fn Revert(&self) -> ::windows::runtime::Result<()> {
7616         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self)).ok()
7617     }
LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>7618     pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
7619         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
7620     }
UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()>7621     pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::Result<()> {
7622         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(liboffset), ::std::mem::transmute(cb), ::std::mem::transmute(dwlocktype)).ok()
7623     }
7624     #[cfg(feature = "Win32_Foundation")]
Stat(&self, pstatstg: *mut STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()>7625     pub unsafe fn Stat(&self, pstatstg: *mut STATSTG, grfstatflag: u32) -> ::windows::runtime::Result<()> {
7626         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pstatstg), ::std::mem::transmute(grfstatflag)).ok()
7627     }
Clone(&self) -> ::windows::runtime::Result<IStream>7628     pub unsafe fn Clone(&self) -> ::windows::runtime::Result<IStream> {
7629         let mut result__: <IStream as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7630         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IStream>(result__)
7631     }
7632 }
7633 unsafe impl ::windows::runtime::Interface for IStream {
7634     type Vtable = IStream_abi;
7635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(12, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7636 }
7637 impl ::std::convert::From<IStream> for ::windows::runtime::IUnknown {
from(value: IStream) -> Self7638     fn from(value: IStream) -> Self {
7639         unsafe { ::std::mem::transmute(value) }
7640     }
7641 }
7642 impl ::std::convert::From<&IStream> for ::windows::runtime::IUnknown {
from(value: &IStream) -> Self7643     fn from(value: &IStream) -> Self {
7644         ::std::convert::From::from(::std::clone::Clone::clone(value))
7645     }
7646 }
7647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7649         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7650     }
7651 }
7652 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7653     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7654         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7655     }
7656 }
7657 impl ::std::convert::From<IStream> for ISequentialStream {
from(value: IStream) -> Self7658     fn from(value: IStream) -> Self {
7659         unsafe { ::std::mem::transmute(value) }
7660     }
7661 }
7662 impl ::std::convert::From<&IStream> for ISequentialStream {
from(value: &IStream) -> Self7663     fn from(value: &IStream) -> Self {
7664         ::std::convert::From::from(::std::clone::Clone::clone(value))
7665     }
7666 }
7667 impl<'a> ::windows::runtime::IntoParam<'a, ISequentialStream> for IStream {
into_param(self) -> ::windows::runtime::Param<'a, ISequentialStream>7668     fn into_param(self) -> ::windows::runtime::Param<'a, ISequentialStream> {
7669         ::windows::runtime::Param::Owned(::std::convert::Into::<ISequentialStream>::into(self))
7670     }
7671 }
7672 impl<'a> ::windows::runtime::IntoParam<'a, ISequentialStream> for &IStream {
into_param(self) -> ::windows::runtime::Param<'a, ISequentialStream>7673     fn into_param(self) -> ::windows::runtime::Param<'a, ISequentialStream> {
7674         ::windows::runtime::Param::Owned(::std::convert::Into::<ISequentialStream>::into(::std::clone::Clone::clone(self)))
7675     }
7676 }
7677 #[repr(C)]
7678 #[doc(hidden)]
7679 pub struct IStream_abi(
7680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *mut ::std::ffi::c_void, cb: u32, pcbread: *mut u32) -> ::windows::runtime::HRESULT,
7684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pv: *const ::std::ffi::c_void, cb: u32, pcbwritten: *mut u32) -> ::windows::runtime::HRESULT,
7685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dlibmove: i64, dworigin: STREAM_SEEK, plibnewposition: *mut u64) -> ::windows::runtime::HRESULT,
7686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libnewsize: u64) -> ::windows::runtime::HRESULT,
7687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstm: ::windows::runtime::RawPtr, cb: u64, pcbread: *mut u64, pcbwritten: *mut u64) -> ::windows::runtime::HRESULT,
7688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, grfcommitflags: u32) -> ::windows::runtime::HRESULT,
7689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
7691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::runtime::HRESULT,
7692     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pstatstg: *mut STATSTG, grfstatflag: u32) -> ::windows::runtime::HRESULT,
7693     #[cfg(not(feature = "Win32_Foundation"))] usize,
7694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppstm: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7695 );
7696 #[repr(transparent)]
7697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7698 pub struct ISurrogate(::windows::runtime::IUnknown);
7699 impl ISurrogate {
LoadDllServer(&self, clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>7700     pub unsafe fn LoadDllServer(&self, clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
7701         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(clsid)).ok()
7702     }
FreeSurrogate(&self) -> ::windows::runtime::Result<()>7703     pub unsafe fn FreeSurrogate(&self) -> ::windows::runtime::Result<()> {
7704         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
7705     }
7706 }
7707 unsafe impl ::windows::runtime::Interface for ISurrogate {
7708     type Vtable = ISurrogate_abi;
7709     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(34, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7710 }
7711 impl ::std::convert::From<ISurrogate> for ::windows::runtime::IUnknown {
from(value: ISurrogate) -> Self7712     fn from(value: ISurrogate) -> Self {
7713         unsafe { ::std::mem::transmute(value) }
7714     }
7715 }
7716 impl ::std::convert::From<&ISurrogate> for ::windows::runtime::IUnknown {
from(value: &ISurrogate) -> Self7717     fn from(value: &ISurrogate) -> Self {
7718         ::std::convert::From::from(::std::clone::Clone::clone(value))
7719     }
7720 }
7721 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISurrogate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7722     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7723         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7724     }
7725 }
7726 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISurrogate {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7727     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7728         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7729     }
7730 }
7731 #[repr(C)]
7732 #[doc(hidden)]
7733 pub struct ISurrogate_abi(
7734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7739 );
7740 #[repr(transparent)]
7741 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7742 pub struct ISurrogateService(::windows::runtime::IUnknown);
7743 impl ISurrogateService {
7744     #[cfg(feature = "Win32_Foundation")]
Init<'a, Param1: ::windows::runtime::IntoParam<'a, IProcessLock>>(&self, rguidprocessid: *const ::windows::runtime::GUID, pprocesslock: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL>7745     pub unsafe fn Init<'a, Param1: ::windows::runtime::IntoParam<'a, IProcessLock>>(&self, rguidprocessid: *const ::windows::runtime::GUID, pprocesslock: Param1) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
7746         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7747         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidprocessid), pprocesslock.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
7748     }
ApplicationLaunch(&self, rguidapplid: *const ::windows::runtime::GUID, apptype: ApplicationType) -> ::windows::runtime::Result<()>7749     pub unsafe fn ApplicationLaunch(&self, rguidapplid: *const ::windows::runtime::GUID, apptype: ApplicationType) -> ::windows::runtime::Result<()> {
7750         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidapplid), ::std::mem::transmute(apptype)).ok()
7751     }
ApplicationFree(&self, rguidapplid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()>7752     pub unsafe fn ApplicationFree(&self, rguidapplid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<()> {
7753         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(rguidapplid)).ok()
7754     }
CatalogRefresh(&self, ulreserved: u32) -> ::windows::runtime::Result<()>7755     pub unsafe fn CatalogRefresh(&self, ulreserved: u32) -> ::windows::runtime::Result<()> {
7756         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(ulreserved)).ok()
7757     }
ProcessShutdown(&self, shutdowntype: ShutdownType) -> ::windows::runtime::Result<()>7758     pub unsafe fn ProcessShutdown(&self, shutdowntype: ShutdownType) -> ::windows::runtime::Result<()> {
7759         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), ::std::mem::transmute(shutdowntype)).ok()
7760     }
7761 }
7762 unsafe impl ::windows::runtime::Interface for ISurrogateService {
7763     type Vtable = ISurrogateService_abi;
7764     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(468, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7765 }
7766 impl ::std::convert::From<ISurrogateService> for ::windows::runtime::IUnknown {
from(value: ISurrogateService) -> Self7767     fn from(value: ISurrogateService) -> Self {
7768         unsafe { ::std::mem::transmute(value) }
7769     }
7770 }
7771 impl ::std::convert::From<&ISurrogateService> for ::windows::runtime::IUnknown {
from(value: &ISurrogateService) -> Self7772     fn from(value: &ISurrogateService) -> Self {
7773         ::std::convert::From::from(::std::clone::Clone::clone(value))
7774     }
7775 }
7776 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISurrogateService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7777     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7778         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7779     }
7780 }
7781 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISurrogateService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7782     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7783         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7784     }
7785 }
7786 #[repr(C)]
7787 #[doc(hidden)]
7788 pub struct ISurrogateService_abi(
7789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7792     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidprocessid: *const ::windows::runtime::GUID, pprocesslock: ::windows::runtime::RawPtr, pfapplicationaware: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
7793     #[cfg(not(feature = "Win32_Foundation"))] usize,
7794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidapplid: *const ::windows::runtime::GUID, apptype: ApplicationType) -> ::windows::runtime::HRESULT,
7795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rguidapplid: *const ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
7796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ulreserved: u32) -> ::windows::runtime::HRESULT,
7797     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, shutdowntype: ShutdownType) -> ::windows::runtime::HRESULT,
7798 );
7799 #[repr(transparent)]
7800 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7801 pub struct ISynchronize(::windows::runtime::IUnknown);
7802 impl ISynchronize {
Wait(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::runtime::Result<()>7803     pub unsafe fn Wait(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
7804         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwmilliseconds)).ok()
7805     }
Signal(&self) -> ::windows::runtime::Result<()>7806     pub unsafe fn Signal(&self) -> ::windows::runtime::Result<()> {
7807         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
7808     }
Reset(&self) -> ::windows::runtime::Result<()>7809     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
7810         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
7811     }
7812 }
7813 unsafe impl ::windows::runtime::Interface for ISynchronize {
7814     type Vtable = ISynchronize_abi;
7815     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(48, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7816 }
7817 impl ::std::convert::From<ISynchronize> for ::windows::runtime::IUnknown {
from(value: ISynchronize) -> Self7818     fn from(value: ISynchronize) -> Self {
7819         unsafe { ::std::mem::transmute(value) }
7820     }
7821 }
7822 impl ::std::convert::From<&ISynchronize> for ::windows::runtime::IUnknown {
from(value: &ISynchronize) -> Self7823     fn from(value: &ISynchronize) -> Self {
7824         ::std::convert::From::from(::std::clone::Clone::clone(value))
7825     }
7826 }
7827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISynchronize {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7829         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7830     }
7831 }
7832 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISynchronize {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7833     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7834         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7835     }
7836 }
7837 #[repr(C)]
7838 #[doc(hidden)]
7839 pub struct ISynchronize_abi(
7840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
7844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7846 );
7847 #[repr(transparent)]
7848 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7849 pub struct ISynchronizeContainer(::windows::runtime::IUnknown);
7850 impl ISynchronizeContainer {
AddSynchronize<'a, Param0: ::windows::runtime::IntoParam<'a, ISynchronize>>(&self, psync: Param0) -> ::windows::runtime::Result<()>7851     pub unsafe fn AddSynchronize<'a, Param0: ::windows::runtime::IntoParam<'a, ISynchronize>>(&self, psync: Param0) -> ::windows::runtime::Result<()> {
7852         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), psync.into_param().abi()).ok()
7853     }
WaitMultiple(&self, dwflags: u32, dwtimeout: u32) -> ::windows::runtime::Result<ISynchronize>7854     pub unsafe fn WaitMultiple(&self, dwflags: u32, dwtimeout: u32) -> ::windows::runtime::Result<ISynchronize> {
7855         let mut result__: <ISynchronize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7856         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwtimeout), &mut result__).from_abi::<ISynchronize>(result__)
7857     }
7858 }
7859 unsafe impl ::windows::runtime::Interface for ISynchronizeContainer {
7860     type Vtable = ISynchronizeContainer_abi;
7861     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(51, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7862 }
7863 impl ::std::convert::From<ISynchronizeContainer> for ::windows::runtime::IUnknown {
from(value: ISynchronizeContainer) -> Self7864     fn from(value: ISynchronizeContainer) -> Self {
7865         unsafe { ::std::mem::transmute(value) }
7866     }
7867 }
7868 impl ::std::convert::From<&ISynchronizeContainer> for ::windows::runtime::IUnknown {
from(value: &ISynchronizeContainer) -> Self7869     fn from(value: &ISynchronizeContainer) -> Self {
7870         ::std::convert::From::from(::std::clone::Clone::clone(value))
7871     }
7872 }
7873 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISynchronizeContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7874     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7875         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7876     }
7877 }
7878 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISynchronizeContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7879     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7880         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7881     }
7882 }
7883 #[repr(C)]
7884 #[doc(hidden)]
7885 pub struct ISynchronizeContainer_abi(
7886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psync: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, dwtimeout: u32, ppsync: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7891 );
7892 #[repr(transparent)]
7893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7894 pub struct ISynchronizeEvent(::windows::runtime::IUnknown);
7895 impl ISynchronizeEvent {
7896     #[cfg(feature = "Win32_Foundation")]
GetHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>7897     pub unsafe fn GetHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
7898         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7899         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
7900     }
7901     #[cfg(feature = "Win32_Foundation")]
SetEventHandle(&self, ph: *const super::super::Foundation::HANDLE) -> ::windows::runtime::Result<()>7902     pub unsafe fn SetEventHandle(&self, ph: *const super::super::Foundation::HANDLE) -> ::windows::runtime::Result<()> {
7903         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(ph)).ok()
7904     }
7905 }
7906 unsafe impl ::windows::runtime::Interface for ISynchronizeEvent {
7907     type Vtable = ISynchronizeEvent_abi;
7908     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(50, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7909 }
7910 impl ::std::convert::From<ISynchronizeEvent> for ::windows::runtime::IUnknown {
from(value: ISynchronizeEvent) -> Self7911     fn from(value: ISynchronizeEvent) -> Self {
7912         unsafe { ::std::mem::transmute(value) }
7913     }
7914 }
7915 impl ::std::convert::From<&ISynchronizeEvent> for ::windows::runtime::IUnknown {
from(value: &ISynchronizeEvent) -> Self7916     fn from(value: &ISynchronizeEvent) -> Self {
7917         ::std::convert::From::from(::std::clone::Clone::clone(value))
7918     }
7919 }
7920 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISynchronizeEvent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7921     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7922         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7923     }
7924 }
7925 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISynchronizeEvent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7926     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7927         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7928     }
7929 }
7930 impl ::std::convert::From<ISynchronizeEvent> for ISynchronizeHandle {
from(value: ISynchronizeEvent) -> Self7931     fn from(value: ISynchronizeEvent) -> Self {
7932         unsafe { ::std::mem::transmute(value) }
7933     }
7934 }
7935 impl ::std::convert::From<&ISynchronizeEvent> for ISynchronizeHandle {
from(value: &ISynchronizeEvent) -> Self7936     fn from(value: &ISynchronizeEvent) -> Self {
7937         ::std::convert::From::from(::std::clone::Clone::clone(value))
7938     }
7939 }
7940 impl<'a> ::windows::runtime::IntoParam<'a, ISynchronizeHandle> for ISynchronizeEvent {
into_param(self) -> ::windows::runtime::Param<'a, ISynchronizeHandle>7941     fn into_param(self) -> ::windows::runtime::Param<'a, ISynchronizeHandle> {
7942         ::windows::runtime::Param::Owned(::std::convert::Into::<ISynchronizeHandle>::into(self))
7943     }
7944 }
7945 impl<'a> ::windows::runtime::IntoParam<'a, ISynchronizeHandle> for &ISynchronizeEvent {
into_param(self) -> ::windows::runtime::Param<'a, ISynchronizeHandle>7946     fn into_param(self) -> ::windows::runtime::Param<'a, ISynchronizeHandle> {
7947         ::windows::runtime::Param::Owned(::std::convert::Into::<ISynchronizeHandle>::into(::std::clone::Clone::clone(self)))
7948     }
7949 }
7950 #[repr(C)]
7951 #[doc(hidden)]
7952 pub struct ISynchronizeEvent_abi(
7953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7956     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ph: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
7957     #[cfg(not(feature = "Win32_Foundation"))] usize,
7958     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ph: *const super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
7959     #[cfg(not(feature = "Win32_Foundation"))] usize,
7960 );
7961 #[repr(transparent)]
7962 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7963 pub struct ISynchronizeHandle(::windows::runtime::IUnknown);
7964 impl ISynchronizeHandle {
7965     #[cfg(feature = "Win32_Foundation")]
GetHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE>7966     pub unsafe fn GetHandle(&self) -> ::windows::runtime::Result<super::super::Foundation::HANDLE> {
7967         let mut result__: <super::super::Foundation::HANDLE as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
7968         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::HANDLE>(result__)
7969     }
7970 }
7971 unsafe impl ::windows::runtime::Interface for ISynchronizeHandle {
7972     type Vtable = ISynchronizeHandle_abi;
7973     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(49, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
7974 }
7975 impl ::std::convert::From<ISynchronizeHandle> for ::windows::runtime::IUnknown {
from(value: ISynchronizeHandle) -> Self7976     fn from(value: ISynchronizeHandle) -> Self {
7977         unsafe { ::std::mem::transmute(value) }
7978     }
7979 }
7980 impl ::std::convert::From<&ISynchronizeHandle> for ::windows::runtime::IUnknown {
from(value: &ISynchronizeHandle) -> Self7981     fn from(value: &ISynchronizeHandle) -> Self {
7982         ::std::convert::From::from(::std::clone::Clone::clone(value))
7983     }
7984 }
7985 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISynchronizeHandle {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7986     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7987         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7988     }
7989 }
7990 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISynchronizeHandle {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7991     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7992         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7993     }
7994 }
7995 #[repr(C)]
7996 #[doc(hidden)]
7997 pub struct ISynchronizeHandle_abi(
7998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8001     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ph: *mut super::super::Foundation::HANDLE) -> ::windows::runtime::HRESULT,
8002     #[cfg(not(feature = "Win32_Foundation"))] usize,
8003 );
8004 #[repr(transparent)]
8005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8006 pub struct ISynchronizeMutex(::windows::runtime::IUnknown);
8007 impl ISynchronizeMutex {
Wait(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::runtime::Result<()>8008     pub unsafe fn Wait(&self, dwflags: u32, dwmilliseconds: u32) -> ::windows::runtime::Result<()> {
8009         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwflags), ::std::mem::transmute(dwmilliseconds)).ok()
8010     }
Signal(&self) -> ::windows::runtime::Result<()>8011     pub unsafe fn Signal(&self) -> ::windows::runtime::Result<()> {
8012         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self)).ok()
8013     }
Reset(&self) -> ::windows::runtime::Result<()>8014     pub unsafe fn Reset(&self) -> ::windows::runtime::Result<()> {
8015         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self)).ok()
8016     }
ReleaseMutex(&self) -> ::windows::runtime::Result<()>8017     pub unsafe fn ReleaseMutex(&self) -> ::windows::runtime::Result<()> {
8018         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self)).ok()
8019     }
8020 }
8021 unsafe impl ::windows::runtime::Interface for ISynchronizeMutex {
8022     type Vtable = ISynchronizeMutex_abi;
8023     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(37, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
8024 }
8025 impl ::std::convert::From<ISynchronizeMutex> for ::windows::runtime::IUnknown {
from(value: ISynchronizeMutex) -> Self8026     fn from(value: ISynchronizeMutex) -> Self {
8027         unsafe { ::std::mem::transmute(value) }
8028     }
8029 }
8030 impl ::std::convert::From<&ISynchronizeMutex> for ::windows::runtime::IUnknown {
from(value: &ISynchronizeMutex) -> Self8031     fn from(value: &ISynchronizeMutex) -> Self {
8032         ::std::convert::From::from(::std::clone::Clone::clone(value))
8033     }
8034 }
8035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISynchronizeMutex {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8037         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8038     }
8039 }
8040 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISynchronizeMutex {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8041     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8042         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8043     }
8044 }
8045 impl ::std::convert::From<ISynchronizeMutex> for ISynchronize {
from(value: ISynchronizeMutex) -> Self8046     fn from(value: ISynchronizeMutex) -> Self {
8047         unsafe { ::std::mem::transmute(value) }
8048     }
8049 }
8050 impl ::std::convert::From<&ISynchronizeMutex> for ISynchronize {
from(value: &ISynchronizeMutex) -> Self8051     fn from(value: &ISynchronizeMutex) -> Self {
8052         ::std::convert::From::from(::std::clone::Clone::clone(value))
8053     }
8054 }
8055 impl<'a> ::windows::runtime::IntoParam<'a, ISynchronize> for ISynchronizeMutex {
into_param(self) -> ::windows::runtime::Param<'a, ISynchronize>8056     fn into_param(self) -> ::windows::runtime::Param<'a, ISynchronize> {
8057         ::windows::runtime::Param::Owned(::std::convert::Into::<ISynchronize>::into(self))
8058     }
8059 }
8060 impl<'a> ::windows::runtime::IntoParam<'a, ISynchronize> for &ISynchronizeMutex {
into_param(self) -> ::windows::runtime::Param<'a, ISynchronize>8061     fn into_param(self) -> ::windows::runtime::Param<'a, ISynchronize> {
8062         ::windows::runtime::Param::Owned(::std::convert::Into::<ISynchronize>::into(::std::clone::Clone::clone(self)))
8063     }
8064 }
8065 #[repr(C)]
8066 #[doc(hidden)]
8067 pub struct ISynchronizeMutex_abi(
8068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwflags: u32, dwmilliseconds: u32) -> ::windows::runtime::HRESULT,
8072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8075 );
8076 #[repr(transparent)]
8077 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8078 pub struct ITimeAndNoticeControl(::windows::runtime::IUnknown);
8079 impl ITimeAndNoticeControl {
SuppressChanges(&self, res1: u32, res2: u32) -> ::windows::runtime::Result<()>8080     pub unsafe fn SuppressChanges(&self, res1: u32, res2: u32) -> ::windows::runtime::Result<()> {
8081         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(res1), ::std::mem::transmute(res2)).ok()
8082     }
8083 }
8084 unsafe impl ::windows::runtime::Interface for ITimeAndNoticeControl {
8085     type Vtable = ITimeAndNoticeControl_abi;
8086     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3154900654, 34936, 4561, [131, 233, 0, 192, 79, 194, 198, 212]);
8087 }
8088 impl ::std::convert::From<ITimeAndNoticeControl> for ::windows::runtime::IUnknown {
from(value: ITimeAndNoticeControl) -> Self8089     fn from(value: ITimeAndNoticeControl) -> Self {
8090         unsafe { ::std::mem::transmute(value) }
8091     }
8092 }
8093 impl ::std::convert::From<&ITimeAndNoticeControl> for ::windows::runtime::IUnknown {
from(value: &ITimeAndNoticeControl) -> Self8094     fn from(value: &ITimeAndNoticeControl) -> Self {
8095         ::std::convert::From::from(::std::clone::Clone::clone(value))
8096     }
8097 }
8098 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ITimeAndNoticeControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8099     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8100         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8101     }
8102 }
8103 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ITimeAndNoticeControl {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8104     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8105         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8106     }
8107 }
8108 #[repr(C)]
8109 #[doc(hidden)]
8110 pub struct ITimeAndNoticeControl_abi(
8111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, res1: u32, res2: u32) -> ::windows::runtime::HRESULT,
8115 );
8116 #[repr(transparent)]
8117 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8118 pub struct IUri(::windows::runtime::IUnknown);
8119 impl IUri {
8120     #[cfg(feature = "Win32_Foundation")]
GetPropertyBSTR(&self, uriprop: Uri_PROPERTY, pbstrproperty: *mut super::super::Foundation::BSTR, dwflags: u32) -> ::windows::runtime::Result<()>8121     pub unsafe fn GetPropertyBSTR(&self, uriprop: Uri_PROPERTY, pbstrproperty: *mut super::super::Foundation::BSTR, dwflags: u32) -> ::windows::runtime::Result<()> {
8122         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(uriprop), ::std::mem::transmute(pbstrproperty), ::std::mem::transmute(dwflags)).ok()
8123     }
GetPropertyLength(&self, uriprop: Uri_PROPERTY, pcchproperty: *mut u32, dwflags: u32) -> ::windows::runtime::Result<()>8124     pub unsafe fn GetPropertyLength(&self, uriprop: Uri_PROPERTY, pcchproperty: *mut u32, dwflags: u32) -> ::windows::runtime::Result<()> {
8125         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(uriprop), ::std::mem::transmute(pcchproperty), ::std::mem::transmute(dwflags)).ok()
8126     }
GetPropertyDWORD(&self, uriprop: Uri_PROPERTY, pdwproperty: *mut u32, dwflags: u32) -> ::windows::runtime::Result<()>8127     pub unsafe fn GetPropertyDWORD(&self, uriprop: Uri_PROPERTY, pdwproperty: *mut u32, dwflags: u32) -> ::windows::runtime::Result<()> {
8128         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(uriprop), ::std::mem::transmute(pdwproperty), ::std::mem::transmute(dwflags)).ok()
8129     }
8130     #[cfg(feature = "Win32_Foundation")]
HasProperty(&self, uriprop: Uri_PROPERTY) -> ::windows::runtime::Result<super::super::Foundation::BOOL>8131     pub unsafe fn HasProperty(&self, uriprop: Uri_PROPERTY) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8132         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8133         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), ::std::mem::transmute(uriprop), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8134     }
8135     #[cfg(feature = "Win32_Foundation")]
GetAbsoluteUri(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8136     pub unsafe fn GetAbsoluteUri(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8137         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8138         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8139     }
8140     #[cfg(feature = "Win32_Foundation")]
GetAuthority(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8141     pub unsafe fn GetAuthority(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8142         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8143         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8144     }
8145     #[cfg(feature = "Win32_Foundation")]
GetDisplayUri(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8146     pub unsafe fn GetDisplayUri(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8147         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8148         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8149     }
8150     #[cfg(feature = "Win32_Foundation")]
GetDomain(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8151     pub unsafe fn GetDomain(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8152         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8153         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8154     }
8155     #[cfg(feature = "Win32_Foundation")]
GetExtension(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8156     pub unsafe fn GetExtension(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8157         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8158         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8159     }
8160     #[cfg(feature = "Win32_Foundation")]
GetFragment(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8161     pub unsafe fn GetFragment(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8162         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8163         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8164     }
8165     #[cfg(feature = "Win32_Foundation")]
GetHost(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8166     pub unsafe fn GetHost(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8167         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8168         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8169     }
8170     #[cfg(feature = "Win32_Foundation")]
GetPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8171     pub unsafe fn GetPassword(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8172         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8173         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8174     }
8175     #[cfg(feature = "Win32_Foundation")]
GetPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8176     pub unsafe fn GetPath(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8177         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8178         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8179     }
8180     #[cfg(feature = "Win32_Foundation")]
GetPathAndQuery(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8181     pub unsafe fn GetPathAndQuery(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8182         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8183         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8184     }
8185     #[cfg(feature = "Win32_Foundation")]
GetQuery(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8186     pub unsafe fn GetQuery(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8187         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8188         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8189     }
8190     #[cfg(feature = "Win32_Foundation")]
GetRawUri(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8191     pub unsafe fn GetRawUri(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8192         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8193         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8194     }
8195     #[cfg(feature = "Win32_Foundation")]
GetSchemeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8196     pub unsafe fn GetSchemeName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8197         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8198         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8199     }
8200     #[cfg(feature = "Win32_Foundation")]
GetUserInfo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8201     pub unsafe fn GetUserInfo(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8202         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8203         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8204     }
8205     #[cfg(feature = "Win32_Foundation")]
GetUserName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR>8206     pub unsafe fn GetUserName(&self) -> ::windows::runtime::Result<super::super::Foundation::BSTR> {
8207         let mut result__: <super::super::Foundation::BSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8208         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BSTR>(result__)
8209     }
GetHostType(&self) -> ::windows::runtime::Result<u32>8210     pub unsafe fn GetHostType(&self) -> ::windows::runtime::Result<u32> {
8211         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8212         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8213     }
GetPort(&self) -> ::windows::runtime::Result<u32>8214     pub unsafe fn GetPort(&self) -> ::windows::runtime::Result<u32> {
8215         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8216         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8217     }
GetScheme(&self) -> ::windows::runtime::Result<u32>8218     pub unsafe fn GetScheme(&self) -> ::windows::runtime::Result<u32> {
8219         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8220         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8221     }
GetZone(&self) -> ::windows::runtime::Result<u32>8222     pub unsafe fn GetZone(&self) -> ::windows::runtime::Result<u32> {
8223         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8224         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8225     }
GetProperties(&self) -> ::windows::runtime::Result<u32>8226     pub unsafe fn GetProperties(&self) -> ::windows::runtime::Result<u32> {
8227         let mut result__: <u32 as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8228         (::windows::runtime::Interface::vtable(self).26)(::std::mem::transmute_copy(self), &mut result__).from_abi::<u32>(result__)
8229     }
8230     #[cfg(feature = "Win32_Foundation")]
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IUri>>(&self, puri: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL>8231     pub unsafe fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IUri>>(&self, puri: Param0) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8232         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8233         (::windows::runtime::Interface::vtable(self).27)(::std::mem::transmute_copy(self), puri.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8234     }
8235 }
8236 unsafe impl ::windows::runtime::Interface for IUri {
8237     type Vtable = IUri_abi;
8238     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2745100104, 27175, 18455, [166, 242, 19, 145, 75, 239, 88, 144]);
8239 }
8240 impl ::std::convert::From<IUri> for ::windows::runtime::IUnknown {
from(value: IUri) -> Self8241     fn from(value: IUri) -> Self {
8242         unsafe { ::std::mem::transmute(value) }
8243     }
8244 }
8245 impl ::std::convert::From<&IUri> for ::windows::runtime::IUnknown {
from(value: &IUri) -> Self8246     fn from(value: &IUri) -> Self {
8247         ::std::convert::From::from(::std::clone::Clone::clone(value))
8248     }
8249 }
8250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUri {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8253     }
8254 }
8255 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUri {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8256     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8257         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8258     }
8259 }
8260 #[repr(C)]
8261 #[doc(hidden)]
8262 pub struct IUri_abi(
8263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8266     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uriprop: Uri_PROPERTY, pbstrproperty: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>, dwflags: u32) -> ::windows::runtime::HRESULT,
8267     #[cfg(not(feature = "Win32_Foundation"))] usize,
8268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uriprop: Uri_PROPERTY, pcchproperty: *mut u32, dwflags: u32) -> ::windows::runtime::HRESULT,
8269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uriprop: Uri_PROPERTY, pdwproperty: *mut u32, dwflags: u32) -> ::windows::runtime::HRESULT,
8270     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uriprop: Uri_PROPERTY, pfhasproperty: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8271     #[cfg(not(feature = "Win32_Foundation"))] usize,
8272     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrabsoluteuri: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8273     #[cfg(not(feature = "Win32_Foundation"))] usize,
8274     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrauthority: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8275     #[cfg(not(feature = "Win32_Foundation"))] usize,
8276     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrdisplaystring: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8277     #[cfg(not(feature = "Win32_Foundation"))] usize,
8278     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrdomain: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8279     #[cfg(not(feature = "Win32_Foundation"))] usize,
8280     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrextension: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8281     #[cfg(not(feature = "Win32_Foundation"))] usize,
8282     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrfragment: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8283     #[cfg(not(feature = "Win32_Foundation"))] usize,
8284     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrhost: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8285     #[cfg(not(feature = "Win32_Foundation"))] usize,
8286     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrpassword: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8287     #[cfg(not(feature = "Win32_Foundation"))] usize,
8288     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrpath: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8289     #[cfg(not(feature = "Win32_Foundation"))] usize,
8290     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrpathandquery: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8291     #[cfg(not(feature = "Win32_Foundation"))] usize,
8292     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrquery: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8293     #[cfg(not(feature = "Win32_Foundation"))] usize,
8294     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrrawuri: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8295     #[cfg(not(feature = "Win32_Foundation"))] usize,
8296     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrschemename: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8297     #[cfg(not(feature = "Win32_Foundation"))] usize,
8298     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstruserinfo: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8299     #[cfg(not(feature = "Win32_Foundation"))] usize,
8300     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pbstrusername: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>) -> ::windows::runtime::HRESULT,
8301     #[cfg(not(feature = "Win32_Foundation"))] usize,
8302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwhosttype: *mut u32) -> ::windows::runtime::HRESULT,
8303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwport: *mut u32) -> ::windows::runtime::HRESULT,
8304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwscheme: *mut u32) -> ::windows::runtime::HRESULT,
8305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwzone: *mut u32) -> ::windows::runtime::HRESULT,
8306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pdwflags: *mut u32) -> ::windows::runtime::HRESULT,
8307     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, puri: ::windows::runtime::RawPtr, pfequal: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8308     #[cfg(not(feature = "Win32_Foundation"))] usize,
8309 );
8310 #[repr(transparent)]
8311 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8312 pub struct IUriBuilder(::windows::runtime::IUnknown);
8313 impl IUriBuilder {
CreateUriSimple(&self, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri>8314     pub unsafe fn CreateUriSimple(&self, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri> {
8315         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8316         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwallowencodingpropertymask), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUri>(result__)
8317     }
CreateUri(&self, dwcreateflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri>8318     pub unsafe fn CreateUri(&self, dwcreateflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri> {
8319         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8320         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcreateflags), ::std::mem::transmute(dwallowencodingpropertymask), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUri>(result__)
8321     }
CreateUriWithFlags(&self, dwcreateflags: u32, dwuribuilderflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri>8322     pub unsafe fn CreateUriWithFlags(&self, dwcreateflags: u32, dwuribuilderflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize) -> ::windows::runtime::Result<IUri> {
8323         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8324         (::windows::runtime::Interface::vtable(self).5)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwcreateflags), ::std::mem::transmute(dwuribuilderflags), ::std::mem::transmute(dwallowencodingpropertymask), ::std::mem::transmute(dwreserved), &mut result__).from_abi::<IUri>(result__)
8325     }
GetIUri(&self) -> ::windows::runtime::Result<IUri>8326     pub unsafe fn GetIUri(&self) -> ::windows::runtime::Result<IUri> {
8327         let mut result__: <IUri as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8328         (::windows::runtime::Interface::vtable(self).6)(::std::mem::transmute_copy(self), &mut result__).from_abi::<IUri>(result__)
8329     }
SetIUri<'a, Param0: ::windows::runtime::IntoParam<'a, IUri>>(&self, piuri: Param0) -> ::windows::runtime::Result<()>8330     pub unsafe fn SetIUri<'a, Param0: ::windows::runtime::IntoParam<'a, IUri>>(&self, piuri: Param0) -> ::windows::runtime::Result<()> {
8331         (::windows::runtime::Interface::vtable(self).7)(::std::mem::transmute_copy(self), piuri.into_param().abi()).ok()
8332     }
8333     #[cfg(feature = "Win32_Foundation")]
GetFragment(&self, pcchfragment: *mut u32, ppwzfragment: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8334     pub unsafe fn GetFragment(&self, pcchfragment: *mut u32, ppwzfragment: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8335         (::windows::runtime::Interface::vtable(self).8)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchfragment), ::std::mem::transmute(ppwzfragment)).ok()
8336     }
8337     #[cfg(feature = "Win32_Foundation")]
GetHost(&self, pcchhost: *mut u32, ppwzhost: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8338     pub unsafe fn GetHost(&self, pcchhost: *mut u32, ppwzhost: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8339         (::windows::runtime::Interface::vtable(self).9)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchhost), ::std::mem::transmute(ppwzhost)).ok()
8340     }
8341     #[cfg(feature = "Win32_Foundation")]
GetPassword(&self, pcchpassword: *mut u32, ppwzpassword: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8342     pub unsafe fn GetPassword(&self, pcchpassword: *mut u32, ppwzpassword: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8343         (::windows::runtime::Interface::vtable(self).10)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchpassword), ::std::mem::transmute(ppwzpassword)).ok()
8344     }
8345     #[cfg(feature = "Win32_Foundation")]
GetPath(&self, pcchpath: *mut u32, ppwzpath: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8346     pub unsafe fn GetPath(&self, pcchpath: *mut u32, ppwzpath: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8347         (::windows::runtime::Interface::vtable(self).11)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchpath), ::std::mem::transmute(ppwzpath)).ok()
8348     }
8349     #[cfg(feature = "Win32_Foundation")]
GetPort(&self, pfhasport: *mut super::super::Foundation::BOOL, pdwport: *mut u32) -> ::windows::runtime::Result<()>8350     pub unsafe fn GetPort(&self, pfhasport: *mut super::super::Foundation::BOOL, pdwport: *mut u32) -> ::windows::runtime::Result<()> {
8351         (::windows::runtime::Interface::vtable(self).12)(::std::mem::transmute_copy(self), ::std::mem::transmute(pfhasport), ::std::mem::transmute(pdwport)).ok()
8352     }
8353     #[cfg(feature = "Win32_Foundation")]
GetQuery(&self, pcchquery: *mut u32, ppwzquery: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8354     pub unsafe fn GetQuery(&self, pcchquery: *mut u32, ppwzquery: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8355         (::windows::runtime::Interface::vtable(self).13)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchquery), ::std::mem::transmute(ppwzquery)).ok()
8356     }
8357     #[cfg(feature = "Win32_Foundation")]
GetSchemeName(&self, pcchschemename: *mut u32, ppwzschemename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8358     pub unsafe fn GetSchemeName(&self, pcchschemename: *mut u32, ppwzschemename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8359         (::windows::runtime::Interface::vtable(self).14)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchschemename), ::std::mem::transmute(ppwzschemename)).ok()
8360     }
8361     #[cfg(feature = "Win32_Foundation")]
GetUserName(&self, pcchusername: *mut u32, ppwzusername: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()>8362     pub unsafe fn GetUserName(&self, pcchusername: *mut u32, ppwzusername: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::Result<()> {
8363         (::windows::runtime::Interface::vtable(self).15)(::std::mem::transmute_copy(self), ::std::mem::transmute(pcchusername), ::std::mem::transmute(ppwzusername)).ok()
8364     }
8365     #[cfg(feature = "Win32_Foundation")]
SetFragment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8366     pub unsafe fn SetFragment<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8367         (::windows::runtime::Interface::vtable(self).16)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8368     }
8369     #[cfg(feature = "Win32_Foundation")]
SetHost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8370     pub unsafe fn SetHost<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8371         (::windows::runtime::Interface::vtable(self).17)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8372     }
8373     #[cfg(feature = "Win32_Foundation")]
SetPassword<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8374     pub unsafe fn SetPassword<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8375         (::windows::runtime::Interface::vtable(self).18)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8376     }
8377     #[cfg(feature = "Win32_Foundation")]
SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8378     pub unsafe fn SetPath<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8379         (::windows::runtime::Interface::vtable(self).19)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8380     }
8381     #[cfg(feature = "Win32_Foundation")]
SetPort<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fhasport: Param0, dwnewvalue: u32) -> ::windows::runtime::Result<()>8382     pub unsafe fn SetPort<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(&self, fhasport: Param0, dwnewvalue: u32) -> ::windows::runtime::Result<()> {
8383         (::windows::runtime::Interface::vtable(self).20)(::std::mem::transmute_copy(self), fhasport.into_param().abi(), ::std::mem::transmute(dwnewvalue)).ok()
8384     }
8385     #[cfg(feature = "Win32_Foundation")]
SetQuery<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8386     pub unsafe fn SetQuery<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8387         (::windows::runtime::Interface::vtable(self).21)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8388     }
8389     #[cfg(feature = "Win32_Foundation")]
SetSchemeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8390     pub unsafe fn SetSchemeName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8391         (::windows::runtime::Interface::vtable(self).22)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8392     }
8393     #[cfg(feature = "Win32_Foundation")]
SetUserName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()>8394     pub unsafe fn SetUserName<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(&self, pwznewvalue: Param0) -> ::windows::runtime::Result<()> {
8395         (::windows::runtime::Interface::vtable(self).23)(::std::mem::transmute_copy(self), pwznewvalue.into_param().abi()).ok()
8396     }
RemoveProperties(&self, dwpropertymask: u32) -> ::windows::runtime::Result<()>8397     pub unsafe fn RemoveProperties(&self, dwpropertymask: u32) -> ::windows::runtime::Result<()> {
8398         (::windows::runtime::Interface::vtable(self).24)(::std::mem::transmute_copy(self), ::std::mem::transmute(dwpropertymask)).ok()
8399     }
8400     #[cfg(feature = "Win32_Foundation")]
HasBeenModified(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL>8401     pub unsafe fn HasBeenModified(&self) -> ::windows::runtime::Result<super::super::Foundation::BOOL> {
8402         let mut result__: <super::super::Foundation::BOOL as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8403         (::windows::runtime::Interface::vtable(self).25)(::std::mem::transmute_copy(self), &mut result__).from_abi::<super::super::Foundation::BOOL>(result__)
8404     }
8405 }
8406 unsafe impl ::windows::runtime::Interface for IUriBuilder {
8407     type Vtable = IUriBuilder_abi;
8408     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1109504737, 35157, 18112, [189, 91, 222, 152, 151, 86, 93, 231]);
8409 }
8410 impl ::std::convert::From<IUriBuilder> for ::windows::runtime::IUnknown {
from(value: IUriBuilder) -> Self8411     fn from(value: IUriBuilder) -> Self {
8412         unsafe { ::std::mem::transmute(value) }
8413     }
8414 }
8415 impl ::std::convert::From<&IUriBuilder> for ::windows::runtime::IUnknown {
from(value: &IUriBuilder) -> Self8416     fn from(value: &IUriBuilder) -> Self {
8417         ::std::convert::From::from(::std::clone::Clone::clone(value))
8418     }
8419 }
8420 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUriBuilder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8421     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8422         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8423     }
8424 }
8425 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUriBuilder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8426     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8427         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8428     }
8429 }
8430 #[repr(C)]
8431 #[doc(hidden)]
8432 pub struct IUriBuilder_abi(
8433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwallowencodingpropertymask: u32, dwreserved: usize, ppiuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcreateflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize, ppiuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwcreateflags: u32, dwuribuilderflags: u32, dwallowencodingpropertymask: u32, dwreserved: usize, ppiuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ppiuri: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, piuri: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8441     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchfragment: *mut u32, ppwzfragment: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8442     #[cfg(not(feature = "Win32_Foundation"))] usize,
8443     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchhost: *mut u32, ppwzhost: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8444     #[cfg(not(feature = "Win32_Foundation"))] usize,
8445     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchpassword: *mut u32, ppwzpassword: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8446     #[cfg(not(feature = "Win32_Foundation"))] usize,
8447     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchpath: *mut u32, ppwzpath: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8448     #[cfg(not(feature = "Win32_Foundation"))] usize,
8449     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfhasport: *mut super::super::Foundation::BOOL, pdwport: *mut u32) -> ::windows::runtime::HRESULT,
8450     #[cfg(not(feature = "Win32_Foundation"))] usize,
8451     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchquery: *mut u32, ppwzquery: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8452     #[cfg(not(feature = "Win32_Foundation"))] usize,
8453     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchschemename: *mut u32, ppwzschemename: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8454     #[cfg(not(feature = "Win32_Foundation"))] usize,
8455     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pcchusername: *mut u32, ppwzusername: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8456     #[cfg(not(feature = "Win32_Foundation"))] usize,
8457     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8458     #[cfg(not(feature = "Win32_Foundation"))] usize,
8459     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8460     #[cfg(not(feature = "Win32_Foundation"))] usize,
8461     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8462     #[cfg(not(feature = "Win32_Foundation"))] usize,
8463     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8464     #[cfg(not(feature = "Win32_Foundation"))] usize,
8465     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fhasport: super::super::Foundation::BOOL, dwnewvalue: u32) -> ::windows::runtime::HRESULT,
8466     #[cfg(not(feature = "Win32_Foundation"))] usize,
8467     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8468     #[cfg(not(feature = "Win32_Foundation"))] usize,
8469     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8470     #[cfg(not(feature = "Win32_Foundation"))] usize,
8471     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pwznewvalue: super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT,
8472     #[cfg(not(feature = "Win32_Foundation"))] usize,
8473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, dwpropertymask: u32) -> ::windows::runtime::HRESULT,
8474     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pfmodified: *mut super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT,
8475     #[cfg(not(feature = "Win32_Foundation"))] usize,
8476 );
8477 #[repr(transparent)]
8478 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8479 pub struct IUrlMon(::windows::runtime::IUnknown);
8480 impl IUrlMon {
8481     #[cfg(feature = "Win32_Foundation")]
AsyncGetClassBits<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param6: ::windows::runtime::IntoParam<'a, IBindCtx>>( &self, rclsid: *const ::windows::runtime::GUID, psztype: Param1, pszext: Param2, dwfileversionms: u32, dwfileversionls: u32, pszcodebase: Param5, pbc: Param6, dwclasscontext: u32, riid: *const ::windows::runtime::GUID, flags: u32, ) -> ::windows::runtime::Result<()>8482     pub unsafe fn AsyncGetClassBits<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param5: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>, Param6: ::windows::runtime::IntoParam<'a, IBindCtx>>(
8483         &self,
8484         rclsid: *const ::windows::runtime::GUID,
8485         psztype: Param1,
8486         pszext: Param2,
8487         dwfileversionms: u32,
8488         dwfileversionls: u32,
8489         pszcodebase: Param5,
8490         pbc: Param6,
8491         dwclasscontext: u32,
8492         riid: *const ::windows::runtime::GUID,
8493         flags: u32,
8494     ) -> ::windows::runtime::Result<()> {
8495         (::windows::runtime::Interface::vtable(self).3)(
8496             ::std::mem::transmute_copy(self),
8497             ::std::mem::transmute(rclsid),
8498             psztype.into_param().abi(),
8499             pszext.into_param().abi(),
8500             ::std::mem::transmute(dwfileversionms),
8501             ::std::mem::transmute(dwfileversionls),
8502             pszcodebase.into_param().abi(),
8503             pbc.into_param().abi(),
8504             ::std::mem::transmute(dwclasscontext),
8505             ::std::mem::transmute(riid),
8506             ::std::mem::transmute(flags),
8507         )
8508         .ok()
8509     }
8510 }
8511 unsafe impl ::windows::runtime::Interface for IUrlMon {
8512     type Vtable = IUrlMon_abi;
8513     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(38, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
8514 }
8515 impl ::std::convert::From<IUrlMon> for ::windows::runtime::IUnknown {
from(value: IUrlMon) -> Self8516     fn from(value: IUrlMon) -> Self {
8517         unsafe { ::std::mem::transmute(value) }
8518     }
8519 }
8520 impl ::std::convert::From<&IUrlMon> for ::windows::runtime::IUnknown {
from(value: &IUrlMon) -> Self8521     fn from(value: &IUrlMon) -> Self {
8522         ::std::convert::From::from(::std::clone::Clone::clone(value))
8523     }
8524 }
8525 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IUrlMon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8526     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8527         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8528     }
8529 }
8530 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IUrlMon {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8531     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8532         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8533     }
8534 }
8535 #[repr(C)]
8536 #[doc(hidden)]
8537 pub struct IUrlMon_abi(
8538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8540     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8541     #[cfg(feature = "Win32_Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rclsid: *const ::windows::runtime::GUID, psztype: super::super::Foundation::PWSTR, pszext: super::super::Foundation::PWSTR, dwfileversionms: u32, dwfileversionls: u32, pszcodebase: super::super::Foundation::PWSTR, pbc: ::windows::runtime::RawPtr, dwclasscontext: u32, riid: *const ::windows::runtime::GUID, flags: u32) -> ::windows::runtime::HRESULT,
8542     #[cfg(not(feature = "Win32_Foundation"))] usize,
8543 );
8544 #[repr(transparent)]
8545 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8546 pub struct IWaitMultiple(::windows::runtime::IUnknown);
8547 impl IWaitMultiple {
WaitMultiple(&self, timeout: u32) -> ::windows::runtime::Result<ISynchronize>8548     pub unsafe fn WaitMultiple(&self, timeout: u32) -> ::windows::runtime::Result<ISynchronize> {
8549         let mut result__: <ISynchronize as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8550         (::windows::runtime::Interface::vtable(self).3)(::std::mem::transmute_copy(self), ::std::mem::transmute(timeout), &mut result__).from_abi::<ISynchronize>(result__)
8551     }
AddSynchronize<'a, Param0: ::windows::runtime::IntoParam<'a, ISynchronize>>(&self, psync: Param0) -> ::windows::runtime::Result<()>8552     pub unsafe fn AddSynchronize<'a, Param0: ::windows::runtime::IntoParam<'a, ISynchronize>>(&self, psync: Param0) -> ::windows::runtime::Result<()> {
8553         (::windows::runtime::Interface::vtable(self).4)(::std::mem::transmute_copy(self), psync.into_param().abi()).ok()
8554     }
8555 }
8556 unsafe impl ::windows::runtime::Interface for IWaitMultiple {
8557     type Vtable = IWaitMultiple_abi;
8558     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(43, 0, 0, [192, 0, 0, 0, 0, 0, 0, 70]);
8559 }
8560 impl ::std::convert::From<IWaitMultiple> for ::windows::runtime::IUnknown {
from(value: IWaitMultiple) -> Self8561     fn from(value: IWaitMultiple) -> Self {
8562         unsafe { ::std::mem::transmute(value) }
8563     }
8564 }
8565 impl ::std::convert::From<&IWaitMultiple> for ::windows::runtime::IUnknown {
from(value: &IWaitMultiple) -> Self8566     fn from(value: &IWaitMultiple) -> Self {
8567         ::std::convert::From::from(::std::clone::Clone::clone(value))
8568     }
8569 }
8570 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IWaitMultiple {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8571     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8572         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8573     }
8574 }
8575 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IWaitMultiple {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8576     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8577         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8578     }
8579 }
8580 #[repr(C)]
8581 #[doc(hidden)]
8582 pub struct IWaitMultiple_abi(
8583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
8586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: u32, psync: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, psync: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
8588 );
8589 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8590 #[repr(C)]
8591 pub struct LONG_SIZEDARR {
8592     pub clSize: u32,
8593     pub pData: *mut u32,
8594 }
8595 impl LONG_SIZEDARR {}
8596 impl ::std::default::Default for LONG_SIZEDARR {
default() -> Self8597     fn default() -> Self {
8598         unsafe { ::std::mem::zeroed() }
8599     }
8600 }
8601 impl ::std::fmt::Debug for LONG_SIZEDARR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8602     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8603         fmt.debug_struct("LONG_SIZEDARR").field("clSize", &self.clSize).field("pData", &self.pData).finish()
8604     }
8605 }
8606 impl ::std::cmp::PartialEq for LONG_SIZEDARR {
eq(&self, other: &Self) -> bool8607     fn eq(&self, other: &Self) -> bool {
8608         self.clSize == other.clSize && self.pData == other.pData
8609     }
8610 }
8611 impl ::std::cmp::Eq for LONG_SIZEDARR {}
8612 unsafe impl ::windows::runtime::Abi for LONG_SIZEDARR {
8613     type Abi = Self;
8614     type DefaultType = Self;
8615 }
8616 pub type LPFNCANUNLOADNOW = unsafe extern "system" fn() -> ::windows::runtime::HRESULT;
8617 pub type LPFNGETCLASSOBJECT = unsafe extern "system" fn(param0: *const ::windows::runtime::GUID, param1: *const ::windows::runtime::GUID, param2: *mut *mut ::std::ffi::c_void) -> ::windows::runtime::HRESULT;
8618 pub const MARSHALINTERFACE_MIN: u32 = 500u32;
8619 pub const MAXLSN: u64 = 9223372036854775807u64;
8620 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8621 #[repr(transparent)]
8622 pub struct MEMCTX(pub i32);
8623 pub const MEMCTX_TASK: MEMCTX = MEMCTX(1i32);
8624 pub const MEMCTX_SHARED: MEMCTX = MEMCTX(2i32);
8625 pub const MEMCTX_MACSYSTEM: MEMCTX = MEMCTX(3i32);
8626 pub const MEMCTX_UNKNOWN: MEMCTX = MEMCTX(-1i32);
8627 pub const MEMCTX_SAME: MEMCTX = MEMCTX(-2i32);
8628 impl ::std::convert::From<i32> for MEMCTX {
from(value: i32) -> Self8629     fn from(value: i32) -> Self {
8630         Self(value)
8631     }
8632 }
8633 unsafe impl ::windows::runtime::Abi for MEMCTX {
8634     type Abi = Self;
8635     type DefaultType = Self;
8636 }
8637 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8638 #[repr(transparent)]
8639 pub struct MKREDUCE(pub i32);
8640 pub const MKRREDUCE_ONE: MKREDUCE = MKREDUCE(196608i32);
8641 pub const MKRREDUCE_TOUSER: MKREDUCE = MKREDUCE(131072i32);
8642 pub const MKRREDUCE_THROUGHUSER: MKREDUCE = MKREDUCE(65536i32);
8643 pub const MKRREDUCE_ALL: MKREDUCE = MKREDUCE(0i32);
8644 impl ::std::convert::From<i32> for MKREDUCE {
from(value: i32) -> Self8645     fn from(value: i32) -> Self {
8646         Self(value)
8647     }
8648 }
8649 unsafe impl ::windows::runtime::Abi for MKREDUCE {
8650     type Abi = Self;
8651     type DefaultType = Self;
8652 }
8653 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8654 #[repr(transparent)]
8655 pub struct MKSYS(pub i32);
8656 pub const MKSYS_NONE: MKSYS = MKSYS(0i32);
8657 pub const MKSYS_GENERICCOMPOSITE: MKSYS = MKSYS(1i32);
8658 pub const MKSYS_FILEMONIKER: MKSYS = MKSYS(2i32);
8659 pub const MKSYS_ANTIMONIKER: MKSYS = MKSYS(3i32);
8660 pub const MKSYS_ITEMMONIKER: MKSYS = MKSYS(4i32);
8661 pub const MKSYS_POINTERMONIKER: MKSYS = MKSYS(5i32);
8662 pub const MKSYS_CLASSMONIKER: MKSYS = MKSYS(7i32);
8663 pub const MKSYS_OBJREFMONIKER: MKSYS = MKSYS(8i32);
8664 pub const MKSYS_SESSIONMONIKER: MKSYS = MKSYS(9i32);
8665 pub const MKSYS_LUAMONIKER: MKSYS = MKSYS(10i32);
8666 impl ::std::convert::From<i32> for MKSYS {
from(value: i32) -> Self8667     fn from(value: i32) -> Self {
8668         Self(value)
8669     }
8670 }
8671 unsafe impl ::windows::runtime::Abi for MKSYS {
8672     type Abi = Self;
8673     type DefaultType = Self;
8674 }
8675 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8676 #[repr(transparent)]
8677 pub struct MSHCTX(pub i32);
8678 pub const MSHCTX_LOCAL: MSHCTX = MSHCTX(0i32);
8679 pub const MSHCTX_NOSHAREDMEM: MSHCTX = MSHCTX(1i32);
8680 pub const MSHCTX_DIFFERENTMACHINE: MSHCTX = MSHCTX(2i32);
8681 pub const MSHCTX_INPROC: MSHCTX = MSHCTX(3i32);
8682 pub const MSHCTX_CROSSCTX: MSHCTX = MSHCTX(4i32);
8683 pub const MSHCTX_CONTAINER: MSHCTX = MSHCTX(5i32);
8684 impl ::std::convert::From<i32> for MSHCTX {
from(value: i32) -> Self8685     fn from(value: i32) -> Self {
8686         Self(value)
8687     }
8688 }
8689 unsafe impl ::windows::runtime::Abi for MSHCTX {
8690     type Abi = Self;
8691     type DefaultType = Self;
8692 }
8693 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8694 #[repr(transparent)]
8695 pub struct MSHLFLAGS(pub i32);
8696 pub const MSHLFLAGS_NORMAL: MSHLFLAGS = MSHLFLAGS(0i32);
8697 pub const MSHLFLAGS_TABLESTRONG: MSHLFLAGS = MSHLFLAGS(1i32);
8698 pub const MSHLFLAGS_TABLEWEAK: MSHLFLAGS = MSHLFLAGS(2i32);
8699 pub const MSHLFLAGS_NOPING: MSHLFLAGS = MSHLFLAGS(4i32);
8700 pub const MSHLFLAGS_RESERVED1: MSHLFLAGS = MSHLFLAGS(8i32);
8701 pub const MSHLFLAGS_RESERVED2: MSHLFLAGS = MSHLFLAGS(16i32);
8702 pub const MSHLFLAGS_RESERVED3: MSHLFLAGS = MSHLFLAGS(32i32);
8703 pub const MSHLFLAGS_RESERVED4: MSHLFLAGS = MSHLFLAGS(64i32);
8704 impl ::std::convert::From<i32> for MSHLFLAGS {
from(value: i32) -> Self8705     fn from(value: i32) -> Self {
8706         Self(value)
8707     }
8708 }
8709 unsafe impl ::windows::runtime::Abi for MSHLFLAGS {
8710     type Abi = Self;
8711     type DefaultType = Self;
8712 }
8713 #[derive(:: std :: clone :: Clone)]
8714 #[repr(C)]
8715 pub struct MULTI_QI {
8716     pub pIID: *mut ::windows::runtime::GUID,
8717     pub pItf: ::std::option::Option<::windows::runtime::IUnknown>,
8718     pub hr: ::windows::runtime::HRESULT,
8719 }
8720 impl MULTI_QI {}
8721 impl ::std::default::Default for MULTI_QI {
default() -> Self8722     fn default() -> Self {
8723         unsafe { ::std::mem::zeroed() }
8724     }
8725 }
8726 impl ::std::fmt::Debug for MULTI_QI {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8727     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8728         fmt.debug_struct("MULTI_QI").field("pIID", &self.pIID).field("pItf", &self.pItf).field("hr", &self.hr).finish()
8729     }
8730 }
8731 impl ::std::cmp::PartialEq for MULTI_QI {
eq(&self, other: &Self) -> bool8732     fn eq(&self, other: &Self) -> bool {
8733         self.pIID == other.pIID && self.pItf == other.pItf && self.hr == other.hr
8734     }
8735 }
8736 impl ::std::cmp::Eq for MULTI_QI {}
8737 unsafe impl ::windows::runtime::Abi for MULTI_QI {
8738     type Abi = ::std::mem::ManuallyDrop<Self>;
8739     type DefaultType = Self;
8740 }
8741 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8742 #[repr(C)]
8743 pub struct MachineGlobalObjectTableRegistrationToken__ {
8744     pub unused: i32,
8745 }
8746 impl MachineGlobalObjectTableRegistrationToken__ {}
8747 impl ::std::default::Default for MachineGlobalObjectTableRegistrationToken__ {
default() -> Self8748     fn default() -> Self {
8749         unsafe { ::std::mem::zeroed() }
8750     }
8751 }
8752 impl ::std::fmt::Debug for MachineGlobalObjectTableRegistrationToken__ {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8753     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8754         fmt.debug_struct("MachineGlobalObjectTableRegistrationToken__").field("unused", &self.unused).finish()
8755     }
8756 }
8757 impl ::std::cmp::PartialEq for MachineGlobalObjectTableRegistrationToken__ {
eq(&self, other: &Self) -> bool8758     fn eq(&self, other: &Self) -> bool {
8759         self.unused == other.unused
8760     }
8761 }
8762 impl ::std::cmp::Eq for MachineGlobalObjectTableRegistrationToken__ {}
8763 unsafe impl ::windows::runtime::Abi for MachineGlobalObjectTableRegistrationToken__ {
8764     type Abi = Self;
8765     type DefaultType = Self;
8766 }
8767 #[cfg(feature = "Win32_Foundation")]
8768 #[inline]
MkParseDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pbc: Param0, szusername: Param1, pcheaten: *mut u32, ppmk: *mut ::std::option::Option<IMoniker>) -> ::windows::runtime::Result<()>8769 pub unsafe fn MkParseDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, IBindCtx>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::PWSTR>>(pbc: Param0, szusername: Param1, pcheaten: *mut u32, ppmk: *mut ::std::option::Option<IMoniker>) -> ::windows::runtime::Result<()> {
8770     #[cfg(windows)]
8771     {
8772         #[link(name = "windows")]
8773         extern "system" {
8774             fn MkParseDisplayName(pbc: ::windows::runtime::RawPtr, szusername: super::super::Foundation::PWSTR, pcheaten: *mut u32, ppmk: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
8775         }
8776         MkParseDisplayName(pbc.into_param().abi(), szusername.into_param().abi(), ::std::mem::transmute(pcheaten), ::std::mem::transmute(ppmk)).ok()
8777     }
8778     #[cfg(not(windows))]
8779     unimplemented!("Unsupported target OS");
8780 }
8781 #[inline]
MonikerCommonPrefixWith<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(pmkthis: Param0, pmkother: Param1) -> ::windows::runtime::Result<IMoniker>8782 pub unsafe fn MonikerCommonPrefixWith<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>>(pmkthis: Param0, pmkother: Param1) -> ::windows::runtime::Result<IMoniker> {
8783     #[cfg(windows)]
8784     {
8785         #[link(name = "windows")]
8786         extern "system" {
8787             fn MonikerCommonPrefixWith(pmkthis: ::windows::runtime::RawPtr, pmkother: ::windows::runtime::RawPtr, ppmkcommon: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT;
8788         }
8789         let mut result__: <IMoniker as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8790         MonikerCommonPrefixWith(pmkthis.into_param().abi(), pmkother.into_param().abi(), &mut result__).from_abi::<IMoniker>(result__)
8791     }
8792     #[cfg(not(windows))]
8793     unimplemented!("Unsupported target OS");
8794 }
8795 #[cfg(feature = "Win32_Foundation")]
8796 #[inline]
MonikerRelativePathTo<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(pmksrc: Param0, pmkdest: Param1, ppmkrelpath: *mut ::std::option::Option<IMoniker>, dwreserved: Param3) -> ::windows::runtime::Result<()>8797 pub unsafe fn MonikerRelativePathTo<'a, Param0: ::windows::runtime::IntoParam<'a, IMoniker>, Param1: ::windows::runtime::IntoParam<'a, IMoniker>, Param3: ::windows::runtime::IntoParam<'a, super::super::Foundation::BOOL>>(pmksrc: Param0, pmkdest: Param1, ppmkrelpath: *mut ::std::option::Option<IMoniker>, dwreserved: Param3) -> ::windows::runtime::Result<()> {
8798     #[cfg(windows)]
8799     {
8800         #[link(name = "windows")]
8801         extern "system" {
8802             fn MonikerRelativePathTo(pmksrc: ::windows::runtime::RawPtr, pmkdest: ::windows::runtime::RawPtr, ppmkrelpath: *mut ::windows::runtime::RawPtr, dwreserved: super::super::Foundation::BOOL) -> ::windows::runtime::HRESULT;
8803         }
8804         MonikerRelativePathTo(pmksrc.into_param().abi(), pmkdest.into_param().abi(), ::std::mem::transmute(ppmkrelpath), dwreserved.into_param().abi()).ok()
8805     }
8806     #[cfg(not(windows))]
8807     unimplemented!("Unsupported target OS");
8808 }
8809 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8810 #[repr(transparent)]
8811 pub struct PENDINGMSG(pub i32);
8812 pub const PENDINGMSG_CANCELCALL: PENDINGMSG = PENDINGMSG(0i32);
8813 pub const PENDINGMSG_WAITNOPROCESS: PENDINGMSG = PENDINGMSG(1i32);
8814 pub const PENDINGMSG_WAITDEFPROCESS: PENDINGMSG = PENDINGMSG(2i32);
8815 impl ::std::convert::From<i32> for PENDINGMSG {
from(value: i32) -> Self8816     fn from(value: i32) -> Self {
8817         Self(value)
8818     }
8819 }
8820 unsafe impl ::windows::runtime::Abi for PENDINGMSG {
8821     type Abi = Self;
8822     type DefaultType = Self;
8823 }
8824 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8825 #[repr(transparent)]
8826 pub struct PENDINGTYPE(pub i32);
8827 pub const PENDINGTYPE_TOPLEVEL: PENDINGTYPE = PENDINGTYPE(1i32);
8828 pub const PENDINGTYPE_NESTED: PENDINGTYPE = PENDINGTYPE(2i32);
8829 impl ::std::convert::From<i32> for PENDINGTYPE {
from(value: i32) -> Self8830     fn from(value: i32) -> Self {
8831         Self(value)
8832     }
8833 }
8834 unsafe impl ::windows::runtime::Abi for PENDINGTYPE {
8835     type Abi = Self;
8836     type DefaultType = Self;
8837 }
8838 pub type PFNCONTEXTCALL = unsafe extern "system" fn(pparam: *mut ComCallData) -> ::windows::runtime::HRESULT;
8839 #[cfg(feature = "Win32_Foundation")]
8840 #[inline]
ProgIDFromCLSID(clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>8841 pub unsafe fn ProgIDFromCLSID(clsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
8842     #[cfg(windows)]
8843     {
8844         #[link(name = "windows")]
8845         extern "system" {
8846             fn ProgIDFromCLSID(clsid: *const ::windows::runtime::GUID, lplpszprogid: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
8847         }
8848         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
8849         ProgIDFromCLSID(::std::mem::transmute(clsid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
8850     }
8851     #[cfg(not(windows))]
8852     unimplemented!("Unsupported target OS");
8853 }
8854 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8855 #[repr(C)]
8856 pub struct QUERYCONTEXT {
8857     pub dwContext: u32,
8858     pub Platform: CSPLATFORM,
8859     pub Locale: u32,
8860     pub dwVersionHi: u32,
8861     pub dwVersionLo: u32,
8862 }
8863 impl QUERYCONTEXT {}
8864 impl ::std::default::Default for QUERYCONTEXT {
default() -> Self8865     fn default() -> Self {
8866         unsafe { ::std::mem::zeroed() }
8867     }
8868 }
8869 impl ::std::fmt::Debug for QUERYCONTEXT {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8870     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8871         fmt.debug_struct("QUERYCONTEXT").field("dwContext", &self.dwContext).field("Platform", &self.Platform).field("Locale", &self.Locale).field("dwVersionHi", &self.dwVersionHi).field("dwVersionLo", &self.dwVersionLo).finish()
8872     }
8873 }
8874 impl ::std::cmp::PartialEq for QUERYCONTEXT {
eq(&self, other: &Self) -> bool8875     fn eq(&self, other: &Self) -> bool {
8876         self.dwContext == other.dwContext && self.Platform == other.Platform && self.Locale == other.Locale && self.dwVersionHi == other.dwVersionHi && self.dwVersionLo == other.dwVersionLo
8877     }
8878 }
8879 impl ::std::cmp::Eq for QUERYCONTEXT {}
8880 unsafe impl ::windows::runtime::Abi for QUERYCONTEXT {
8881     type Abi = Self;
8882     type DefaultType = Self;
8883 }
8884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8885 #[repr(transparent)]
8886 pub struct REGCLS(pub i32);
8887 pub const REGCLS_SINGLEUSE: REGCLS = REGCLS(0i32);
8888 pub const REGCLS_MULTIPLEUSE: REGCLS = REGCLS(1i32);
8889 pub const REGCLS_MULTI_SEPARATE: REGCLS = REGCLS(2i32);
8890 pub const REGCLS_SUSPENDED: REGCLS = REGCLS(4i32);
8891 pub const REGCLS_SURROGATE: REGCLS = REGCLS(8i32);
8892 pub const REGCLS_AGILE: REGCLS = REGCLS(16i32);
8893 impl ::std::convert::From<i32> for REGCLS {
from(value: i32) -> Self8894     fn from(value: i32) -> Self {
8895         Self(value)
8896     }
8897 }
8898 unsafe impl ::windows::runtime::Abi for REGCLS {
8899     type Abi = Self;
8900     type DefaultType = Self;
8901 }
8902 pub const ROTREGFLAGS_ALLOWANYCLIENT: u32 = 1u32;
8903 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
8904 #[repr(C)]
8905 pub struct RPCOLEMESSAGE {
8906     pub reserved1: *mut ::std::ffi::c_void,
8907     pub dataRepresentation: u32,
8908     pub Buffer: *mut ::std::ffi::c_void,
8909     pub cbBuffer: u32,
8910     pub iMethod: u32,
8911     pub reserved2: [*mut ::std::ffi::c_void; 5],
8912     pub rpcFlags: u32,
8913 }
8914 impl RPCOLEMESSAGE {}
8915 impl ::std::default::Default for RPCOLEMESSAGE {
default() -> Self8916     fn default() -> Self {
8917         unsafe { ::std::mem::zeroed() }
8918     }
8919 }
8920 impl ::std::fmt::Debug for RPCOLEMESSAGE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result8921     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
8922         fmt.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("rpcFlags", &self.rpcFlags).finish()
8923     }
8924 }
8925 impl ::std::cmp::PartialEq for RPCOLEMESSAGE {
eq(&self, other: &Self) -> bool8926     fn eq(&self, other: &Self) -> bool {
8927         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
8928     }
8929 }
8930 impl ::std::cmp::Eq for RPCOLEMESSAGE {}
8931 unsafe impl ::windows::runtime::Abi for RPCOLEMESSAGE {
8932     type Abi = Self;
8933     type DefaultType = Self;
8934 }
8935 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8936 #[repr(transparent)]
8937 pub struct RPCOPT_PROPERTIES(pub i32);
8938 pub const COMBND_RPCTIMEOUT: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(1i32);
8939 pub const COMBND_SERVER_LOCALITY: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(2i32);
8940 pub const COMBND_RESERVED1: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(4i32);
8941 pub const COMBND_RESERVED2: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(5i32);
8942 pub const COMBND_RESERVED3: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(8i32);
8943 pub const COMBND_RESERVED4: RPCOPT_PROPERTIES = RPCOPT_PROPERTIES(16i32);
8944 impl ::std::convert::From<i32> for RPCOPT_PROPERTIES {
from(value: i32) -> Self8945     fn from(value: i32) -> Self {
8946         Self(value)
8947     }
8948 }
8949 unsafe impl ::windows::runtime::Abi for RPCOPT_PROPERTIES {
8950     type Abi = Self;
8951     type DefaultType = Self;
8952 }
8953 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8954 #[repr(transparent)]
8955 pub struct RPCOPT_SERVER_LOCALITY_VALUES(pub i32);
8956 pub const SERVER_LOCALITY_PROCESS_LOCAL: RPCOPT_SERVER_LOCALITY_VALUES = RPCOPT_SERVER_LOCALITY_VALUES(0i32);
8957 pub const SERVER_LOCALITY_MACHINE_LOCAL: RPCOPT_SERVER_LOCALITY_VALUES = RPCOPT_SERVER_LOCALITY_VALUES(1i32);
8958 pub const SERVER_LOCALITY_REMOTE: RPCOPT_SERVER_LOCALITY_VALUES = RPCOPT_SERVER_LOCALITY_VALUES(2i32);
8959 impl ::std::convert::From<i32> for RPCOPT_SERVER_LOCALITY_VALUES {
from(value: i32) -> Self8960     fn from(value: i32) -> Self {
8961         Self(value)
8962     }
8963 }
8964 unsafe impl ::windows::runtime::Abi for RPCOPT_SERVER_LOCALITY_VALUES {
8965     type Abi = Self;
8966     type DefaultType = Self;
8967 }
8968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8969 #[repr(transparent)]
8970 pub struct RPC_C_AUTHN_LEVEL(pub u32);
8971 pub const RPC_C_AUTHN_LEVEL_DEFAULT: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(0u32);
8972 pub const RPC_C_AUTHN_LEVEL_NONE: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(1u32);
8973 pub const RPC_C_AUTHN_LEVEL_CONNECT: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(2u32);
8974 pub const RPC_C_AUTHN_LEVEL_CALL: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(3u32);
8975 pub const RPC_C_AUTHN_LEVEL_PKT: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(4u32);
8976 pub const RPC_C_AUTHN_LEVEL_PKT_INTEGRITY: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(5u32);
8977 pub const RPC_C_AUTHN_LEVEL_PKT_PRIVACY: RPC_C_AUTHN_LEVEL = RPC_C_AUTHN_LEVEL(6u32);
8978 impl ::std::convert::From<u32> for RPC_C_AUTHN_LEVEL {
from(value: u32) -> Self8979     fn from(value: u32) -> Self {
8980         Self(value)
8981     }
8982 }
8983 unsafe impl ::windows::runtime::Abi for RPC_C_AUTHN_LEVEL {
8984     type Abi = Self;
8985     type DefaultType = Self;
8986 }
8987 impl ::std::ops::BitOr for RPC_C_AUTHN_LEVEL {
8988     type Output = Self;
bitor(self, rhs: Self) -> Self8989     fn bitor(self, rhs: Self) -> Self {
8990         Self(self.0 | rhs.0)
8991     }
8992 }
8993 impl ::std::ops::BitAnd for RPC_C_AUTHN_LEVEL {
8994     type Output = Self;
bitand(self, rhs: Self) -> Self8995     fn bitand(self, rhs: Self) -> Self {
8996         Self(self.0 & rhs.0)
8997     }
8998 }
8999 impl ::std::ops::BitOrAssign for RPC_C_AUTHN_LEVEL {
bitor_assign(&mut self, rhs: Self)9000     fn bitor_assign(&mut self, rhs: Self) {
9001         self.0.bitor_assign(rhs.0)
9002     }
9003 }
9004 impl ::std::ops::BitAndAssign for RPC_C_AUTHN_LEVEL {
bitand_assign(&mut self, rhs: Self)9005     fn bitand_assign(&mut self, rhs: Self) {
9006         self.0.bitand_assign(rhs.0)
9007     }
9008 }
9009 impl ::std::ops::Not for RPC_C_AUTHN_LEVEL {
9010     type Output = Self;
not(self) -> Self9011     fn not(self) -> Self {
9012         Self(self.0.not())
9013     }
9014 }
9015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9016 #[repr(transparent)]
9017 pub struct RPC_C_IMP_LEVEL(pub u32);
9018 pub const RPC_C_IMP_LEVEL_DEFAULT: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(0u32);
9019 pub const RPC_C_IMP_LEVEL_ANONYMOUS: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(1u32);
9020 pub const RPC_C_IMP_LEVEL_IDENTIFY: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(2u32);
9021 pub const RPC_C_IMP_LEVEL_IMPERSONATE: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(3u32);
9022 pub const RPC_C_IMP_LEVEL_DELEGATE: RPC_C_IMP_LEVEL = RPC_C_IMP_LEVEL(4u32);
9023 impl ::std::convert::From<u32> for RPC_C_IMP_LEVEL {
from(value: u32) -> Self9024     fn from(value: u32) -> Self {
9025         Self(value)
9026     }
9027 }
9028 unsafe impl ::windows::runtime::Abi for RPC_C_IMP_LEVEL {
9029     type Abi = Self;
9030     type DefaultType = Self;
9031 }
9032 impl ::std::ops::BitOr for RPC_C_IMP_LEVEL {
9033     type Output = Self;
bitor(self, rhs: Self) -> Self9034     fn bitor(self, rhs: Self) -> Self {
9035         Self(self.0 | rhs.0)
9036     }
9037 }
9038 impl ::std::ops::BitAnd for RPC_C_IMP_LEVEL {
9039     type Output = Self;
bitand(self, rhs: Self) -> Self9040     fn bitand(self, rhs: Self) -> Self {
9041         Self(self.0 & rhs.0)
9042     }
9043 }
9044 impl ::std::ops::BitOrAssign for RPC_C_IMP_LEVEL {
bitor_assign(&mut self, rhs: Self)9045     fn bitor_assign(&mut self, rhs: Self) {
9046         self.0.bitor_assign(rhs.0)
9047     }
9048 }
9049 impl ::std::ops::BitAndAssign for RPC_C_IMP_LEVEL {
bitand_assign(&mut self, rhs: Self)9050     fn bitand_assign(&mut self, rhs: Self) {
9051         self.0.bitand_assign(rhs.0)
9052     }
9053 }
9054 impl ::std::ops::Not for RPC_C_IMP_LEVEL {
9055     type Output = Self;
not(self) -> Self9056     fn not(self) -> Self {
9057         Self(self.0.not())
9058     }
9059 }
9060 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9061 #[repr(C)]
9062 pub struct RemSTGMEDIUM {
9063     pub tymed: u32,
9064     pub dwHandleType: u32,
9065     pub pData: u32,
9066     pub pUnkForRelease: u32,
9067     pub cbData: u32,
9068     pub data: [u8; 1],
9069 }
9070 impl RemSTGMEDIUM {}
9071 impl ::std::default::Default for RemSTGMEDIUM {
default() -> Self9072     fn default() -> Self {
9073         unsafe { ::std::mem::zeroed() }
9074     }
9075 }
9076 impl ::std::fmt::Debug for RemSTGMEDIUM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9077     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9078         fmt.debug_struct("RemSTGMEDIUM").field("tymed", &self.tymed).field("dwHandleType", &self.dwHandleType).field("pData", &self.pData).field("pUnkForRelease", &self.pUnkForRelease).field("cbData", &self.cbData).field("data", &self.data).finish()
9079     }
9080 }
9081 impl ::std::cmp::PartialEq for RemSTGMEDIUM {
eq(&self, other: &Self) -> bool9082     fn eq(&self, other: &Self) -> bool {
9083         self.tymed == other.tymed && self.dwHandleType == other.dwHandleType && self.pData == other.pData && self.pUnkForRelease == other.pUnkForRelease && self.cbData == other.cbData && self.data == other.data
9084     }
9085 }
9086 impl ::std::cmp::Eq for RemSTGMEDIUM {}
9087 unsafe impl ::windows::runtime::Abi for RemSTGMEDIUM {
9088     type Abi = Self;
9089     type DefaultType = Self;
9090 }
9091 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9092 #[repr(C)]
9093 pub struct SAFEARRAY {
9094     pub cDims: u16,
9095     pub fFeatures: u16,
9096     pub cbElements: u32,
9097     pub cLocks: u32,
9098     pub pvData: *mut ::std::ffi::c_void,
9099     pub rgsabound: [SAFEARRAYBOUND; 1],
9100 }
9101 impl SAFEARRAY {}
9102 impl ::std::default::Default for SAFEARRAY {
default() -> Self9103     fn default() -> Self {
9104         unsafe { ::std::mem::zeroed() }
9105     }
9106 }
9107 impl ::std::fmt::Debug for SAFEARRAY {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9108     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9109         fmt.debug_struct("SAFEARRAY").field("cDims", &self.cDims).field("fFeatures", &self.fFeatures).field("cbElements", &self.cbElements).field("cLocks", &self.cLocks).field("pvData", &self.pvData).field("rgsabound", &self.rgsabound).finish()
9110     }
9111 }
9112 impl ::std::cmp::PartialEq for SAFEARRAY {
eq(&self, other: &Self) -> bool9113     fn eq(&self, other: &Self) -> bool {
9114         self.cDims == other.cDims && self.fFeatures == other.fFeatures && self.cbElements == other.cbElements && self.cLocks == other.cLocks && self.pvData == other.pvData && self.rgsabound == other.rgsabound
9115     }
9116 }
9117 impl ::std::cmp::Eq for SAFEARRAY {}
9118 unsafe impl ::windows::runtime::Abi for SAFEARRAY {
9119     type Abi = Self;
9120     type DefaultType = Self;
9121 }
9122 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9123 #[repr(C)]
9124 pub struct SAFEARRAYBOUND {
9125     pub cElements: u32,
9126     pub lLbound: i32,
9127 }
9128 impl SAFEARRAYBOUND {}
9129 impl ::std::default::Default for SAFEARRAYBOUND {
default() -> Self9130     fn default() -> Self {
9131         unsafe { ::std::mem::zeroed() }
9132     }
9133 }
9134 impl ::std::fmt::Debug for SAFEARRAYBOUND {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9135     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9136         fmt.debug_struct("SAFEARRAYBOUND").field("cElements", &self.cElements).field("lLbound", &self.lLbound).finish()
9137     }
9138 }
9139 impl ::std::cmp::PartialEq for SAFEARRAYBOUND {
eq(&self, other: &Self) -> bool9140     fn eq(&self, other: &Self) -> bool {
9141         self.cElements == other.cElements && self.lLbound == other.lLbound
9142     }
9143 }
9144 impl ::std::cmp::Eq for SAFEARRAYBOUND {}
9145 unsafe impl ::windows::runtime::Abi for SAFEARRAYBOUND {
9146     type Abi = Self;
9147     type DefaultType = Self;
9148 }
9149 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9150 #[repr(C)]
9151 pub struct SChannelHookCallInfo {
9152     pub iid: ::windows::runtime::GUID,
9153     pub cbSize: u32,
9154     pub uCausality: ::windows::runtime::GUID,
9155     pub dwServerPid: u32,
9156     pub iMethod: u32,
9157     pub pObject: *mut ::std::ffi::c_void,
9158 }
9159 impl SChannelHookCallInfo {}
9160 impl ::std::default::Default for SChannelHookCallInfo {
default() -> Self9161     fn default() -> Self {
9162         unsafe { ::std::mem::zeroed() }
9163     }
9164 }
9165 impl ::std::fmt::Debug for SChannelHookCallInfo {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9166     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9167         fmt.debug_struct("SChannelHookCallInfo").field("iid", &self.iid).field("cbSize", &self.cbSize).field("uCausality", &self.uCausality).field("dwServerPid", &self.dwServerPid).field("iMethod", &self.iMethod).field("pObject", &self.pObject).finish()
9168     }
9169 }
9170 impl ::std::cmp::PartialEq for SChannelHookCallInfo {
eq(&self, other: &Self) -> bool9171     fn eq(&self, other: &Self) -> bool {
9172         self.iid == other.iid && self.cbSize == other.cbSize && self.uCausality == other.uCausality && self.dwServerPid == other.dwServerPid && self.iMethod == other.iMethod && self.pObject == other.pObject
9173     }
9174 }
9175 impl ::std::cmp::Eq for SChannelHookCallInfo {}
9176 unsafe impl ::windows::runtime::Abi for SChannelHookCallInfo {
9177     type Abi = Self;
9178     type DefaultType = Self;
9179 }
9180 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9181 #[repr(transparent)]
9182 pub struct SERVERCALL(pub i32);
9183 pub const SERVERCALL_ISHANDLED: SERVERCALL = SERVERCALL(0i32);
9184 pub const SERVERCALL_REJECTED: SERVERCALL = SERVERCALL(1i32);
9185 pub const SERVERCALL_RETRYLATER: SERVERCALL = SERVERCALL(2i32);
9186 impl ::std::convert::From<i32> for SERVERCALL {
from(value: i32) -> Self9187     fn from(value: i32) -> Self {
9188         Self(value)
9189     }
9190 }
9191 unsafe impl ::windows::runtime::Abi for SERVERCALL {
9192     type Abi = Self;
9193     type DefaultType = Self;
9194 }
9195 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9196 #[repr(C)]
9197 pub struct SHORT_SIZEDARR {
9198     pub clSize: u32,
9199     pub pData: *mut u16,
9200 }
9201 impl SHORT_SIZEDARR {}
9202 impl ::std::default::Default for SHORT_SIZEDARR {
default() -> Self9203     fn default() -> Self {
9204         unsafe { ::std::mem::zeroed() }
9205     }
9206 }
9207 impl ::std::fmt::Debug for SHORT_SIZEDARR {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9208     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9209         fmt.debug_struct("SHORT_SIZEDARR").field("clSize", &self.clSize).field("pData", &self.pData).finish()
9210     }
9211 }
9212 impl ::std::cmp::PartialEq for SHORT_SIZEDARR {
eq(&self, other: &Self) -> bool9213     fn eq(&self, other: &Self) -> bool {
9214         self.clSize == other.clSize && self.pData == other.pData
9215     }
9216 }
9217 impl ::std::cmp::Eq for SHORT_SIZEDARR {}
9218 unsafe impl ::windows::runtime::Abi for SHORT_SIZEDARR {
9219     type Abi = Self;
9220     type DefaultType = Self;
9221 }
9222 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9223 #[repr(C)]
9224 pub struct SOLE_AUTHENTICATION_INFO {
9225     pub dwAuthnSvc: u32,
9226     pub dwAuthzSvc: u32,
9227     pub pAuthInfo: *mut ::std::ffi::c_void,
9228 }
9229 impl SOLE_AUTHENTICATION_INFO {}
9230 impl ::std::default::Default for SOLE_AUTHENTICATION_INFO {
default() -> Self9231     fn default() -> Self {
9232         unsafe { ::std::mem::zeroed() }
9233     }
9234 }
9235 impl ::std::fmt::Debug for SOLE_AUTHENTICATION_INFO {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9236     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9237         fmt.debug_struct("SOLE_AUTHENTICATION_INFO").field("dwAuthnSvc", &self.dwAuthnSvc).field("dwAuthzSvc", &self.dwAuthzSvc).field("pAuthInfo", &self.pAuthInfo).finish()
9238     }
9239 }
9240 impl ::std::cmp::PartialEq for SOLE_AUTHENTICATION_INFO {
eq(&self, other: &Self) -> bool9241     fn eq(&self, other: &Self) -> bool {
9242         self.dwAuthnSvc == other.dwAuthnSvc && self.dwAuthzSvc == other.dwAuthzSvc && self.pAuthInfo == other.pAuthInfo
9243     }
9244 }
9245 impl ::std::cmp::Eq for SOLE_AUTHENTICATION_INFO {}
9246 unsafe impl ::windows::runtime::Abi for SOLE_AUTHENTICATION_INFO {
9247     type Abi = Self;
9248     type DefaultType = Self;
9249 }
9250 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9251 #[repr(C)]
9252 pub struct SOLE_AUTHENTICATION_LIST {
9253     pub cAuthInfo: u32,
9254     pub aAuthInfo: *mut SOLE_AUTHENTICATION_INFO,
9255 }
9256 impl SOLE_AUTHENTICATION_LIST {}
9257 impl ::std::default::Default for SOLE_AUTHENTICATION_LIST {
default() -> Self9258     fn default() -> Self {
9259         unsafe { ::std::mem::zeroed() }
9260     }
9261 }
9262 impl ::std::fmt::Debug for SOLE_AUTHENTICATION_LIST {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9263     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9264         fmt.debug_struct("SOLE_AUTHENTICATION_LIST").field("cAuthInfo", &self.cAuthInfo).field("aAuthInfo", &self.aAuthInfo).finish()
9265     }
9266 }
9267 impl ::std::cmp::PartialEq for SOLE_AUTHENTICATION_LIST {
eq(&self, other: &Self) -> bool9268     fn eq(&self, other: &Self) -> bool {
9269         self.cAuthInfo == other.cAuthInfo && self.aAuthInfo == other.aAuthInfo
9270     }
9271 }
9272 impl ::std::cmp::Eq for SOLE_AUTHENTICATION_LIST {}
9273 unsafe impl ::windows::runtime::Abi for SOLE_AUTHENTICATION_LIST {
9274     type Abi = Self;
9275     type DefaultType = Self;
9276 }
9277 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9278 #[repr(C)]
9279 #[cfg(feature = "Win32_Foundation")]
9280 pub struct SOLE_AUTHENTICATION_SERVICE {
9281     pub dwAuthnSvc: u32,
9282     pub dwAuthzSvc: u32,
9283     pub pPrincipalName: super::super::Foundation::PWSTR,
9284     pub hr: ::windows::runtime::HRESULT,
9285 }
9286 #[cfg(feature = "Win32_Foundation")]
9287 impl SOLE_AUTHENTICATION_SERVICE {}
9288 #[cfg(feature = "Win32_Foundation")]
9289 impl ::std::default::Default for SOLE_AUTHENTICATION_SERVICE {
default() -> Self9290     fn default() -> Self {
9291         unsafe { ::std::mem::zeroed() }
9292     }
9293 }
9294 #[cfg(feature = "Win32_Foundation")]
9295 impl ::std::fmt::Debug for SOLE_AUTHENTICATION_SERVICE {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9296     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9297         fmt.debug_struct("SOLE_AUTHENTICATION_SERVICE").field("dwAuthnSvc", &self.dwAuthnSvc).field("dwAuthzSvc", &self.dwAuthzSvc).field("pPrincipalName", &self.pPrincipalName).field("hr", &self.hr).finish()
9298     }
9299 }
9300 #[cfg(feature = "Win32_Foundation")]
9301 impl ::std::cmp::PartialEq for SOLE_AUTHENTICATION_SERVICE {
eq(&self, other: &Self) -> bool9302     fn eq(&self, other: &Self) -> bool {
9303         self.dwAuthnSvc == other.dwAuthnSvc && self.dwAuthzSvc == other.dwAuthzSvc && self.pPrincipalName == other.pPrincipalName && self.hr == other.hr
9304     }
9305 }
9306 #[cfg(feature = "Win32_Foundation")]
9307 impl ::std::cmp::Eq for SOLE_AUTHENTICATION_SERVICE {}
9308 #[cfg(feature = "Win32_Foundation")]
9309 unsafe impl ::windows::runtime::Abi for SOLE_AUTHENTICATION_SERVICE {
9310     type Abi = Self;
9311     type DefaultType = Self;
9312 }
9313 #[derive(:: std :: clone :: Clone)]
9314 #[repr(C)]
9315 pub struct STATDATA {
9316     pub formatetc: FORMATETC,
9317     pub advf: u32,
9318     pub pAdvSink: ::std::option::Option<IAdviseSink>,
9319     pub dwConnection: u32,
9320 }
9321 impl STATDATA {}
9322 impl ::std::default::Default for STATDATA {
default() -> Self9323     fn default() -> Self {
9324         unsafe { ::std::mem::zeroed() }
9325     }
9326 }
9327 impl ::std::fmt::Debug for STATDATA {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9328     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9329         fmt.debug_struct("STATDATA").field("formatetc", &self.formatetc).field("advf", &self.advf).field("pAdvSink", &self.pAdvSink).field("dwConnection", &self.dwConnection).finish()
9330     }
9331 }
9332 impl ::std::cmp::PartialEq for STATDATA {
eq(&self, other: &Self) -> bool9333     fn eq(&self, other: &Self) -> bool {
9334         self.formatetc == other.formatetc && self.advf == other.advf && self.pAdvSink == other.pAdvSink && self.dwConnection == other.dwConnection
9335     }
9336 }
9337 impl ::std::cmp::Eq for STATDATA {}
9338 unsafe impl ::windows::runtime::Abi for STATDATA {
9339     type Abi = ::std::mem::ManuallyDrop<Self>;
9340     type DefaultType = Self;
9341 }
9342 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9343 #[repr(C)]
9344 #[cfg(feature = "Win32_Foundation")]
9345 pub struct STATSTG {
9346     pub pwcsName: super::super::Foundation::PWSTR,
9347     pub r#type: u32,
9348     pub cbSize: u64,
9349     pub mtime: super::super::Foundation::FILETIME,
9350     pub ctime: super::super::Foundation::FILETIME,
9351     pub atime: super::super::Foundation::FILETIME,
9352     pub grfMode: u32,
9353     pub grfLocksSupported: u32,
9354     pub clsid: ::windows::runtime::GUID,
9355     pub grfStateBits: u32,
9356     pub reserved: u32,
9357 }
9358 #[cfg(feature = "Win32_Foundation")]
9359 impl STATSTG {}
9360 #[cfg(feature = "Win32_Foundation")]
9361 impl ::std::default::Default for STATSTG {
default() -> Self9362     fn default() -> Self {
9363         unsafe { ::std::mem::zeroed() }
9364     }
9365 }
9366 #[cfg(feature = "Win32_Foundation")]
9367 impl ::std::fmt::Debug for STATSTG {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9368     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9369         fmt.debug_struct("STATSTG")
9370             .field("pwcsName", &self.pwcsName)
9371             .field("r#type", &self.r#type)
9372             .field("cbSize", &self.cbSize)
9373             .field("mtime", &self.mtime)
9374             .field("ctime", &self.ctime)
9375             .field("atime", &self.atime)
9376             .field("grfMode", &self.grfMode)
9377             .field("grfLocksSupported", &self.grfLocksSupported)
9378             .field("clsid", &self.clsid)
9379             .field("grfStateBits", &self.grfStateBits)
9380             .field("reserved", &self.reserved)
9381             .finish()
9382     }
9383 }
9384 #[cfg(feature = "Win32_Foundation")]
9385 impl ::std::cmp::PartialEq for STATSTG {
eq(&self, other: &Self) -> bool9386     fn eq(&self, other: &Self) -> bool {
9387         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
9388     }
9389 }
9390 #[cfg(feature = "Win32_Foundation")]
9391 impl ::std::cmp::Eq for STATSTG {}
9392 #[cfg(feature = "Win32_Foundation")]
9393 unsafe impl ::windows::runtime::Abi for STATSTG {
9394     type Abi = Self;
9395     type DefaultType = Self;
9396 }
9397 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9398 impl ::std::clone::Clone for STGMEDIUM {
clone(&self) -> Self9399     fn clone(&self) -> Self {
9400         unimplemented!()
9401     }
9402 }
9403 #[repr(C)]
9404 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9405 pub struct STGMEDIUM {
9406     pub tymed: u32,
9407     pub Anonymous: STGMEDIUM_0,
9408     pub pUnkForRelease: ::std::option::Option<::windows::runtime::IUnknown>,
9409 }
9410 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9411 impl STGMEDIUM {}
9412 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9413 impl ::std::default::Default for STGMEDIUM {
default() -> Self9414     fn default() -> Self {
9415         unsafe { ::std::mem::zeroed() }
9416     }
9417 }
9418 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9419 impl ::std::cmp::PartialEq for STGMEDIUM {
eq(&self, _other: &Self) -> bool9420     fn eq(&self, _other: &Self) -> bool {
9421         unimplemented!()
9422     }
9423 }
9424 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9425 impl ::std::cmp::Eq for STGMEDIUM {}
9426 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9427 unsafe impl ::windows::runtime::Abi for STGMEDIUM {
9428     type Abi = ::std::mem::ManuallyDrop<Self>;
9429     type DefaultType = Self;
9430 }
9431 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9432 impl ::std::clone::Clone for STGMEDIUM_0 {
clone(&self) -> Self9433     fn clone(&self) -> Self {
9434         unimplemented!()
9435     }
9436 }
9437 #[repr(C)]
9438 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9439 pub union STGMEDIUM_0 {
9440     pub hBitmap: super::super::Graphics::Gdi::HBITMAP,
9441     pub hMetaFilePict: *mut ::std::ffi::c_void,
9442     pub hEnhMetaFile: super::super::Graphics::Gdi::HENHMETAFILE,
9443     pub hGlobal: isize,
9444     pub lpszFileName: super::super::Foundation::PWSTR,
9445     pub pstm: ::windows::runtime::RawPtr,
9446     pub pstg: ::windows::runtime::RawPtr,
9447 }
9448 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9449 impl STGMEDIUM_0 {}
9450 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9451 impl ::std::default::Default for STGMEDIUM_0 {
default() -> Self9452     fn default() -> Self {
9453         unsafe { ::std::mem::zeroed() }
9454     }
9455 }
9456 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9457 impl ::std::cmp::PartialEq for STGMEDIUM_0 {
eq(&self, _other: &Self) -> bool9458     fn eq(&self, _other: &Self) -> bool {
9459         unimplemented!()
9460     }
9461 }
9462 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9463 impl ::std::cmp::Eq for STGMEDIUM_0 {}
9464 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_Com_StructuredStorage"))]
9465 unsafe impl ::windows::runtime::Abi for STGMEDIUM_0 {
9466     type Abi = ::std::mem::ManuallyDrop<Self>;
9467     type DefaultType = Self;
9468 }
9469 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9470 #[repr(transparent)]
9471 pub struct STGTY(pub i32);
9472 pub const STGTY_STORAGE: STGTY = STGTY(1i32);
9473 pub const STGTY_STREAM: STGTY = STGTY(2i32);
9474 pub const STGTY_LOCKBYTES: STGTY = STGTY(3i32);
9475 pub const STGTY_PROPERTY: STGTY = STGTY(4i32);
9476 impl ::std::convert::From<i32> for STGTY {
from(value: i32) -> Self9477     fn from(value: i32) -> Self {
9478         Self(value)
9479     }
9480 }
9481 unsafe impl ::windows::runtime::Abi for STGTY {
9482     type Abi = Self;
9483     type DefaultType = Self;
9484 }
9485 pub const STGTY_REPEAT: i32 = 256i32;
9486 pub const STG_LAYOUT_INTERLEAVED: i32 = 1i32;
9487 pub const STG_LAYOUT_SEQUENTIAL: i32 = 0i32;
9488 pub const STG_TOEND: i32 = -1i32;
9489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9490 #[repr(transparent)]
9491 pub struct STREAM_SEEK(pub u32);
9492 pub const STREAM_SEEK_SET: STREAM_SEEK = STREAM_SEEK(0u32);
9493 pub const STREAM_SEEK_CUR: STREAM_SEEK = STREAM_SEEK(1u32);
9494 pub const STREAM_SEEK_END: STREAM_SEEK = STREAM_SEEK(2u32);
9495 impl ::std::convert::From<u32> for STREAM_SEEK {
from(value: u32) -> Self9496     fn from(value: u32) -> Self {
9497         Self(value)
9498     }
9499 }
9500 unsafe impl ::windows::runtime::Abi for STREAM_SEEK {
9501     type Abi = Self;
9502     type DefaultType = Self;
9503 }
9504 impl ::std::ops::BitOr for STREAM_SEEK {
9505     type Output = Self;
bitor(self, rhs: Self) -> Self9506     fn bitor(self, rhs: Self) -> Self {
9507         Self(self.0 | rhs.0)
9508     }
9509 }
9510 impl ::std::ops::BitAnd for STREAM_SEEK {
9511     type Output = Self;
bitand(self, rhs: Self) -> Self9512     fn bitand(self, rhs: Self) -> Self {
9513         Self(self.0 & rhs.0)
9514     }
9515 }
9516 impl ::std::ops::BitOrAssign for STREAM_SEEK {
bitor_assign(&mut self, rhs: Self)9517     fn bitor_assign(&mut self, rhs: Self) {
9518         self.0.bitor_assign(rhs.0)
9519     }
9520 }
9521 impl ::std::ops::BitAndAssign for STREAM_SEEK {
bitand_assign(&mut self, rhs: Self)9522     fn bitand_assign(&mut self, rhs: Self) {
9523         self.0.bitand_assign(rhs.0)
9524     }
9525 }
9526 impl ::std::ops::Not for STREAM_SEEK {
9527     type Output = Self;
not(self) -> Self9528     fn not(self) -> Self {
9529         Self(self.0.not())
9530     }
9531 }
9532 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9533 #[repr(transparent)]
9534 pub struct ShutdownType(pub i32);
9535 pub const IdleShutdown: ShutdownType = ShutdownType(0i32);
9536 pub const ForcedShutdown: ShutdownType = ShutdownType(1i32);
9537 impl ::std::convert::From<i32> for ShutdownType {
from(value: i32) -> Self9538     fn from(value: i32) -> Self {
9539         Self(value)
9540     }
9541 }
9542 unsafe impl ::windows::runtime::Abi for ShutdownType {
9543     type Abi = Self;
9544     type DefaultType = Self;
9545 }
9546 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9547 #[repr(C)]
9548 #[cfg(feature = "Win32_Foundation")]
9549 pub struct StorageLayout {
9550     pub LayoutType: u32,
9551     pub pwcsElementName: super::super::Foundation::PWSTR,
9552     pub cOffset: i64,
9553     pub cBytes: i64,
9554 }
9555 #[cfg(feature = "Win32_Foundation")]
9556 impl StorageLayout {}
9557 #[cfg(feature = "Win32_Foundation")]
9558 impl ::std::default::Default for StorageLayout {
default() -> Self9559     fn default() -> Self {
9560         unsafe { ::std::mem::zeroed() }
9561     }
9562 }
9563 #[cfg(feature = "Win32_Foundation")]
9564 impl ::std::fmt::Debug for StorageLayout {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9565     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9566         fmt.debug_struct("StorageLayout").field("LayoutType", &self.LayoutType).field("pwcsElementName", &self.pwcsElementName).field("cOffset", &self.cOffset).field("cBytes", &self.cBytes).finish()
9567     }
9568 }
9569 #[cfg(feature = "Win32_Foundation")]
9570 impl ::std::cmp::PartialEq for StorageLayout {
eq(&self, other: &Self) -> bool9571     fn eq(&self, other: &Self) -> bool {
9572         self.LayoutType == other.LayoutType && self.pwcsElementName == other.pwcsElementName && self.cOffset == other.cOffset && self.cBytes == other.cBytes
9573     }
9574 }
9575 #[cfg(feature = "Win32_Foundation")]
9576 impl ::std::cmp::Eq for StorageLayout {}
9577 #[cfg(feature = "Win32_Foundation")]
9578 unsafe impl ::windows::runtime::Abi for StorageLayout {
9579     type Abi = Self;
9580     type DefaultType = Self;
9581 }
9582 #[cfg(feature = "Win32_Foundation")]
9583 #[inline]
StringFromCLSID(rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>9584 pub unsafe fn StringFromCLSID(rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
9585     #[cfg(windows)]
9586     {
9587         #[link(name = "windows")]
9588         extern "system" {
9589             fn StringFromCLSID(rclsid: *const ::windows::runtime::GUID, lplpsz: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
9590         }
9591         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9592         StringFromCLSID(::std::mem::transmute(rclsid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
9593     }
9594     #[cfg(not(windows))]
9595     unimplemented!("Unsupported target OS");
9596 }
9597 #[cfg(feature = "Win32_Foundation")]
9598 #[inline]
StringFromGUID2(rguid: *const ::windows::runtime::GUID, lpsz: super::super::Foundation::PWSTR, cchmax: i32) -> i329599 pub unsafe fn StringFromGUID2(rguid: *const ::windows::runtime::GUID, lpsz: super::super::Foundation::PWSTR, cchmax: i32) -> i32 {
9600     #[cfg(windows)]
9601     {
9602         #[link(name = "windows")]
9603         extern "system" {
9604             fn StringFromGUID2(rguid: *const ::windows::runtime::GUID, lpsz: super::super::Foundation::PWSTR, cchmax: i32) -> i32;
9605         }
9606         ::std::mem::transmute(StringFromGUID2(::std::mem::transmute(rguid), ::std::mem::transmute(lpsz), ::std::mem::transmute(cchmax)))
9607     }
9608     #[cfg(not(windows))]
9609     unimplemented!("Unsupported target OS");
9610 }
9611 #[cfg(feature = "Win32_Foundation")]
9612 #[inline]
StringFromIID(rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::PWSTR>9613 pub unsafe fn StringFromIID(rclsid: *const ::windows::runtime::GUID) -> ::windows::runtime::Result<super::super::Foundation::PWSTR> {
9614     #[cfg(windows)]
9615     {
9616         #[link(name = "windows")]
9617         extern "system" {
9618             fn StringFromIID(rclsid: *const ::windows::runtime::GUID, lplpsz: *mut super::super::Foundation::PWSTR) -> ::windows::runtime::HRESULT;
9619         }
9620         let mut result__: <super::super::Foundation::PWSTR as ::windows::runtime::Abi>::Abi = ::std::mem::zeroed();
9621         StringFromIID(::std::mem::transmute(rclsid), &mut result__).from_abi::<super::super::Foundation::PWSTR>(result__)
9622     }
9623     #[cfg(not(windows))]
9624     unimplemented!("Unsupported target OS");
9625 }
9626 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9627 #[repr(transparent)]
9628 pub struct THDTYPE(pub i32);
9629 pub const THDTYPE_BLOCKMESSAGES: THDTYPE = THDTYPE(0i32);
9630 pub const THDTYPE_PROCESSMESSAGES: THDTYPE = THDTYPE(1i32);
9631 impl ::std::convert::From<i32> for THDTYPE {
from(value: i32) -> Self9632     fn from(value: i32) -> Self {
9633         Self(value)
9634     }
9635 }
9636 unsafe impl ::windows::runtime::Abi for THDTYPE {
9637     type Abi = Self;
9638     type DefaultType = Self;
9639 }
9640 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9641 #[repr(transparent)]
9642 pub struct TYMED(pub i32);
9643 pub const TYMED_HGLOBAL: TYMED = TYMED(1i32);
9644 pub const TYMED_FILE: TYMED = TYMED(2i32);
9645 pub const TYMED_ISTREAM: TYMED = TYMED(4i32);
9646 pub const TYMED_ISTORAGE: TYMED = TYMED(8i32);
9647 pub const TYMED_GDI: TYMED = TYMED(16i32);
9648 pub const TYMED_MFPICT: TYMED = TYMED(32i32);
9649 pub const TYMED_ENHMF: TYMED = TYMED(64i32);
9650 pub const TYMED_NULL: TYMED = TYMED(0i32);
9651 impl ::std::convert::From<i32> for TYMED {
from(value: i32) -> Self9652     fn from(value: i32) -> Self {
9653         Self(value)
9654     }
9655 }
9656 unsafe impl ::windows::runtime::Abi for TYMED {
9657     type Abi = Self;
9658     type DefaultType = Self;
9659 }
9660 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9661 #[repr(transparent)]
9662 pub struct TYSPEC(pub i32);
9663 pub const TYSPEC_CLSID: TYSPEC = TYSPEC(0i32);
9664 pub const TYSPEC_FILEEXT: TYSPEC = TYSPEC(1i32);
9665 pub const TYSPEC_MIMETYPE: TYSPEC = TYSPEC(2i32);
9666 pub const TYSPEC_FILENAME: TYSPEC = TYSPEC(3i32);
9667 pub const TYSPEC_PROGID: TYSPEC = TYSPEC(4i32);
9668 pub const TYSPEC_PACKAGENAME: TYSPEC = TYSPEC(5i32);
9669 pub const TYSPEC_OBJECTID: TYSPEC = TYSPEC(6i32);
9670 impl ::std::convert::From<i32> for TYSPEC {
from(value: i32) -> Self9671     fn from(value: i32) -> Self {
9672         Self(value)
9673     }
9674 }
9675 unsafe impl ::windows::runtime::Abi for TYSPEC {
9676     type Abi = Self;
9677     type DefaultType = Self;
9678 }
9679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9680 #[repr(transparent)]
9681 pub struct URI_CREATE_FLAGS(pub u32);
9682 pub const Uri_CREATE_ALLOW_RELATIVE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(1u32);
9683 pub const Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME: URI_CREATE_FLAGS = URI_CREATE_FLAGS(2u32);
9684 pub const Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME: URI_CREATE_FLAGS = URI_CREATE_FLAGS(4u32);
9685 pub const Uri_CREATE_NOFRAG: URI_CREATE_FLAGS = URI_CREATE_FLAGS(8u32);
9686 pub const Uri_CREATE_NO_CANONICALIZE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(16u32);
9687 pub const Uri_CREATE_CANONICALIZE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(256u32);
9688 pub const Uri_CREATE_FILE_USE_DOS_PATH: URI_CREATE_FLAGS = URI_CREATE_FLAGS(32u32);
9689 pub const Uri_CREATE_DECODE_EXTRA_INFO: URI_CREATE_FLAGS = URI_CREATE_FLAGS(64u32);
9690 pub const Uri_CREATE_NO_DECODE_EXTRA_INFO: URI_CREATE_FLAGS = URI_CREATE_FLAGS(128u32);
9691 pub const Uri_CREATE_CRACK_UNKNOWN_SCHEMES: URI_CREATE_FLAGS = URI_CREATE_FLAGS(512u32);
9692 pub const Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES: URI_CREATE_FLAGS = URI_CREATE_FLAGS(1024u32);
9693 pub const Uri_CREATE_PRE_PROCESS_HTML_URI: URI_CREATE_FLAGS = URI_CREATE_FLAGS(2048u32);
9694 pub const Uri_CREATE_NO_PRE_PROCESS_HTML_URI: URI_CREATE_FLAGS = URI_CREATE_FLAGS(4096u32);
9695 pub const Uri_CREATE_IE_SETTINGS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(8192u32);
9696 pub const Uri_CREATE_NO_IE_SETTINGS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(16384u32);
9697 pub const Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(32768u32);
9698 pub const Uri_CREATE_NORMALIZE_INTL_CHARACTERS: URI_CREATE_FLAGS = URI_CREATE_FLAGS(65536u32);
9699 pub const Uri_CREATE_CANONICALIZE_ABSOLUTE: URI_CREATE_FLAGS = URI_CREATE_FLAGS(131072u32);
9700 impl ::std::convert::From<u32> for URI_CREATE_FLAGS {
from(value: u32) -> Self9701     fn from(value: u32) -> Self {
9702         Self(value)
9703     }
9704 }
9705 unsafe impl ::windows::runtime::Abi for URI_CREATE_FLAGS {
9706     type Abi = Self;
9707     type DefaultType = Self;
9708 }
9709 impl ::std::ops::BitOr for URI_CREATE_FLAGS {
9710     type Output = Self;
bitor(self, rhs: Self) -> Self9711     fn bitor(self, rhs: Self) -> Self {
9712         Self(self.0 | rhs.0)
9713     }
9714 }
9715 impl ::std::ops::BitAnd for URI_CREATE_FLAGS {
9716     type Output = Self;
bitand(self, rhs: Self) -> Self9717     fn bitand(self, rhs: Self) -> Self {
9718         Self(self.0 & rhs.0)
9719     }
9720 }
9721 impl ::std::ops::BitOrAssign for URI_CREATE_FLAGS {
bitor_assign(&mut self, rhs: Self)9722     fn bitor_assign(&mut self, rhs: Self) {
9723         self.0.bitor_assign(rhs.0)
9724     }
9725 }
9726 impl ::std::ops::BitAndAssign for URI_CREATE_FLAGS {
bitand_assign(&mut self, rhs: Self)9727     fn bitand_assign(&mut self, rhs: Self) {
9728         self.0.bitand_assign(rhs.0)
9729     }
9730 }
9731 impl ::std::ops::Not for URI_CREATE_FLAGS {
9732     type Output = Self;
not(self) -> Self9733     fn not(self) -> Self {
9734         Self(self.0.not())
9735     }
9736 }
9737 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9738 #[repr(transparent)]
9739 pub struct Uri_PROPERTY(pub i32);
9740 pub const Uri_PROPERTY_ABSOLUTE_URI: Uri_PROPERTY = Uri_PROPERTY(0i32);
9741 pub const Uri_PROPERTY_STRING_START: Uri_PROPERTY = Uri_PROPERTY(0i32);
9742 pub const Uri_PROPERTY_AUTHORITY: Uri_PROPERTY = Uri_PROPERTY(1i32);
9743 pub const Uri_PROPERTY_DISPLAY_URI: Uri_PROPERTY = Uri_PROPERTY(2i32);
9744 pub const Uri_PROPERTY_DOMAIN: Uri_PROPERTY = Uri_PROPERTY(3i32);
9745 pub const Uri_PROPERTY_EXTENSION: Uri_PROPERTY = Uri_PROPERTY(4i32);
9746 pub const Uri_PROPERTY_FRAGMENT: Uri_PROPERTY = Uri_PROPERTY(5i32);
9747 pub const Uri_PROPERTY_HOST: Uri_PROPERTY = Uri_PROPERTY(6i32);
9748 pub const Uri_PROPERTY_PASSWORD: Uri_PROPERTY = Uri_PROPERTY(7i32);
9749 pub const Uri_PROPERTY_PATH: Uri_PROPERTY = Uri_PROPERTY(8i32);
9750 pub const Uri_PROPERTY_PATH_AND_QUERY: Uri_PROPERTY = Uri_PROPERTY(9i32);
9751 pub const Uri_PROPERTY_QUERY: Uri_PROPERTY = Uri_PROPERTY(10i32);
9752 pub const Uri_PROPERTY_RAW_URI: Uri_PROPERTY = Uri_PROPERTY(11i32);
9753 pub const Uri_PROPERTY_SCHEME_NAME: Uri_PROPERTY = Uri_PROPERTY(12i32);
9754 pub const Uri_PROPERTY_USER_INFO: Uri_PROPERTY = Uri_PROPERTY(13i32);
9755 pub const Uri_PROPERTY_USER_NAME: Uri_PROPERTY = Uri_PROPERTY(14i32);
9756 pub const Uri_PROPERTY_STRING_LAST: Uri_PROPERTY = Uri_PROPERTY(14i32);
9757 pub const Uri_PROPERTY_HOST_TYPE: Uri_PROPERTY = Uri_PROPERTY(15i32);
9758 pub const Uri_PROPERTY_DWORD_START: Uri_PROPERTY = Uri_PROPERTY(15i32);
9759 pub const Uri_PROPERTY_PORT: Uri_PROPERTY = Uri_PROPERTY(16i32);
9760 pub const Uri_PROPERTY_SCHEME: Uri_PROPERTY = Uri_PROPERTY(17i32);
9761 pub const Uri_PROPERTY_ZONE: Uri_PROPERTY = Uri_PROPERTY(18i32);
9762 pub const Uri_PROPERTY_DWORD_LAST: Uri_PROPERTY = Uri_PROPERTY(18i32);
9763 impl ::std::convert::From<i32> for Uri_PROPERTY {
from(value: i32) -> Self9764     fn from(value: i32) -> Self {
9765         Self(value)
9766     }
9767 }
9768 unsafe impl ::windows::runtime::Abi for Uri_PROPERTY {
9769     type Abi = Self;
9770     type DefaultType = Self;
9771 }
9772 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9773 impl ::std::clone::Clone for VARIANT {
clone(&self) -> Self9774     fn clone(&self) -> Self {
9775         unimplemented!()
9776     }
9777 }
9778 #[repr(C)]
9779 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9780 pub struct VARIANT {
9781     pub Anonymous: VARIANT_0,
9782 }
9783 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9784 impl VARIANT {}
9785 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9786 impl ::std::default::Default for VARIANT {
default() -> Self9787     fn default() -> Self {
9788         unsafe { ::std::mem::zeroed() }
9789     }
9790 }
9791 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9792 impl ::std::cmp::PartialEq for VARIANT {
eq(&self, _other: &Self) -> bool9793     fn eq(&self, _other: &Self) -> bool {
9794         unimplemented!()
9795     }
9796 }
9797 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9798 impl ::std::cmp::Eq for VARIANT {}
9799 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9800 unsafe impl ::windows::runtime::Abi for VARIANT {
9801     type Abi = ::std::mem::ManuallyDrop<Self>;
9802     type DefaultType = Self;
9803 }
9804 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9805 impl ::std::clone::Clone for VARIANT_0 {
clone(&self) -> Self9806     fn clone(&self) -> Self {
9807         unimplemented!()
9808     }
9809 }
9810 #[repr(C)]
9811 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9812 pub union VARIANT_0 {
9813     pub Anonymous: ::std::mem::ManuallyDrop<VARIANT_0_0>,
9814     pub decVal: super::super::Foundation::DECIMAL,
9815 }
9816 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9817 impl VARIANT_0 {}
9818 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9819 impl ::std::default::Default for VARIANT_0 {
default() -> Self9820     fn default() -> Self {
9821         unsafe { ::std::mem::zeroed() }
9822     }
9823 }
9824 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9825 impl ::std::cmp::PartialEq for VARIANT_0 {
eq(&self, _other: &Self) -> bool9826     fn eq(&self, _other: &Self) -> bool {
9827         unimplemented!()
9828     }
9829 }
9830 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9831 impl ::std::cmp::Eq for VARIANT_0 {}
9832 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9833 unsafe impl ::windows::runtime::Abi for VARIANT_0 {
9834     type Abi = ::std::mem::ManuallyDrop<Self>;
9835     type DefaultType = Self;
9836 }
9837 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9838 impl ::std::clone::Clone for VARIANT_0_0 {
clone(&self) -> Self9839     fn clone(&self) -> Self {
9840         unimplemented!()
9841     }
9842 }
9843 #[repr(C)]
9844 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9845 pub struct VARIANT_0_0 {
9846     pub vt: u16,
9847     pub wReserved1: u16,
9848     pub wReserved2: u16,
9849     pub wReserved3: u16,
9850     pub Anonymous: VARIANT_0_0_0,
9851 }
9852 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9853 impl VARIANT_0_0 {}
9854 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9855 impl ::std::default::Default for VARIANT_0_0 {
default() -> Self9856     fn default() -> Self {
9857         unsafe { ::std::mem::zeroed() }
9858     }
9859 }
9860 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9861 impl ::std::cmp::PartialEq for VARIANT_0_0 {
eq(&self, _other: &Self) -> bool9862     fn eq(&self, _other: &Self) -> bool {
9863         unimplemented!()
9864     }
9865 }
9866 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9867 impl ::std::cmp::Eq for VARIANT_0_0 {}
9868 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9869 unsafe impl ::windows::runtime::Abi for VARIANT_0_0 {
9870     type Abi = ::std::mem::ManuallyDrop<Self>;
9871     type DefaultType = Self;
9872 }
9873 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9874 impl ::std::clone::Clone for VARIANT_0_0_0 {
clone(&self) -> Self9875     fn clone(&self) -> Self {
9876         unimplemented!()
9877     }
9878 }
9879 #[repr(C)]
9880 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9881 pub union VARIANT_0_0_0 {
9882     pub llVal: i64,
9883     pub lVal: i32,
9884     pub bVal: u8,
9885     pub iVal: i16,
9886     pub fltVal: f32,
9887     pub dblVal: f64,
9888     pub boolVal: i16,
9889     pub __OBSOLETE__VARIANT_BOOL: i16,
9890     pub scode: i32,
9891     pub cyVal: CY,
9892     pub date: f64,
9893     pub bstrVal: ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
9894     pub punkVal: ::windows::runtime::RawPtr,
9895     pub pdispVal: ::windows::runtime::RawPtr,
9896     pub parray: *mut SAFEARRAY,
9897     pub pbVal: *mut u8,
9898     pub piVal: *mut i16,
9899     pub plVal: *mut i32,
9900     pub pllVal: *mut i64,
9901     pub pfltVal: *mut f32,
9902     pub pdblVal: *mut f64,
9903     pub pboolVal: *mut i16,
9904     pub __OBSOLETE__VARIANT_PBOOL: *mut i16,
9905     pub pscode: *mut i32,
9906     pub pcyVal: *mut CY,
9907     pub pdate: *mut f64,
9908     pub pbstrVal: *mut ::std::mem::ManuallyDrop<super::super::Foundation::BSTR>,
9909     pub ppunkVal: *mut ::windows::runtime::RawPtr,
9910     pub ppdispVal: *mut ::windows::runtime::RawPtr,
9911     pub pparray: *mut *mut SAFEARRAY,
9912     pub pvarVal: *mut ::std::mem::ManuallyDrop<VARIANT>,
9913     pub byref: *mut ::std::ffi::c_void,
9914     pub cVal: super::super::Foundation::CHAR,
9915     pub uiVal: u16,
9916     pub ulVal: u32,
9917     pub ullVal: u64,
9918     pub intVal: i32,
9919     pub uintVal: u32,
9920     pub pdecVal: *mut super::super::Foundation::DECIMAL,
9921     pub pcVal: super::super::Foundation::PSTR,
9922     pub puiVal: *mut u16,
9923     pub pulVal: *mut u32,
9924     pub pullVal: *mut u64,
9925     pub pintVal: *mut i32,
9926     pub puintVal: *mut u32,
9927     pub Anonymous: ::std::mem::ManuallyDrop<VARIANT_0_0_0_0>,
9928 }
9929 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9930 impl VARIANT_0_0_0 {}
9931 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9932 impl ::std::default::Default for VARIANT_0_0_0 {
default() -> Self9933     fn default() -> Self {
9934         unsafe { ::std::mem::zeroed() }
9935     }
9936 }
9937 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9938 impl ::std::cmp::PartialEq for VARIANT_0_0_0 {
eq(&self, _other: &Self) -> bool9939     fn eq(&self, _other: &Self) -> bool {
9940         unimplemented!()
9941     }
9942 }
9943 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9944 impl ::std::cmp::Eq for VARIANT_0_0_0 {}
9945 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ole_Automation"))]
9946 unsafe impl ::windows::runtime::Abi for VARIANT_0_0_0 {
9947     type Abi = ::std::mem::ManuallyDrop<Self>;
9948     type DefaultType = Self;
9949 }
9950 #[derive(:: std :: clone :: Clone)]
9951 #[repr(C)]
9952 #[cfg(feature = "Win32_System_Ole_Automation")]
9953 pub struct VARIANT_0_0_0_0 {
9954     pub pvRecord: *mut ::std::ffi::c_void,
9955     pub pRecInfo: ::std::option::Option<super::Ole::Automation::IRecordInfo>,
9956 }
9957 #[cfg(feature = "Win32_System_Ole_Automation")]
9958 impl VARIANT_0_0_0_0 {}
9959 #[cfg(feature = "Win32_System_Ole_Automation")]
9960 impl ::std::default::Default for VARIANT_0_0_0_0 {
default() -> Self9961     fn default() -> Self {
9962         unsafe { ::std::mem::zeroed() }
9963     }
9964 }
9965 #[cfg(feature = "Win32_System_Ole_Automation")]
9966 impl ::std::fmt::Debug for VARIANT_0_0_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9967     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9968         fmt.debug_struct("_Anonymous_e__Struct").field("pvRecord", &self.pvRecord).field("pRecInfo", &self.pRecInfo).finish()
9969     }
9970 }
9971 #[cfg(feature = "Win32_System_Ole_Automation")]
9972 impl ::std::cmp::PartialEq for VARIANT_0_0_0_0 {
eq(&self, other: &Self) -> bool9973     fn eq(&self, other: &Self) -> bool {
9974         self.pvRecord == other.pvRecord && self.pRecInfo == other.pRecInfo
9975     }
9976 }
9977 #[cfg(feature = "Win32_System_Ole_Automation")]
9978 impl ::std::cmp::Eq for VARIANT_0_0_0_0 {}
9979 #[cfg(feature = "Win32_System_Ole_Automation")]
9980 unsafe impl ::windows::runtime::Abi for VARIANT_0_0_0_0 {
9981     type Abi = ::std::mem::ManuallyDrop<Self>;
9982     type DefaultType = Self;
9983 }
9984 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
9985 #[repr(C)]
9986 pub struct WORD_BLOB {
9987     pub clSize: u32,
9988     pub asData: [u16; 1],
9989 }
9990 impl WORD_BLOB {}
9991 impl ::std::default::Default for WORD_BLOB {
default() -> Self9992     fn default() -> Self {
9993         unsafe { ::std::mem::zeroed() }
9994     }
9995 }
9996 impl ::std::fmt::Debug for WORD_BLOB {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result9997     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
9998         fmt.debug_struct("WORD_BLOB").field("clSize", &self.clSize).field("asData", &self.asData).finish()
9999     }
10000 }
10001 impl ::std::cmp::PartialEq for WORD_BLOB {
eq(&self, other: &Self) -> bool10002     fn eq(&self, other: &Self) -> bool {
10003         self.clSize == other.clSize && self.asData == other.asData
10004     }
10005 }
10006 impl ::std::cmp::Eq for WORD_BLOB {}
10007 unsafe impl ::windows::runtime::Abi for WORD_BLOB {
10008     type Abi = Self;
10009     type DefaultType = Self;
10010 }
10011 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10012 #[repr(C)]
10013 #[cfg(feature = "Win32_Foundation")]
10014 pub struct uCLSSPEC {
10015     pub tyspec: u32,
10016     pub tagged_union: uCLSSPEC_0,
10017 }
10018 #[cfg(feature = "Win32_Foundation")]
10019 impl uCLSSPEC {}
10020 #[cfg(feature = "Win32_Foundation")]
10021 impl ::std::default::Default for uCLSSPEC {
default() -> Self10022     fn default() -> Self {
10023         unsafe { ::std::mem::zeroed() }
10024     }
10025 }
10026 #[cfg(feature = "Win32_Foundation")]
10027 impl ::std::cmp::PartialEq for uCLSSPEC {
eq(&self, _other: &Self) -> bool10028     fn eq(&self, _other: &Self) -> bool {
10029         unimplemented!()
10030     }
10031 }
10032 #[cfg(feature = "Win32_Foundation")]
10033 impl ::std::cmp::Eq for uCLSSPEC {}
10034 #[cfg(feature = "Win32_Foundation")]
10035 unsafe impl ::windows::runtime::Abi for uCLSSPEC {
10036     type Abi = Self;
10037     type DefaultType = Self;
10038 }
10039 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10040 #[repr(C)]
10041 #[cfg(feature = "Win32_Foundation")]
10042 pub union uCLSSPEC_0 {
10043     pub clsid: ::windows::runtime::GUID,
10044     pub pFileExt: super::super::Foundation::PWSTR,
10045     pub pMimeType: super::super::Foundation::PWSTR,
10046     pub pProgId: super::super::Foundation::PWSTR,
10047     pub pFileName: super::super::Foundation::PWSTR,
10048     pub ByName: uCLSSPEC_0_0,
10049     pub ByObjectId: uCLSSPEC_0_1,
10050 }
10051 #[cfg(feature = "Win32_Foundation")]
10052 impl uCLSSPEC_0 {}
10053 #[cfg(feature = "Win32_Foundation")]
10054 impl ::std::default::Default for uCLSSPEC_0 {
default() -> Self10055     fn default() -> Self {
10056         unsafe { ::std::mem::zeroed() }
10057     }
10058 }
10059 #[cfg(feature = "Win32_Foundation")]
10060 impl ::std::cmp::PartialEq for uCLSSPEC_0 {
eq(&self, _other: &Self) -> bool10061     fn eq(&self, _other: &Self) -> bool {
10062         unimplemented!()
10063     }
10064 }
10065 #[cfg(feature = "Win32_Foundation")]
10066 impl ::std::cmp::Eq for uCLSSPEC_0 {}
10067 #[cfg(feature = "Win32_Foundation")]
10068 unsafe impl ::windows::runtime::Abi for uCLSSPEC_0 {
10069     type Abi = Self;
10070     type DefaultType = Self;
10071 }
10072 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10073 #[repr(C)]
10074 #[cfg(feature = "Win32_Foundation")]
10075 pub struct uCLSSPEC_0_0 {
10076     pub pPackageName: super::super::Foundation::PWSTR,
10077     pub PolicyId: ::windows::runtime::GUID,
10078 }
10079 #[cfg(feature = "Win32_Foundation")]
10080 impl uCLSSPEC_0_0 {}
10081 #[cfg(feature = "Win32_Foundation")]
10082 impl ::std::default::Default for uCLSSPEC_0_0 {
default() -> Self10083     fn default() -> Self {
10084         unsafe { ::std::mem::zeroed() }
10085     }
10086 }
10087 #[cfg(feature = "Win32_Foundation")]
10088 impl ::std::fmt::Debug for uCLSSPEC_0_0 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10089     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10090         fmt.debug_struct("_ByName_e__Struct").field("pPackageName", &self.pPackageName).field("PolicyId", &self.PolicyId).finish()
10091     }
10092 }
10093 #[cfg(feature = "Win32_Foundation")]
10094 impl ::std::cmp::PartialEq for uCLSSPEC_0_0 {
eq(&self, other: &Self) -> bool10095     fn eq(&self, other: &Self) -> bool {
10096         self.pPackageName == other.pPackageName && self.PolicyId == other.PolicyId
10097     }
10098 }
10099 #[cfg(feature = "Win32_Foundation")]
10100 impl ::std::cmp::Eq for uCLSSPEC_0_0 {}
10101 #[cfg(feature = "Win32_Foundation")]
10102 unsafe impl ::windows::runtime::Abi for uCLSSPEC_0_0 {
10103     type Abi = Self;
10104     type DefaultType = Self;
10105 }
10106 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10107 #[repr(C)]
10108 pub struct uCLSSPEC_0_1 {
10109     pub ObjectId: ::windows::runtime::GUID,
10110     pub PolicyId: ::windows::runtime::GUID,
10111 }
10112 impl uCLSSPEC_0_1 {}
10113 impl ::std::default::Default for uCLSSPEC_0_1 {
default() -> Self10114     fn default() -> Self {
10115         unsafe { ::std::mem::zeroed() }
10116     }
10117 }
10118 impl ::std::fmt::Debug for uCLSSPEC_0_1 {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10119     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10120         fmt.debug_struct("_ByObjectId_e__Struct").field("ObjectId", &self.ObjectId).field("PolicyId", &self.PolicyId).finish()
10121     }
10122 }
10123 impl ::std::cmp::PartialEq for uCLSSPEC_0_1 {
eq(&self, other: &Self) -> bool10124     fn eq(&self, other: &Self) -> bool {
10125         self.ObjectId == other.ObjectId && self.PolicyId == other.PolicyId
10126     }
10127 }
10128 impl ::std::cmp::Eq for uCLSSPEC_0_1 {}
10129 unsafe impl ::windows::runtime::Abi for uCLSSPEC_0_1 {
10130     type Abi = Self;
10131     type DefaultType = Self;
10132 }
10133 #[derive(:: std :: clone :: Clone)]
10134 #[repr(C)]
10135 pub struct userFLAG_STGMEDIUM {
10136     pub ContextFlags: i32,
10137     pub fPassOwnership: i32,
10138     pub Stgmed: userSTGMEDIUM,
10139 }
10140 impl userFLAG_STGMEDIUM {}
10141 impl ::std::default::Default for userFLAG_STGMEDIUM {
default() -> Self10142     fn default() -> Self {
10143         unsafe { ::std::mem::zeroed() }
10144     }
10145 }
10146 impl ::std::fmt::Debug for userFLAG_STGMEDIUM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10147     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10148         fmt.debug_struct("userFLAG_STGMEDIUM").field("ContextFlags", &self.ContextFlags).field("fPassOwnership", &self.fPassOwnership).field("Stgmed", &self.Stgmed).finish()
10149     }
10150 }
10151 impl ::std::cmp::PartialEq for userFLAG_STGMEDIUM {
eq(&self, other: &Self) -> bool10152     fn eq(&self, other: &Self) -> bool {
10153         self.ContextFlags == other.ContextFlags && self.fPassOwnership == other.fPassOwnership && self.Stgmed == other.Stgmed
10154     }
10155 }
10156 impl ::std::cmp::Eq for userFLAG_STGMEDIUM {}
10157 unsafe impl ::windows::runtime::Abi for userFLAG_STGMEDIUM {
10158     type Abi = ::std::mem::ManuallyDrop<Self>;
10159     type DefaultType = Self;
10160 }
10161 #[derive(:: std :: clone :: Clone)]
10162 #[repr(C)]
10163 pub struct userSTGMEDIUM {
10164     pub pUnkForRelease: ::std::option::Option<::windows::runtime::IUnknown>,
10165 }
10166 impl userSTGMEDIUM {}
10167 impl ::std::default::Default for userSTGMEDIUM {
default() -> Self10168     fn default() -> Self {
10169         unsafe { ::std::mem::zeroed() }
10170     }
10171 }
10172 impl ::std::fmt::Debug for userSTGMEDIUM {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10173     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10174         fmt.debug_struct("userSTGMEDIUM").field("pUnkForRelease", &self.pUnkForRelease).finish()
10175     }
10176 }
10177 impl ::std::cmp::PartialEq for userSTGMEDIUM {
eq(&self, other: &Self) -> bool10178     fn eq(&self, other: &Self) -> bool {
10179         self.pUnkForRelease == other.pUnkForRelease
10180     }
10181 }
10182 impl ::std::cmp::Eq for userSTGMEDIUM {}
10183 unsafe impl ::windows::runtime::Abi for userSTGMEDIUM {
10184     type Abi = ::std::mem::ManuallyDrop<Self>;
10185     type DefaultType = Self;
10186 }
10187 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10188 #[repr(C)]
10189 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10190 pub struct userSTGMEDIUM_0 {
10191     pub tymed: u32,
10192     pub u: userSTGMEDIUM_0_0,
10193 }
10194 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10195 impl userSTGMEDIUM_0 {}
10196 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10197 impl ::std::default::Default for userSTGMEDIUM_0 {
default() -> Self10198     fn default() -> Self {
10199         unsafe { ::std::mem::zeroed() }
10200     }
10201 }
10202 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10203 impl ::std::cmp::PartialEq for userSTGMEDIUM_0 {
eq(&self, _other: &Self) -> bool10204     fn eq(&self, _other: &Self) -> bool {
10205         unimplemented!()
10206     }
10207 }
10208 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10209 impl ::std::cmp::Eq for userSTGMEDIUM_0 {}
10210 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10211 unsafe impl ::windows::runtime::Abi for userSTGMEDIUM_0 {
10212     type Abi = Self;
10213     type DefaultType = Self;
10214 }
10215 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10216 #[repr(C)]
10217 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10218 pub union userSTGMEDIUM_0_0 {
10219     pub hMetaFilePict: *mut super::SystemServices::userHMETAFILEPICT,
10220     pub hHEnhMetaFile: *mut super::SystemServices::userHENHMETAFILE,
10221     pub hGdiHandle: *mut GDI_OBJECT,
10222     pub hGlobal: *mut super::SystemServices::userHGLOBAL,
10223     pub lpszFileName: super::super::Foundation::PWSTR,
10224     pub pstm: *mut BYTE_BLOB,
10225     pub pstg: *mut BYTE_BLOB,
10226 }
10227 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10228 impl userSTGMEDIUM_0_0 {}
10229 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10230 impl ::std::default::Default for userSTGMEDIUM_0_0 {
default() -> Self10231     fn default() -> Self {
10232         unsafe { ::std::mem::zeroed() }
10233     }
10234 }
10235 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10236 impl ::std::cmp::PartialEq for userSTGMEDIUM_0_0 {
eq(&self, _other: &Self) -> bool10237     fn eq(&self, _other: &Self) -> bool {
10238         unimplemented!()
10239     }
10240 }
10241 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10242 impl ::std::cmp::Eq for userSTGMEDIUM_0_0 {}
10243 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_Graphics_Gdi", feature = "Win32_System_SystemServices"))]
10244 unsafe impl ::windows::runtime::Abi for userSTGMEDIUM_0_0 {
10245     type Abi = Self;
10246     type DefaultType = Self;
10247 }
10248