1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "System_Diagnostics")]
3 pub mod Diagnostics;
4 #[cfg(feature = "System_Display")]
5 pub mod Display;
6 #[cfg(feature = "System_Implementation")]
7 pub mod Implementation;
8 #[cfg(feature = "System_Inventory")]
9 pub mod Inventory;
10 #[cfg(feature = "System_Power")]
11 pub mod Power;
12 #[cfg(feature = "System_Preview")]
13 pub mod Preview;
14 #[cfg(feature = "System_Profile")]
15 pub mod Profile;
16 #[cfg(feature = "System_RemoteDesktop")]
17 pub mod RemoteDesktop;
18 #[cfg(feature = "System_RemoteSystems")]
19 pub mod RemoteSystems;
20 #[cfg(feature = "System_Threading")]
21 pub mod Threading;
22 #[cfg(feature = "System_Update")]
23 pub mod Update;
24 #[cfg(feature = "System_UserProfile")]
25 pub mod UserProfile;
26 #[repr(transparent)]
27 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
28 pub struct AppActivationResult(::windows::runtime::IInspectable);
29 impl AppActivationResult {
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>30     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
31         let this = self;
32         unsafe {
33             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
34             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
35         }
36     }
AppResourceGroupInfo(&self) -> ::windows::runtime::Result<AppResourceGroupInfo>37     pub fn AppResourceGroupInfo(&self) -> ::windows::runtime::Result<AppResourceGroupInfo> {
38         let this = self;
39         unsafe {
40             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
41             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupInfo>(result__)
42         }
43     }
44 }
45 unsafe impl ::windows::runtime::RuntimeType for AppActivationResult {
46     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppActivationResult;{6b528900-f46e-4eb0-aa6c-38af557cf9ed})");
47 }
48 unsafe impl ::windows::runtime::Interface for AppActivationResult {
49     type Vtable = IAppActivationResult_abi;
50     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1800571136, 62574, 20144, [170, 108, 56, 175, 85, 124, 249, 237]);
51 }
52 impl ::windows::runtime::RuntimeName for AppActivationResult {
53     const NAME: &'static str = "Windows.System.AppActivationResult";
54 }
55 impl ::std::convert::From<AppActivationResult> for ::windows::runtime::IUnknown {
from(value: AppActivationResult) -> Self56     fn from(value: AppActivationResult) -> Self {
57         unsafe { ::std::mem::transmute(value) }
58     }
59 }
60 impl ::std::convert::From<&AppActivationResult> for ::windows::runtime::IUnknown {
from(value: &AppActivationResult) -> Self61     fn from(value: &AppActivationResult) -> Self {
62         ::std::convert::From::from(::std::clone::Clone::clone(value))
63     }
64 }
65 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppActivationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>66     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
67         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
68     }
69 }
70 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppActivationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>71     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
72         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
73     }
74 }
75 impl ::std::convert::From<AppActivationResult> for ::windows::runtime::IInspectable {
from(value: AppActivationResult) -> Self76     fn from(value: AppActivationResult) -> Self {
77         value.0
78     }
79 }
80 impl ::std::convert::From<&AppActivationResult> for ::windows::runtime::IInspectable {
from(value: &AppActivationResult) -> Self81     fn from(value: &AppActivationResult) -> Self {
82         value.0.clone()
83     }
84 }
85 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppActivationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>86     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
87         ::windows::runtime::Param::Owned(self.0)
88     }
89 }
90 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppActivationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>91     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
92         ::windows::runtime::Param::Borrowed(&self.0)
93     }
94 }
95 unsafe impl ::std::marker::Send for AppActivationResult {}
96 unsafe impl ::std::marker::Sync for AppActivationResult {}
97 #[repr(transparent)]
98 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
99 pub struct AppDiagnosticInfo(::windows::runtime::IInspectable);
100 impl AppDiagnosticInfo {
101     #[cfg(feature = "ApplicationModel")]
AppInfo(&self) -> ::windows::runtime::Result<super::ApplicationModel::AppInfo>102     pub fn AppInfo(&self) -> ::windows::runtime::Result<super::ApplicationModel::AppInfo> {
103         let this = self;
104         unsafe {
105             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
106             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::ApplicationModel::AppInfo>(result__)
107         }
108     }
109     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RequestInfoAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>110     pub fn RequestInfoAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>> {
111         Self::IAppDiagnosticInfoStatics(|this| unsafe {
112             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
113             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>(result__)
114         })
115     }
116     #[cfg(feature = "Foundation_Collections")]
GetResourceGroups(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppResourceGroupInfo>>117     pub fn GetResourceGroups(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppResourceGroupInfo>> {
118         let this = &::windows::runtime::Interface::cast::<IAppDiagnosticInfo2>(self)?;
119         unsafe {
120             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
121             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<AppResourceGroupInfo>>(result__)
122         }
123     }
CreateResourceGroupWatcher(&self) -> ::windows::runtime::Result<AppResourceGroupInfoWatcher>124     pub fn CreateResourceGroupWatcher(&self) -> ::windows::runtime::Result<AppResourceGroupInfoWatcher> {
125         let this = &::windows::runtime::Interface::cast::<IAppDiagnosticInfo2>(self)?;
126         unsafe {
127             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
128             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupInfoWatcher>(result__)
129         }
130     }
CreateWatcher() -> ::windows::runtime::Result<AppDiagnosticInfoWatcher>131     pub fn CreateWatcher() -> ::windows::runtime::Result<AppDiagnosticInfoWatcher> {
132         Self::IAppDiagnosticInfoStatics2(|this| unsafe {
133             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
134             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppDiagnosticInfoWatcher>(result__)
135         })
136     }
137     #[cfg(feature = "Foundation")]
RequestAccessAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<DiagnosticAccessStatus>>138     pub fn RequestAccessAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<DiagnosticAccessStatus>> {
139         Self::IAppDiagnosticInfoStatics2(|this| unsafe {
140             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
141             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<DiagnosticAccessStatus>>(result__)
142         })
143     }
144     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RequestInfoForPackageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(packagefamilyname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>145     pub fn RequestInfoForPackageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(packagefamilyname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>> {
146         Self::IAppDiagnosticInfoStatics2(|this| unsafe {
147             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
148             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), packagefamilyname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>(result__)
149         })
150     }
151     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RequestInfoForAppAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>152     pub fn RequestInfoForAppAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>> {
153         Self::IAppDiagnosticInfoStatics2(|this| unsafe {
154             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
155             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>(result__)
156         })
157     }
158     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RequestInfoForAppUserModelId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(appusermodelid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>159     pub fn RequestInfoForAppUserModelId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(appusermodelid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>> {
160         Self::IAppDiagnosticInfoStatics2(|this| unsafe {
161             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
162             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), appusermodelid.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppDiagnosticInfo>>>(result__)
163         })
164     }
165     #[cfg(feature = "Foundation")]
LaunchAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppActivationResult>>166     pub fn LaunchAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppActivationResult>> {
167         let this = &::windows::runtime::Interface::cast::<IAppDiagnosticInfo3>(self)?;
168         unsafe {
169             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
170             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<AppActivationResult>>(result__)
171         }
172     }
IAppDiagnosticInfoStatics<R, F: FnOnce(&IAppDiagnosticInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>173     pub fn IAppDiagnosticInfoStatics<R, F: FnOnce(&IAppDiagnosticInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
174         static mut SHARED: ::windows::runtime::FactoryCache<AppDiagnosticInfo, IAppDiagnosticInfoStatics> = ::windows::runtime::FactoryCache::new();
175         unsafe { SHARED.call(callback) }
176     }
IAppDiagnosticInfoStatics2<R, F: FnOnce(&IAppDiagnosticInfoStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>177     pub fn IAppDiagnosticInfoStatics2<R, F: FnOnce(&IAppDiagnosticInfoStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
178         static mut SHARED: ::windows::runtime::FactoryCache<AppDiagnosticInfo, IAppDiagnosticInfoStatics2> = ::windows::runtime::FactoryCache::new();
179         unsafe { SHARED.call(callback) }
180     }
181 }
182 unsafe impl ::windows::runtime::RuntimeType for AppDiagnosticInfo {
183     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppDiagnosticInfo;{e348a69a-8889-4ca3-be07-d5ffff5f0804})");
184 }
185 unsafe impl ::windows::runtime::Interface for AppDiagnosticInfo {
186     type Vtable = IAppDiagnosticInfo_abi;
187     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3813189274, 34953, 19619, [190, 7, 213, 255, 255, 95, 8, 4]);
188 }
189 impl ::windows::runtime::RuntimeName for AppDiagnosticInfo {
190     const NAME: &'static str = "Windows.System.AppDiagnosticInfo";
191 }
192 impl ::std::convert::From<AppDiagnosticInfo> for ::windows::runtime::IUnknown {
from(value: AppDiagnosticInfo) -> Self193     fn from(value: AppDiagnosticInfo) -> Self {
194         unsafe { ::std::mem::transmute(value) }
195     }
196 }
197 impl ::std::convert::From<&AppDiagnosticInfo> for ::windows::runtime::IUnknown {
from(value: &AppDiagnosticInfo) -> Self198     fn from(value: &AppDiagnosticInfo) -> Self {
199         ::std::convert::From::from(::std::clone::Clone::clone(value))
200     }
201 }
202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppDiagnosticInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
204         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
205     }
206 }
207 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppDiagnosticInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>208     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
209         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
210     }
211 }
212 impl ::std::convert::From<AppDiagnosticInfo> for ::windows::runtime::IInspectable {
from(value: AppDiagnosticInfo) -> Self213     fn from(value: AppDiagnosticInfo) -> Self {
214         value.0
215     }
216 }
217 impl ::std::convert::From<&AppDiagnosticInfo> for ::windows::runtime::IInspectable {
from(value: &AppDiagnosticInfo) -> Self218     fn from(value: &AppDiagnosticInfo) -> Self {
219         value.0.clone()
220     }
221 }
222 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppDiagnosticInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>223     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
224         ::windows::runtime::Param::Owned(self.0)
225     }
226 }
227 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppDiagnosticInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>228     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
229         ::windows::runtime::Param::Borrowed(&self.0)
230     }
231 }
232 unsafe impl ::std::marker::Send for AppDiagnosticInfo {}
233 unsafe impl ::std::marker::Sync for AppDiagnosticInfo {}
234 #[repr(transparent)]
235 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
236 pub struct AppDiagnosticInfoWatcher(::windows::runtime::IInspectable);
237 impl AppDiagnosticInfoWatcher {
238     #[cfg(feature = "Foundation")]
Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, AppDiagnosticInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>239     pub fn Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, AppDiagnosticInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
240         let this = self;
241         unsafe {
242             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
243             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
244         }
245     }
246     #[cfg(feature = "Foundation")]
RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>247     pub fn RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
248         let this = self;
249         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
250     }
251     #[cfg(feature = "Foundation")]
Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, AppDiagnosticInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>252     pub fn Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, AppDiagnosticInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
253         let this = self;
254         unsafe {
255             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
256             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
257         }
258     }
259     #[cfg(feature = "Foundation")]
RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>260     pub fn RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
261         let this = self;
262         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
263     }
264     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>265     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
266         let this = self;
267         unsafe {
268             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
269             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
270         }
271     }
272     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>273     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
274         let this = self;
275         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
276     }
277     #[cfg(feature = "Foundation")]
Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>278     pub fn Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppDiagnosticInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
279         let this = self;
280         unsafe {
281             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
282             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
283         }
284     }
285     #[cfg(feature = "Foundation")]
RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>286     pub fn RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
287         let this = self;
288         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
289     }
Status(&self) -> ::windows::runtime::Result<AppDiagnosticInfoWatcherStatus>290     pub fn Status(&self) -> ::windows::runtime::Result<AppDiagnosticInfoWatcherStatus> {
291         let this = self;
292         unsafe {
293             let mut result__: AppDiagnosticInfoWatcherStatus = ::std::mem::zeroed();
294             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppDiagnosticInfoWatcherStatus>(result__)
295         }
296     }
Start(&self) -> ::windows::runtime::Result<()>297     pub fn Start(&self) -> ::windows::runtime::Result<()> {
298         let this = self;
299         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this)).ok() }
300     }
Stop(&self) -> ::windows::runtime::Result<()>301     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
302         let this = self;
303         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this)).ok() }
304     }
305 }
306 unsafe impl ::windows::runtime::RuntimeType for AppDiagnosticInfoWatcher {
307     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppDiagnosticInfoWatcher;{75575070-01d3-489a-9325-52f9cc6ede0a})");
308 }
309 unsafe impl ::windows::runtime::Interface for AppDiagnosticInfoWatcher {
310     type Vtable = IAppDiagnosticInfoWatcher_abi;
311     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1968656496, 467, 18586, [147, 37, 82, 249, 204, 110, 222, 10]);
312 }
313 impl ::windows::runtime::RuntimeName for AppDiagnosticInfoWatcher {
314     const NAME: &'static str = "Windows.System.AppDiagnosticInfoWatcher";
315 }
316 impl ::std::convert::From<AppDiagnosticInfoWatcher> for ::windows::runtime::IUnknown {
from(value: AppDiagnosticInfoWatcher) -> Self317     fn from(value: AppDiagnosticInfoWatcher) -> Self {
318         unsafe { ::std::mem::transmute(value) }
319     }
320 }
321 impl ::std::convert::From<&AppDiagnosticInfoWatcher> for ::windows::runtime::IUnknown {
from(value: &AppDiagnosticInfoWatcher) -> Self322     fn from(value: &AppDiagnosticInfoWatcher) -> Self {
323         ::std::convert::From::from(::std::clone::Clone::clone(value))
324     }
325 }
326 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppDiagnosticInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>327     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
328         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
329     }
330 }
331 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppDiagnosticInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>332     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
333         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
334     }
335 }
336 impl ::std::convert::From<AppDiagnosticInfoWatcher> for ::windows::runtime::IInspectable {
from(value: AppDiagnosticInfoWatcher) -> Self337     fn from(value: AppDiagnosticInfoWatcher) -> Self {
338         value.0
339     }
340 }
341 impl ::std::convert::From<&AppDiagnosticInfoWatcher> for ::windows::runtime::IInspectable {
from(value: &AppDiagnosticInfoWatcher) -> Self342     fn from(value: &AppDiagnosticInfoWatcher) -> Self {
343         value.0.clone()
344     }
345 }
346 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppDiagnosticInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>347     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
348         ::windows::runtime::Param::Owned(self.0)
349     }
350 }
351 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppDiagnosticInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>352     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
353         ::windows::runtime::Param::Borrowed(&self.0)
354     }
355 }
356 unsafe impl ::std::marker::Send for AppDiagnosticInfoWatcher {}
357 unsafe impl ::std::marker::Sync for AppDiagnosticInfoWatcher {}
358 #[repr(transparent)]
359 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
360 pub struct AppDiagnosticInfoWatcherEventArgs(::windows::runtime::IInspectable);
361 impl AppDiagnosticInfoWatcherEventArgs {
AppDiagnosticInfo(&self) -> ::windows::runtime::Result<AppDiagnosticInfo>362     pub fn AppDiagnosticInfo(&self) -> ::windows::runtime::Result<AppDiagnosticInfo> {
363         let this = self;
364         unsafe {
365             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
366             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppDiagnosticInfo>(result__)
367         }
368     }
369 }
370 unsafe impl ::windows::runtime::RuntimeType for AppDiagnosticInfoWatcherEventArgs {
371     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppDiagnosticInfoWatcherEventArgs;{7017c716-e1da-4c65-99df-046dff5be71a})");
372 }
373 unsafe impl ::windows::runtime::Interface for AppDiagnosticInfoWatcherEventArgs {
374     type Vtable = IAppDiagnosticInfoWatcherEventArgs_abi;
375     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1880606486, 57818, 19557, [153, 223, 4, 109, 255, 91, 231, 26]);
376 }
377 impl ::windows::runtime::RuntimeName for AppDiagnosticInfoWatcherEventArgs {
378     const NAME: &'static str = "Windows.System.AppDiagnosticInfoWatcherEventArgs";
379 }
380 impl ::std::convert::From<AppDiagnosticInfoWatcherEventArgs> for ::windows::runtime::IUnknown {
from(value: AppDiagnosticInfoWatcherEventArgs) -> Self381     fn from(value: AppDiagnosticInfoWatcherEventArgs) -> Self {
382         unsafe { ::std::mem::transmute(value) }
383     }
384 }
385 impl ::std::convert::From<&AppDiagnosticInfoWatcherEventArgs> for ::windows::runtime::IUnknown {
from(value: &AppDiagnosticInfoWatcherEventArgs) -> Self386     fn from(value: &AppDiagnosticInfoWatcherEventArgs) -> Self {
387         ::std::convert::From::from(::std::clone::Clone::clone(value))
388     }
389 }
390 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppDiagnosticInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>391     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
392         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
393     }
394 }
395 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppDiagnosticInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>396     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
397         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
398     }
399 }
400 impl ::std::convert::From<AppDiagnosticInfoWatcherEventArgs> for ::windows::runtime::IInspectable {
from(value: AppDiagnosticInfoWatcherEventArgs) -> Self401     fn from(value: AppDiagnosticInfoWatcherEventArgs) -> Self {
402         value.0
403     }
404 }
405 impl ::std::convert::From<&AppDiagnosticInfoWatcherEventArgs> for ::windows::runtime::IInspectable {
from(value: &AppDiagnosticInfoWatcherEventArgs) -> Self406     fn from(value: &AppDiagnosticInfoWatcherEventArgs) -> Self {
407         value.0.clone()
408     }
409 }
410 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppDiagnosticInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>411     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
412         ::windows::runtime::Param::Owned(self.0)
413     }
414 }
415 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppDiagnosticInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>416     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
417         ::windows::runtime::Param::Borrowed(&self.0)
418     }
419 }
420 unsafe impl ::std::marker::Send for AppDiagnosticInfoWatcherEventArgs {}
421 unsafe impl ::std::marker::Sync for AppDiagnosticInfoWatcherEventArgs {}
422 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
423 #[repr(transparent)]
424 pub struct AppDiagnosticInfoWatcherStatus(pub i32);
425 impl AppDiagnosticInfoWatcherStatus {
426     pub const Created: AppDiagnosticInfoWatcherStatus = AppDiagnosticInfoWatcherStatus(0i32);
427     pub const Started: AppDiagnosticInfoWatcherStatus = AppDiagnosticInfoWatcherStatus(1i32);
428     pub const EnumerationCompleted: AppDiagnosticInfoWatcherStatus = AppDiagnosticInfoWatcherStatus(2i32);
429     pub const Stopping: AppDiagnosticInfoWatcherStatus = AppDiagnosticInfoWatcherStatus(3i32);
430     pub const Stopped: AppDiagnosticInfoWatcherStatus = AppDiagnosticInfoWatcherStatus(4i32);
431     pub const Aborted: AppDiagnosticInfoWatcherStatus = AppDiagnosticInfoWatcherStatus(5i32);
432 }
433 impl ::std::convert::From<i32> for AppDiagnosticInfoWatcherStatus {
from(value: i32) -> Self434     fn from(value: i32) -> Self {
435         Self(value)
436     }
437 }
438 unsafe impl ::windows::runtime::Abi for AppDiagnosticInfoWatcherStatus {
439     type Abi = Self;
440     type DefaultType = Self;
441 }
442 unsafe impl ::windows::runtime::RuntimeType for AppDiagnosticInfoWatcherStatus {
443     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.AppDiagnosticInfoWatcherStatus;i4)");
444 }
445 #[repr(transparent)]
446 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
447 pub struct AppExecutionStateChangeResult(::windows::runtime::IInspectable);
448 impl AppExecutionStateChangeResult {
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>449     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
450         let this = self;
451         unsafe {
452             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
453             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
454         }
455     }
456 }
457 unsafe impl ::windows::runtime::RuntimeType for AppExecutionStateChangeResult {
458     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppExecutionStateChangeResult;{6f039bf0-f91b-4df8-ae77-3033ccb69114})");
459 }
460 unsafe impl ::windows::runtime::Interface for AppExecutionStateChangeResult {
461     type Vtable = IAppExecutionStateChangeResult_abi;
462     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1862507504, 63771, 19960, [174, 119, 48, 51, 204, 182, 145, 20]);
463 }
464 impl ::windows::runtime::RuntimeName for AppExecutionStateChangeResult {
465     const NAME: &'static str = "Windows.System.AppExecutionStateChangeResult";
466 }
467 impl ::std::convert::From<AppExecutionStateChangeResult> for ::windows::runtime::IUnknown {
from(value: AppExecutionStateChangeResult) -> Self468     fn from(value: AppExecutionStateChangeResult) -> Self {
469         unsafe { ::std::mem::transmute(value) }
470     }
471 }
472 impl ::std::convert::From<&AppExecutionStateChangeResult> for ::windows::runtime::IUnknown {
from(value: &AppExecutionStateChangeResult) -> Self473     fn from(value: &AppExecutionStateChangeResult) -> Self {
474         ::std::convert::From::from(::std::clone::Clone::clone(value))
475     }
476 }
477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppExecutionStateChangeResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>478     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
479         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
480     }
481 }
482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppExecutionStateChangeResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
484         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
485     }
486 }
487 impl ::std::convert::From<AppExecutionStateChangeResult> for ::windows::runtime::IInspectable {
from(value: AppExecutionStateChangeResult) -> Self488     fn from(value: AppExecutionStateChangeResult) -> Self {
489         value.0
490     }
491 }
492 impl ::std::convert::From<&AppExecutionStateChangeResult> for ::windows::runtime::IInspectable {
from(value: &AppExecutionStateChangeResult) -> Self493     fn from(value: &AppExecutionStateChangeResult) -> Self {
494         value.0.clone()
495     }
496 }
497 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppExecutionStateChangeResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>498     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
499         ::windows::runtime::Param::Owned(self.0)
500     }
501 }
502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppExecutionStateChangeResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
504         ::windows::runtime::Param::Borrowed(&self.0)
505     }
506 }
507 unsafe impl ::std::marker::Send for AppExecutionStateChangeResult {}
508 unsafe impl ::std::marker::Sync for AppExecutionStateChangeResult {}
509 #[repr(transparent)]
510 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
511 pub struct AppMemoryReport(::windows::runtime::IInspectable);
512 impl AppMemoryReport {
PrivateCommitUsage(&self) -> ::windows::runtime::Result<u64>513     pub fn PrivateCommitUsage(&self) -> ::windows::runtime::Result<u64> {
514         let this = self;
515         unsafe {
516             let mut result__: u64 = ::std::mem::zeroed();
517             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
518         }
519     }
PeakPrivateCommitUsage(&self) -> ::windows::runtime::Result<u64>520     pub fn PeakPrivateCommitUsage(&self) -> ::windows::runtime::Result<u64> {
521         let this = self;
522         unsafe {
523             let mut result__: u64 = ::std::mem::zeroed();
524             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
525         }
526     }
TotalCommitUsage(&self) -> ::windows::runtime::Result<u64>527     pub fn TotalCommitUsage(&self) -> ::windows::runtime::Result<u64> {
528         let this = self;
529         unsafe {
530             let mut result__: u64 = ::std::mem::zeroed();
531             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
532         }
533     }
TotalCommitLimit(&self) -> ::windows::runtime::Result<u64>534     pub fn TotalCommitLimit(&self) -> ::windows::runtime::Result<u64> {
535         let this = self;
536         unsafe {
537             let mut result__: u64 = ::std::mem::zeroed();
538             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
539         }
540     }
ExpectedTotalCommitLimit(&self) -> ::windows::runtime::Result<u64>541     pub fn ExpectedTotalCommitLimit(&self) -> ::windows::runtime::Result<u64> {
542         let this = &::windows::runtime::Interface::cast::<IAppMemoryReport2>(self)?;
543         unsafe {
544             let mut result__: u64 = ::std::mem::zeroed();
545             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
546         }
547     }
548 }
549 unsafe impl ::windows::runtime::RuntimeType for AppMemoryReport {
550     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppMemoryReport;{6d65339b-4d6f-45bc-9c5e-e49b3ff2758d})");
551 }
552 unsafe impl ::windows::runtime::Interface for AppMemoryReport {
553     type Vtable = IAppMemoryReport_abi;
554     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1835348891, 19823, 17852, [156, 94, 228, 155, 63, 242, 117, 141]);
555 }
556 impl ::windows::runtime::RuntimeName for AppMemoryReport {
557     const NAME: &'static str = "Windows.System.AppMemoryReport";
558 }
559 impl ::std::convert::From<AppMemoryReport> for ::windows::runtime::IUnknown {
from(value: AppMemoryReport) -> Self560     fn from(value: AppMemoryReport) -> Self {
561         unsafe { ::std::mem::transmute(value) }
562     }
563 }
564 impl ::std::convert::From<&AppMemoryReport> for ::windows::runtime::IUnknown {
from(value: &AppMemoryReport) -> Self565     fn from(value: &AppMemoryReport) -> Self {
566         ::std::convert::From::from(::std::clone::Clone::clone(value))
567     }
568 }
569 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>570     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
571         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
572     }
573 }
574 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>575     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
576         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
577     }
578 }
579 impl ::std::convert::From<AppMemoryReport> for ::windows::runtime::IInspectable {
from(value: AppMemoryReport) -> Self580     fn from(value: AppMemoryReport) -> Self {
581         value.0
582     }
583 }
584 impl ::std::convert::From<&AppMemoryReport> for ::windows::runtime::IInspectable {
from(value: &AppMemoryReport) -> Self585     fn from(value: &AppMemoryReport) -> Self {
586         value.0.clone()
587     }
588 }
589 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>590     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
591         ::windows::runtime::Param::Owned(self.0)
592     }
593 }
594 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>595     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
596         ::windows::runtime::Param::Borrowed(&self.0)
597     }
598 }
599 unsafe impl ::std::marker::Send for AppMemoryReport {}
600 unsafe impl ::std::marker::Sync for AppMemoryReport {}
601 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
602 #[repr(transparent)]
603 pub struct AppMemoryUsageLevel(pub i32);
604 impl AppMemoryUsageLevel {
605     pub const Low: AppMemoryUsageLevel = AppMemoryUsageLevel(0i32);
606     pub const Medium: AppMemoryUsageLevel = AppMemoryUsageLevel(1i32);
607     pub const High: AppMemoryUsageLevel = AppMemoryUsageLevel(2i32);
608     pub const OverLimit: AppMemoryUsageLevel = AppMemoryUsageLevel(3i32);
609 }
610 impl ::std::convert::From<i32> for AppMemoryUsageLevel {
from(value: i32) -> Self611     fn from(value: i32) -> Self {
612         Self(value)
613     }
614 }
615 unsafe impl ::windows::runtime::Abi for AppMemoryUsageLevel {
616     type Abi = Self;
617     type DefaultType = Self;
618 }
619 unsafe impl ::windows::runtime::RuntimeType for AppMemoryUsageLevel {
620     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.AppMemoryUsageLevel;i4)");
621 }
622 #[repr(transparent)]
623 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
624 pub struct AppMemoryUsageLimitChangingEventArgs(::windows::runtime::IInspectable);
625 impl AppMemoryUsageLimitChangingEventArgs {
OldLimit(&self) -> ::windows::runtime::Result<u64>626     pub fn OldLimit(&self) -> ::windows::runtime::Result<u64> {
627         let this = self;
628         unsafe {
629             let mut result__: u64 = ::std::mem::zeroed();
630             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
631         }
632     }
NewLimit(&self) -> ::windows::runtime::Result<u64>633     pub fn NewLimit(&self) -> ::windows::runtime::Result<u64> {
634         let this = self;
635         unsafe {
636             let mut result__: u64 = ::std::mem::zeroed();
637             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
638         }
639     }
640 }
641 unsafe impl ::windows::runtime::RuntimeType for AppMemoryUsageLimitChangingEventArgs {
642     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppMemoryUsageLimitChangingEventArgs;{79f86664-feca-4da5-9e40-2bc63efdc979})");
643 }
644 unsafe impl ::windows::runtime::Interface for AppMemoryUsageLimitChangingEventArgs {
645     type Vtable = IAppMemoryUsageLimitChangingEventArgs_abi;
646     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2046322276, 65226, 19877, [158, 64, 43, 198, 62, 253, 201, 121]);
647 }
648 impl ::windows::runtime::RuntimeName for AppMemoryUsageLimitChangingEventArgs {
649     const NAME: &'static str = "Windows.System.AppMemoryUsageLimitChangingEventArgs";
650 }
651 impl ::std::convert::From<AppMemoryUsageLimitChangingEventArgs> for ::windows::runtime::IUnknown {
from(value: AppMemoryUsageLimitChangingEventArgs) -> Self652     fn from(value: AppMemoryUsageLimitChangingEventArgs) -> Self {
653         unsafe { ::std::mem::transmute(value) }
654     }
655 }
656 impl ::std::convert::From<&AppMemoryUsageLimitChangingEventArgs> for ::windows::runtime::IUnknown {
from(value: &AppMemoryUsageLimitChangingEventArgs) -> Self657     fn from(value: &AppMemoryUsageLimitChangingEventArgs) -> Self {
658         ::std::convert::From::from(::std::clone::Clone::clone(value))
659     }
660 }
661 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppMemoryUsageLimitChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>662     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
663         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
664     }
665 }
666 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppMemoryUsageLimitChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>667     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
668         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
669     }
670 }
671 impl ::std::convert::From<AppMemoryUsageLimitChangingEventArgs> for ::windows::runtime::IInspectable {
from(value: AppMemoryUsageLimitChangingEventArgs) -> Self672     fn from(value: AppMemoryUsageLimitChangingEventArgs) -> Self {
673         value.0
674     }
675 }
676 impl ::std::convert::From<&AppMemoryUsageLimitChangingEventArgs> for ::windows::runtime::IInspectable {
from(value: &AppMemoryUsageLimitChangingEventArgs) -> Self677     fn from(value: &AppMemoryUsageLimitChangingEventArgs) -> Self {
678         value.0.clone()
679     }
680 }
681 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppMemoryUsageLimitChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>682     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
683         ::windows::runtime::Param::Owned(self.0)
684     }
685 }
686 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppMemoryUsageLimitChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>687     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
688         ::windows::runtime::Param::Borrowed(&self.0)
689     }
690 }
691 unsafe impl ::std::marker::Send for AppMemoryUsageLimitChangingEventArgs {}
692 unsafe impl ::std::marker::Sync for AppMemoryUsageLimitChangingEventArgs {}
693 #[repr(transparent)]
694 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
695 pub struct AppResourceGroupBackgroundTaskReport(::windows::runtime::IInspectable);
696 impl AppResourceGroupBackgroundTaskReport {
TaskId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>697     pub fn TaskId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
698         let this = self;
699         unsafe {
700             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
701             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
702         }
703     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>704     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
705         let this = self;
706         unsafe {
707             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
708             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
709         }
710     }
Trigger(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>711     pub fn Trigger(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
712         let this = self;
713         unsafe {
714             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
715             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
716         }
717     }
EntryPoint(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>718     pub fn EntryPoint(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
719         let this = self;
720         unsafe {
721             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
722             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
723         }
724     }
725 }
726 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupBackgroundTaskReport {
727     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupBackgroundTaskReport;{2566e74e-b05d-40c2-9dc1-1a4f039ea120})");
728 }
729 unsafe impl ::windows::runtime::Interface for AppResourceGroupBackgroundTaskReport {
730     type Vtable = IAppResourceGroupBackgroundTaskReport_abi;
731     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(627500878, 45149, 16578, [157, 193, 26, 79, 3, 158, 161, 32]);
732 }
733 impl ::windows::runtime::RuntimeName for AppResourceGroupBackgroundTaskReport {
734     const NAME: &'static str = "Windows.System.AppResourceGroupBackgroundTaskReport";
735 }
736 impl ::std::convert::From<AppResourceGroupBackgroundTaskReport> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupBackgroundTaskReport) -> Self737     fn from(value: AppResourceGroupBackgroundTaskReport) -> Self {
738         unsafe { ::std::mem::transmute(value) }
739     }
740 }
741 impl ::std::convert::From<&AppResourceGroupBackgroundTaskReport> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupBackgroundTaskReport) -> Self742     fn from(value: &AppResourceGroupBackgroundTaskReport) -> Self {
743         ::std::convert::From::from(::std::clone::Clone::clone(value))
744     }
745 }
746 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupBackgroundTaskReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>747     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
748         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
749     }
750 }
751 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupBackgroundTaskReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>752     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
753         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
754     }
755 }
756 impl ::std::convert::From<AppResourceGroupBackgroundTaskReport> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupBackgroundTaskReport) -> Self757     fn from(value: AppResourceGroupBackgroundTaskReport) -> Self {
758         value.0
759     }
760 }
761 impl ::std::convert::From<&AppResourceGroupBackgroundTaskReport> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupBackgroundTaskReport) -> Self762     fn from(value: &AppResourceGroupBackgroundTaskReport) -> Self {
763         value.0.clone()
764     }
765 }
766 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupBackgroundTaskReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>767     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
768         ::windows::runtime::Param::Owned(self.0)
769     }
770 }
771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupBackgroundTaskReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
773         ::windows::runtime::Param::Borrowed(&self.0)
774     }
775 }
776 unsafe impl ::std::marker::Send for AppResourceGroupBackgroundTaskReport {}
777 unsafe impl ::std::marker::Sync for AppResourceGroupBackgroundTaskReport {}
778 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
779 #[repr(transparent)]
780 pub struct AppResourceGroupEnergyQuotaState(pub i32);
781 impl AppResourceGroupEnergyQuotaState {
782     pub const Unknown: AppResourceGroupEnergyQuotaState = AppResourceGroupEnergyQuotaState(0i32);
783     pub const Over: AppResourceGroupEnergyQuotaState = AppResourceGroupEnergyQuotaState(1i32);
784     pub const Under: AppResourceGroupEnergyQuotaState = AppResourceGroupEnergyQuotaState(2i32);
785 }
786 impl ::std::convert::From<i32> for AppResourceGroupEnergyQuotaState {
from(value: i32) -> Self787     fn from(value: i32) -> Self {
788         Self(value)
789     }
790 }
791 unsafe impl ::windows::runtime::Abi for AppResourceGroupEnergyQuotaState {
792     type Abi = Self;
793     type DefaultType = Self;
794 }
795 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupEnergyQuotaState {
796     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.AppResourceGroupEnergyQuotaState;i4)");
797 }
798 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
799 #[repr(transparent)]
800 pub struct AppResourceGroupExecutionState(pub i32);
801 impl AppResourceGroupExecutionState {
802     pub const Unknown: AppResourceGroupExecutionState = AppResourceGroupExecutionState(0i32);
803     pub const Running: AppResourceGroupExecutionState = AppResourceGroupExecutionState(1i32);
804     pub const Suspending: AppResourceGroupExecutionState = AppResourceGroupExecutionState(2i32);
805     pub const Suspended: AppResourceGroupExecutionState = AppResourceGroupExecutionState(3i32);
806     pub const NotRunning: AppResourceGroupExecutionState = AppResourceGroupExecutionState(4i32);
807 }
808 impl ::std::convert::From<i32> for AppResourceGroupExecutionState {
from(value: i32) -> Self809     fn from(value: i32) -> Self {
810         Self(value)
811     }
812 }
813 unsafe impl ::windows::runtime::Abi for AppResourceGroupExecutionState {
814     type Abi = Self;
815     type DefaultType = Self;
816 }
817 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupExecutionState {
818     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.AppResourceGroupExecutionState;i4)");
819 }
820 #[repr(transparent)]
821 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
822 pub struct AppResourceGroupInfo(::windows::runtime::IInspectable);
823 impl AppResourceGroupInfo {
InstanceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>824     pub fn InstanceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
825         let this = self;
826         unsafe {
827             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
828             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
829         }
830     }
IsShared(&self) -> ::windows::runtime::Result<bool>831     pub fn IsShared(&self) -> ::windows::runtime::Result<bool> {
832         let this = self;
833         unsafe {
834             let mut result__: bool = ::std::mem::zeroed();
835             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
836         }
837     }
838     #[cfg(feature = "Foundation_Collections")]
GetBackgroundTaskReports(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppResourceGroupBackgroundTaskReport>>839     pub fn GetBackgroundTaskReports(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppResourceGroupBackgroundTaskReport>> {
840         let this = self;
841         unsafe {
842             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
843             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<AppResourceGroupBackgroundTaskReport>>(result__)
844         }
845     }
GetMemoryReport(&self) -> ::windows::runtime::Result<AppResourceGroupMemoryReport>846     pub fn GetMemoryReport(&self) -> ::windows::runtime::Result<AppResourceGroupMemoryReport> {
847         let this = self;
848         unsafe {
849             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
850             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupMemoryReport>(result__)
851         }
852     }
853     #[cfg(all(feature = "Foundation_Collections", feature = "System_Diagnostics"))]
GetProcessDiagnosticInfos(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<Diagnostics::ProcessDiagnosticInfo>>854     pub fn GetProcessDiagnosticInfos(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<Diagnostics::ProcessDiagnosticInfo>> {
855         let this = self;
856         unsafe {
857             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
858             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<Diagnostics::ProcessDiagnosticInfo>>(result__)
859         }
860     }
GetStateReport(&self) -> ::windows::runtime::Result<AppResourceGroupStateReport>861     pub fn GetStateReport(&self) -> ::windows::runtime::Result<AppResourceGroupStateReport> {
862         let this = self;
863         unsafe {
864             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
865             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupStateReport>(result__)
866         }
867     }
868     #[cfg(feature = "Foundation")]
StartSuspendAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>>869     pub fn StartSuspendAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>> {
870         let this = &::windows::runtime::Interface::cast::<IAppResourceGroupInfo2>(self)?;
871         unsafe {
872             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
873             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>>(result__)
874         }
875     }
876     #[cfg(feature = "Foundation")]
StartResumeAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>>877     pub fn StartResumeAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>> {
878         let this = &::windows::runtime::Interface::cast::<IAppResourceGroupInfo2>(self)?;
879         unsafe {
880             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
881             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>>(result__)
882         }
883     }
884     #[cfg(feature = "Foundation")]
StartTerminateAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>>885     pub fn StartTerminateAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>> {
886         let this = &::windows::runtime::Interface::cast::<IAppResourceGroupInfo2>(self)?;
887         unsafe {
888             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
889             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<AppExecutionStateChangeResult>>(result__)
890         }
891     }
892 }
893 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupInfo {
894     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupInfo;{b913f77a-e807-49f4-845e-7b8bdcfe8ee7})");
895 }
896 unsafe impl ::windows::runtime::Interface for AppResourceGroupInfo {
897     type Vtable = IAppResourceGroupInfo_abi;
898     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3105093498, 59399, 18932, [132, 94, 123, 139, 220, 254, 142, 231]);
899 }
900 impl ::windows::runtime::RuntimeName for AppResourceGroupInfo {
901     const NAME: &'static str = "Windows.System.AppResourceGroupInfo";
902 }
903 impl ::std::convert::From<AppResourceGroupInfo> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupInfo) -> Self904     fn from(value: AppResourceGroupInfo) -> Self {
905         unsafe { ::std::mem::transmute(value) }
906     }
907 }
908 impl ::std::convert::From<&AppResourceGroupInfo> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupInfo) -> Self909     fn from(value: &AppResourceGroupInfo) -> Self {
910         ::std::convert::From::from(::std::clone::Clone::clone(value))
911     }
912 }
913 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>914     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
915         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
916     }
917 }
918 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>919     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
920         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
921     }
922 }
923 impl ::std::convert::From<AppResourceGroupInfo> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupInfo) -> Self924     fn from(value: AppResourceGroupInfo) -> Self {
925         value.0
926     }
927 }
928 impl ::std::convert::From<&AppResourceGroupInfo> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupInfo) -> Self929     fn from(value: &AppResourceGroupInfo) -> Self {
930         value.0.clone()
931     }
932 }
933 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>934     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
935         ::windows::runtime::Param::Owned(self.0)
936     }
937 }
938 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>939     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
940         ::windows::runtime::Param::Borrowed(&self.0)
941     }
942 }
943 unsafe impl ::std::marker::Send for AppResourceGroupInfo {}
944 unsafe impl ::std::marker::Sync for AppResourceGroupInfo {}
945 #[repr(transparent)]
946 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
947 pub struct AppResourceGroupInfoWatcher(::windows::runtime::IInspectable);
948 impl AppResourceGroupInfoWatcher {
949     #[cfg(feature = "Foundation")]
Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, AppResourceGroupInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>950     pub fn Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, AppResourceGroupInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
951         let this = self;
952         unsafe {
953             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
954             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
955         }
956     }
957     #[cfg(feature = "Foundation")]
RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>958     pub fn RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
959         let this = self;
960         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
961     }
962     #[cfg(feature = "Foundation")]
Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, AppResourceGroupInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>963     pub fn Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, AppResourceGroupInfoWatcherEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
964         let this = self;
965         unsafe {
966             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
967             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
968         }
969     }
970     #[cfg(feature = "Foundation")]
RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>971     pub fn RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
972         let this = self;
973         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
974     }
975     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>976     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
977         let this = self;
978         unsafe {
979             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
980             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
981         }
982     }
983     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>984     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
985         let this = self;
986         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
987     }
988     #[cfg(feature = "Foundation")]
Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>989     pub fn Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
990         let this = self;
991         unsafe {
992             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
993             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
994         }
995     }
996     #[cfg(feature = "Foundation")]
RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>997     pub fn RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
998         let this = self;
999         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1000     }
1001     #[cfg(feature = "Foundation")]
ExecutionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, AppResourceGroupInfoWatcherExecutionStateChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1002     pub fn ExecutionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<AppResourceGroupInfoWatcher, AppResourceGroupInfoWatcherExecutionStateChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1003         let this = self;
1004         unsafe {
1005             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1006             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1007         }
1008     }
1009     #[cfg(feature = "Foundation")]
RemoveExecutionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1010     pub fn RemoveExecutionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1011         let this = self;
1012         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1013     }
Status(&self) -> ::windows::runtime::Result<AppResourceGroupInfoWatcherStatus>1014     pub fn Status(&self) -> ::windows::runtime::Result<AppResourceGroupInfoWatcherStatus> {
1015         let this = self;
1016         unsafe {
1017             let mut result__: AppResourceGroupInfoWatcherStatus = ::std::mem::zeroed();
1018             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupInfoWatcherStatus>(result__)
1019         }
1020     }
Start(&self) -> ::windows::runtime::Result<()>1021     pub fn Start(&self) -> ::windows::runtime::Result<()> {
1022         let this = self;
1023         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this)).ok() }
1024     }
Stop(&self) -> ::windows::runtime::Result<()>1025     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
1026         let this = self;
1027         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this)).ok() }
1028     }
1029 }
1030 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupInfoWatcher {
1031     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupInfoWatcher;{d9b0a0fd-6e5a-4c72-8b17-09fec4a212bd})");
1032 }
1033 unsafe impl ::windows::runtime::Interface for AppResourceGroupInfoWatcher {
1034     type Vtable = IAppResourceGroupInfoWatcher_abi;
1035     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3652231421, 28250, 19570, [139, 23, 9, 254, 196, 162, 18, 189]);
1036 }
1037 impl ::windows::runtime::RuntimeName for AppResourceGroupInfoWatcher {
1038     const NAME: &'static str = "Windows.System.AppResourceGroupInfoWatcher";
1039 }
1040 impl ::std::convert::From<AppResourceGroupInfoWatcher> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupInfoWatcher) -> Self1041     fn from(value: AppResourceGroupInfoWatcher) -> Self {
1042         unsafe { ::std::mem::transmute(value) }
1043     }
1044 }
1045 impl ::std::convert::From<&AppResourceGroupInfoWatcher> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupInfoWatcher) -> Self1046     fn from(value: &AppResourceGroupInfoWatcher) -> Self {
1047         ::std::convert::From::from(::std::clone::Clone::clone(value))
1048     }
1049 }
1050 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1051     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1052         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1053     }
1054 }
1055 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1056     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1057         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1058     }
1059 }
1060 impl ::std::convert::From<AppResourceGroupInfoWatcher> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupInfoWatcher) -> Self1061     fn from(value: AppResourceGroupInfoWatcher) -> Self {
1062         value.0
1063     }
1064 }
1065 impl ::std::convert::From<&AppResourceGroupInfoWatcher> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupInfoWatcher) -> Self1066     fn from(value: &AppResourceGroupInfoWatcher) -> Self {
1067         value.0.clone()
1068     }
1069 }
1070 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1071     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1072         ::windows::runtime::Param::Owned(self.0)
1073     }
1074 }
1075 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupInfoWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1076     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1077         ::windows::runtime::Param::Borrowed(&self.0)
1078     }
1079 }
1080 unsafe impl ::std::marker::Send for AppResourceGroupInfoWatcher {}
1081 unsafe impl ::std::marker::Sync for AppResourceGroupInfoWatcher {}
1082 #[repr(transparent)]
1083 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1084 pub struct AppResourceGroupInfoWatcherEventArgs(::windows::runtime::IInspectable);
1085 impl AppResourceGroupInfoWatcherEventArgs {
1086     #[cfg(feature = "Foundation_Collections")]
AppDiagnosticInfos(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<AppDiagnosticInfo>>1087     pub fn AppDiagnosticInfos(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<AppDiagnosticInfo>> {
1088         let this = self;
1089         unsafe {
1090             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1091             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<AppDiagnosticInfo>>(result__)
1092         }
1093     }
AppResourceGroupInfo(&self) -> ::windows::runtime::Result<AppResourceGroupInfo>1094     pub fn AppResourceGroupInfo(&self) -> ::windows::runtime::Result<AppResourceGroupInfo> {
1095         let this = self;
1096         unsafe {
1097             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1098             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupInfo>(result__)
1099         }
1100     }
1101 }
1102 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupInfoWatcherEventArgs {
1103     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupInfoWatcherEventArgs;{7a787637-6302-4d2f-bf89-1c12d0b2a6b9})");
1104 }
1105 unsafe impl ::windows::runtime::Interface for AppResourceGroupInfoWatcherEventArgs {
1106     type Vtable = IAppResourceGroupInfoWatcherEventArgs_abi;
1107     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2054714935, 25346, 19759, [191, 137, 28, 18, 208, 178, 166, 185]);
1108 }
1109 impl ::windows::runtime::RuntimeName for AppResourceGroupInfoWatcherEventArgs {
1110     const NAME: &'static str = "Windows.System.AppResourceGroupInfoWatcherEventArgs";
1111 }
1112 impl ::std::convert::From<AppResourceGroupInfoWatcherEventArgs> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupInfoWatcherEventArgs) -> Self1113     fn from(value: AppResourceGroupInfoWatcherEventArgs) -> Self {
1114         unsafe { ::std::mem::transmute(value) }
1115     }
1116 }
1117 impl ::std::convert::From<&AppResourceGroupInfoWatcherEventArgs> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupInfoWatcherEventArgs) -> Self1118     fn from(value: &AppResourceGroupInfoWatcherEventArgs) -> Self {
1119         ::std::convert::From::from(::std::clone::Clone::clone(value))
1120     }
1121 }
1122 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1123     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1124         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1125     }
1126 }
1127 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1128     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1129         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1130     }
1131 }
1132 impl ::std::convert::From<AppResourceGroupInfoWatcherEventArgs> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupInfoWatcherEventArgs) -> Self1133     fn from(value: AppResourceGroupInfoWatcherEventArgs) -> Self {
1134         value.0
1135     }
1136 }
1137 impl ::std::convert::From<&AppResourceGroupInfoWatcherEventArgs> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupInfoWatcherEventArgs) -> Self1138     fn from(value: &AppResourceGroupInfoWatcherEventArgs) -> Self {
1139         value.0.clone()
1140     }
1141 }
1142 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1143     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1144         ::windows::runtime::Param::Owned(self.0)
1145     }
1146 }
1147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupInfoWatcherEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1149         ::windows::runtime::Param::Borrowed(&self.0)
1150     }
1151 }
1152 unsafe impl ::std::marker::Send for AppResourceGroupInfoWatcherEventArgs {}
1153 unsafe impl ::std::marker::Sync for AppResourceGroupInfoWatcherEventArgs {}
1154 #[repr(transparent)]
1155 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1156 pub struct AppResourceGroupInfoWatcherExecutionStateChangedEventArgs(::windows::runtime::IInspectable);
1157 impl AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
1158     #[cfg(feature = "Foundation_Collections")]
AppDiagnosticInfos(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<AppDiagnosticInfo>>1159     pub fn AppDiagnosticInfos(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<AppDiagnosticInfo>> {
1160         let this = self;
1161         unsafe {
1162             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1163             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<AppDiagnosticInfo>>(result__)
1164         }
1165     }
AppResourceGroupInfo(&self) -> ::windows::runtime::Result<AppResourceGroupInfo>1166     pub fn AppResourceGroupInfo(&self) -> ::windows::runtime::Result<AppResourceGroupInfo> {
1167         let this = self;
1168         unsafe {
1169             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1170             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupInfo>(result__)
1171         }
1172     }
1173 }
1174 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
1175     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupInfoWatcherExecutionStateChangedEventArgs;{1bdbedd7-fee6-4fd4-98dd-e92a2cc299f3})");
1176 }
1177 unsafe impl ::windows::runtime::Interface for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
1178     type Vtable = IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs_abi;
1179     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(467398103, 65254, 20436, [152, 221, 233, 42, 44, 194, 153, 243]);
1180 }
1181 impl ::windows::runtime::RuntimeName for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
1182     const NAME: &'static str = "Windows.System.AppResourceGroupInfoWatcherExecutionStateChangedEventArgs";
1183 }
1184 impl ::std::convert::From<AppResourceGroupInfoWatcherExecutionStateChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self1185     fn from(value: AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self {
1186         unsafe { ::std::mem::transmute(value) }
1187     }
1188 }
1189 impl ::std::convert::From<&AppResourceGroupInfoWatcherExecutionStateChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self1190     fn from(value: &AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self {
1191         ::std::convert::From::from(::std::clone::Clone::clone(value))
1192     }
1193 }
1194 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1195     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1196         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1197     }
1198 }
1199 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1200     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1201         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1202     }
1203 }
1204 impl ::std::convert::From<AppResourceGroupInfoWatcherExecutionStateChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self1205     fn from(value: AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self {
1206         value.0
1207     }
1208 }
1209 impl ::std::convert::From<&AppResourceGroupInfoWatcherExecutionStateChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self1210     fn from(value: &AppResourceGroupInfoWatcherExecutionStateChangedEventArgs) -> Self {
1211         value.0.clone()
1212     }
1213 }
1214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1216         ::windows::runtime::Param::Owned(self.0)
1217     }
1218 }
1219 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1220     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1221         ::windows::runtime::Param::Borrowed(&self.0)
1222     }
1223 }
1224 unsafe impl ::std::marker::Send for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {}
1225 unsafe impl ::std::marker::Sync for AppResourceGroupInfoWatcherExecutionStateChangedEventArgs {}
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 AppResourceGroupInfoWatcherStatus(pub i32);
1229 impl AppResourceGroupInfoWatcherStatus {
1230     pub const Created: AppResourceGroupInfoWatcherStatus = AppResourceGroupInfoWatcherStatus(0i32);
1231     pub const Started: AppResourceGroupInfoWatcherStatus = AppResourceGroupInfoWatcherStatus(1i32);
1232     pub const EnumerationCompleted: AppResourceGroupInfoWatcherStatus = AppResourceGroupInfoWatcherStatus(2i32);
1233     pub const Stopping: AppResourceGroupInfoWatcherStatus = AppResourceGroupInfoWatcherStatus(3i32);
1234     pub const Stopped: AppResourceGroupInfoWatcherStatus = AppResourceGroupInfoWatcherStatus(4i32);
1235     pub const Aborted: AppResourceGroupInfoWatcherStatus = AppResourceGroupInfoWatcherStatus(5i32);
1236 }
1237 impl ::std::convert::From<i32> for AppResourceGroupInfoWatcherStatus {
from(value: i32) -> Self1238     fn from(value: i32) -> Self {
1239         Self(value)
1240     }
1241 }
1242 unsafe impl ::windows::runtime::Abi for AppResourceGroupInfoWatcherStatus {
1243     type Abi = Self;
1244     type DefaultType = Self;
1245 }
1246 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupInfoWatcherStatus {
1247     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.AppResourceGroupInfoWatcherStatus;i4)");
1248 }
1249 #[repr(transparent)]
1250 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1251 pub struct AppResourceGroupMemoryReport(::windows::runtime::IInspectable);
1252 impl AppResourceGroupMemoryReport {
CommitUsageLimit(&self) -> ::windows::runtime::Result<u64>1253     pub fn CommitUsageLimit(&self) -> ::windows::runtime::Result<u64> {
1254         let this = self;
1255         unsafe {
1256             let mut result__: u64 = ::std::mem::zeroed();
1257             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
1258         }
1259     }
CommitUsageLevel(&self) -> ::windows::runtime::Result<AppMemoryUsageLevel>1260     pub fn CommitUsageLevel(&self) -> ::windows::runtime::Result<AppMemoryUsageLevel> {
1261         let this = self;
1262         unsafe {
1263             let mut result__: AppMemoryUsageLevel = ::std::mem::zeroed();
1264             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppMemoryUsageLevel>(result__)
1265         }
1266     }
PrivateCommitUsage(&self) -> ::windows::runtime::Result<u64>1267     pub fn PrivateCommitUsage(&self) -> ::windows::runtime::Result<u64> {
1268         let this = self;
1269         unsafe {
1270             let mut result__: u64 = ::std::mem::zeroed();
1271             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
1272         }
1273     }
TotalCommitUsage(&self) -> ::windows::runtime::Result<u64>1274     pub fn TotalCommitUsage(&self) -> ::windows::runtime::Result<u64> {
1275         let this = self;
1276         unsafe {
1277             let mut result__: u64 = ::std::mem::zeroed();
1278             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
1279         }
1280     }
1281 }
1282 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupMemoryReport {
1283     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupMemoryReport;{2c8c06b1-7db1-4c51-a225-7fae2d49e431})");
1284 }
1285 unsafe impl ::windows::runtime::Interface for AppResourceGroupMemoryReport {
1286     type Vtable = IAppResourceGroupMemoryReport_abi;
1287     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747374257, 32177, 19537, [162, 37, 127, 174, 45, 73, 228, 49]);
1288 }
1289 impl ::windows::runtime::RuntimeName for AppResourceGroupMemoryReport {
1290     const NAME: &'static str = "Windows.System.AppResourceGroupMemoryReport";
1291 }
1292 impl ::std::convert::From<AppResourceGroupMemoryReport> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupMemoryReport) -> Self1293     fn from(value: AppResourceGroupMemoryReport) -> Self {
1294         unsafe { ::std::mem::transmute(value) }
1295     }
1296 }
1297 impl ::std::convert::From<&AppResourceGroupMemoryReport> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupMemoryReport) -> Self1298     fn from(value: &AppResourceGroupMemoryReport) -> Self {
1299         ::std::convert::From::from(::std::clone::Clone::clone(value))
1300     }
1301 }
1302 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1303     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1304         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1305     }
1306 }
1307 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1308     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1309         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1310     }
1311 }
1312 impl ::std::convert::From<AppResourceGroupMemoryReport> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupMemoryReport) -> Self1313     fn from(value: AppResourceGroupMemoryReport) -> Self {
1314         value.0
1315     }
1316 }
1317 impl ::std::convert::From<&AppResourceGroupMemoryReport> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupMemoryReport) -> Self1318     fn from(value: &AppResourceGroupMemoryReport) -> Self {
1319         value.0.clone()
1320     }
1321 }
1322 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1323     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1324         ::windows::runtime::Param::Owned(self.0)
1325     }
1326 }
1327 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1328     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1329         ::windows::runtime::Param::Borrowed(&self.0)
1330     }
1331 }
1332 unsafe impl ::std::marker::Send for AppResourceGroupMemoryReport {}
1333 unsafe impl ::std::marker::Sync for AppResourceGroupMemoryReport {}
1334 #[repr(transparent)]
1335 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1336 pub struct AppResourceGroupStateReport(::windows::runtime::IInspectable);
1337 impl AppResourceGroupStateReport {
ExecutionState(&self) -> ::windows::runtime::Result<AppResourceGroupExecutionState>1338     pub fn ExecutionState(&self) -> ::windows::runtime::Result<AppResourceGroupExecutionState> {
1339         let this = self;
1340         unsafe {
1341             let mut result__: AppResourceGroupExecutionState = ::std::mem::zeroed();
1342             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupExecutionState>(result__)
1343         }
1344     }
EnergyQuotaState(&self) -> ::windows::runtime::Result<AppResourceGroupEnergyQuotaState>1345     pub fn EnergyQuotaState(&self) -> ::windows::runtime::Result<AppResourceGroupEnergyQuotaState> {
1346         let this = self;
1347         unsafe {
1348             let mut result__: AppResourceGroupEnergyQuotaState = ::std::mem::zeroed();
1349             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppResourceGroupEnergyQuotaState>(result__)
1350         }
1351     }
1352 }
1353 unsafe impl ::windows::runtime::RuntimeType for AppResourceGroupStateReport {
1354     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppResourceGroupStateReport;{52849f18-2f70-4236-ab40-d04db0c7b931})");
1355 }
1356 unsafe impl ::windows::runtime::Interface for AppResourceGroupStateReport {
1357     type Vtable = IAppResourceGroupStateReport_abi;
1358     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1384423192, 12144, 16950, [171, 64, 208, 77, 176, 199, 185, 49]);
1359 }
1360 impl ::windows::runtime::RuntimeName for AppResourceGroupStateReport {
1361     const NAME: &'static str = "Windows.System.AppResourceGroupStateReport";
1362 }
1363 impl ::std::convert::From<AppResourceGroupStateReport> for ::windows::runtime::IUnknown {
from(value: AppResourceGroupStateReport) -> Self1364     fn from(value: AppResourceGroupStateReport) -> Self {
1365         unsafe { ::std::mem::transmute(value) }
1366     }
1367 }
1368 impl ::std::convert::From<&AppResourceGroupStateReport> for ::windows::runtime::IUnknown {
from(value: &AppResourceGroupStateReport) -> Self1369     fn from(value: &AppResourceGroupStateReport) -> Self {
1370         ::std::convert::From::from(::std::clone::Clone::clone(value))
1371     }
1372 }
1373 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppResourceGroupStateReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1374     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1375         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1376     }
1377 }
1378 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppResourceGroupStateReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1379     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1380         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1381     }
1382 }
1383 impl ::std::convert::From<AppResourceGroupStateReport> for ::windows::runtime::IInspectable {
from(value: AppResourceGroupStateReport) -> Self1384     fn from(value: AppResourceGroupStateReport) -> Self {
1385         value.0
1386     }
1387 }
1388 impl ::std::convert::From<&AppResourceGroupStateReport> for ::windows::runtime::IInspectable {
from(value: &AppResourceGroupStateReport) -> Self1389     fn from(value: &AppResourceGroupStateReport) -> Self {
1390         value.0.clone()
1391     }
1392 }
1393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppResourceGroupStateReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1395         ::windows::runtime::Param::Owned(self.0)
1396     }
1397 }
1398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppResourceGroupStateReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1399     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1400         ::windows::runtime::Param::Borrowed(&self.0)
1401     }
1402 }
1403 unsafe impl ::std::marker::Send for AppResourceGroupStateReport {}
1404 unsafe impl ::std::marker::Sync for AppResourceGroupStateReport {}
1405 #[repr(transparent)]
1406 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1407 pub struct AppUriHandlerHost(::windows::runtime::IInspectable);
1408 impl AppUriHandlerHost {
new() -> ::windows::runtime::Result<Self>1409     pub fn new() -> ::windows::runtime::Result<Self> {
1410         Self::IActivationFactory(|f| f.activate_instance::<Self>())
1411     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1412     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1413         static mut SHARED: ::windows::runtime::FactoryCache<AppUriHandlerHost, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
1414         unsafe { SHARED.call(callback) }
1415     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1416     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1417         let this = self;
1418         unsafe {
1419             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1420             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1421         }
1422     }
SetName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1423     pub fn SetName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1424         let this = self;
1425         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1426     }
CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(name: Param0) -> ::windows::runtime::Result<AppUriHandlerHost>1427     pub fn CreateInstance<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(name: Param0) -> ::windows::runtime::Result<AppUriHandlerHost> {
1428         Self::IAppUriHandlerHostFactory(|this| unsafe {
1429             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1430             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<AppUriHandlerHost>(result__)
1431         })
1432     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>1433     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
1434         let this = &::windows::runtime::Interface::cast::<IAppUriHandlerHost2>(self)?;
1435         unsafe {
1436             let mut result__: bool = ::std::mem::zeroed();
1437             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1438         }
1439     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>1440     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
1441         let this = &::windows::runtime::Interface::cast::<IAppUriHandlerHost2>(self)?;
1442         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1443     }
IAppUriHandlerHostFactory<R, F: FnOnce(&IAppUriHandlerHostFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1444     pub fn IAppUriHandlerHostFactory<R, F: FnOnce(&IAppUriHandlerHostFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1445         static mut SHARED: ::windows::runtime::FactoryCache<AppUriHandlerHost, IAppUriHandlerHostFactory> = ::windows::runtime::FactoryCache::new();
1446         unsafe { SHARED.call(callback) }
1447     }
1448 }
1449 unsafe impl ::windows::runtime::RuntimeType for AppUriHandlerHost {
1450     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppUriHandlerHost;{5d50cac5-92d2-5409-b56f-7f73e10ea4c3})");
1451 }
1452 unsafe impl ::windows::runtime::Interface for AppUriHandlerHost {
1453     type Vtable = IAppUriHandlerHost_abi;
1454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1565575877, 37586, 21513, [181, 111, 127, 115, 225, 14, 164, 195]);
1455 }
1456 impl ::windows::runtime::RuntimeName for AppUriHandlerHost {
1457     const NAME: &'static str = "Windows.System.AppUriHandlerHost";
1458 }
1459 impl ::std::convert::From<AppUriHandlerHost> for ::windows::runtime::IUnknown {
from(value: AppUriHandlerHost) -> Self1460     fn from(value: AppUriHandlerHost) -> Self {
1461         unsafe { ::std::mem::transmute(value) }
1462     }
1463 }
1464 impl ::std::convert::From<&AppUriHandlerHost> for ::windows::runtime::IUnknown {
from(value: &AppUriHandlerHost) -> Self1465     fn from(value: &AppUriHandlerHost) -> Self {
1466         ::std::convert::From::from(::std::clone::Clone::clone(value))
1467     }
1468 }
1469 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppUriHandlerHost {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1470     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1471         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1472     }
1473 }
1474 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppUriHandlerHost {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1475     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1476         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1477     }
1478 }
1479 impl ::std::convert::From<AppUriHandlerHost> for ::windows::runtime::IInspectable {
from(value: AppUriHandlerHost) -> Self1480     fn from(value: AppUriHandlerHost) -> Self {
1481         value.0
1482     }
1483 }
1484 impl ::std::convert::From<&AppUriHandlerHost> for ::windows::runtime::IInspectable {
from(value: &AppUriHandlerHost) -> Self1485     fn from(value: &AppUriHandlerHost) -> Self {
1486         value.0.clone()
1487     }
1488 }
1489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppUriHandlerHost {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1491         ::windows::runtime::Param::Owned(self.0)
1492     }
1493 }
1494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppUriHandlerHost {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1496         ::windows::runtime::Param::Borrowed(&self.0)
1497     }
1498 }
1499 unsafe impl ::std::marker::Send for AppUriHandlerHost {}
1500 unsafe impl ::std::marker::Sync for AppUriHandlerHost {}
1501 #[repr(transparent)]
1502 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1503 pub struct AppUriHandlerRegistration(::windows::runtime::IInspectable);
1504 impl AppUriHandlerRegistration {
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1505     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1506         let this = self;
1507         unsafe {
1508             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1509             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1510         }
1511     }
User(&self) -> ::windows::runtime::Result<User>1512     pub fn User(&self) -> ::windows::runtime::Result<User> {
1513         let this = self;
1514         unsafe {
1515             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1516             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
1517         }
1518     }
1519     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetAppAddedHostsAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppUriHandlerHost>>>1520     pub fn GetAppAddedHostsAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppUriHandlerHost>>> {
1521         let this = self;
1522         unsafe {
1523             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1524             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<AppUriHandlerHost>>>(result__)
1525         }
1526     }
1527     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SetAppAddedHostsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<AppUriHandlerHost>>>(&self, hosts: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1528     pub fn SetAppAddedHostsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<AppUriHandlerHost>>>(&self, hosts: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1529         let this = self;
1530         unsafe {
1531             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1532             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), hosts.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1533         }
1534     }
1535     #[cfg(feature = "Foundation_Collections")]
GetAllHosts(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppUriHandlerHost>>1536     pub fn GetAllHosts(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppUriHandlerHost>> {
1537         let this = &::windows::runtime::Interface::cast::<IAppUriHandlerRegistration2>(self)?;
1538         unsafe {
1539             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1540             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<AppUriHandlerHost>>(result__)
1541         }
1542     }
1543     #[cfg(feature = "Foundation_Collections")]
UpdateHosts<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<AppUriHandlerHost>>>(&self, hosts: Param0) -> ::windows::runtime::Result<()>1544     pub fn UpdateHosts<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<AppUriHandlerHost>>>(&self, hosts: Param0) -> ::windows::runtime::Result<()> {
1545         let this = &::windows::runtime::Interface::cast::<IAppUriHandlerRegistration2>(self)?;
1546         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), hosts.into_param().abi()).ok() }
1547     }
PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1548     pub fn PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1549         let this = &::windows::runtime::Interface::cast::<IAppUriHandlerRegistration2>(self)?;
1550         unsafe {
1551             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1552             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1553         }
1554     }
1555 }
1556 unsafe impl ::windows::runtime::RuntimeType for AppUriHandlerRegistration {
1557     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppUriHandlerRegistration;{6f73aeb1-4569-5c3f-9ba0-99123eea32c3})");
1558 }
1559 unsafe impl ::windows::runtime::Interface for AppUriHandlerRegistration {
1560     type Vtable = IAppUriHandlerRegistration_abi;
1561     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1869852337, 17769, 23615, [155, 160, 153, 18, 62, 234, 50, 195]);
1562 }
1563 impl ::windows::runtime::RuntimeName for AppUriHandlerRegistration {
1564     const NAME: &'static str = "Windows.System.AppUriHandlerRegistration";
1565 }
1566 impl ::std::convert::From<AppUriHandlerRegistration> for ::windows::runtime::IUnknown {
from(value: AppUriHandlerRegistration) -> Self1567     fn from(value: AppUriHandlerRegistration) -> Self {
1568         unsafe { ::std::mem::transmute(value) }
1569     }
1570 }
1571 impl ::std::convert::From<&AppUriHandlerRegistration> for ::windows::runtime::IUnknown {
from(value: &AppUriHandlerRegistration) -> Self1572     fn from(value: &AppUriHandlerRegistration) -> Self {
1573         ::std::convert::From::from(::std::clone::Clone::clone(value))
1574     }
1575 }
1576 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppUriHandlerRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1577     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1578         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1579     }
1580 }
1581 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppUriHandlerRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1582     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1583         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1584     }
1585 }
1586 impl ::std::convert::From<AppUriHandlerRegistration> for ::windows::runtime::IInspectable {
from(value: AppUriHandlerRegistration) -> Self1587     fn from(value: AppUriHandlerRegistration) -> Self {
1588         value.0
1589     }
1590 }
1591 impl ::std::convert::From<&AppUriHandlerRegistration> for ::windows::runtime::IInspectable {
from(value: &AppUriHandlerRegistration) -> Self1592     fn from(value: &AppUriHandlerRegistration) -> Self {
1593         value.0.clone()
1594     }
1595 }
1596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppUriHandlerRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1598         ::windows::runtime::Param::Owned(self.0)
1599     }
1600 }
1601 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppUriHandlerRegistration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1602     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1603         ::windows::runtime::Param::Borrowed(&self.0)
1604     }
1605 }
1606 unsafe impl ::std::marker::Send for AppUriHandlerRegistration {}
1607 unsafe impl ::std::marker::Sync for AppUriHandlerRegistration {}
1608 #[repr(transparent)]
1609 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1610 pub struct AppUriHandlerRegistrationManager(::windows::runtime::IInspectable);
1611 impl AppUriHandlerRegistrationManager {
User(&self) -> ::windows::runtime::Result<User>1612     pub fn User(&self) -> ::windows::runtime::Result<User> {
1613         let this = self;
1614         unsafe {
1615             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1616             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
1617         }
1618     }
TryGetRegistration<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<AppUriHandlerRegistration>1619     pub fn TryGetRegistration<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<AppUriHandlerRegistration> {
1620         let this = self;
1621         unsafe {
1622             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1623             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<AppUriHandlerRegistration>(result__)
1624         }
1625     }
GetDefault() -> ::windows::runtime::Result<AppUriHandlerRegistrationManager>1626     pub fn GetDefault() -> ::windows::runtime::Result<AppUriHandlerRegistrationManager> {
1627         Self::IAppUriHandlerRegistrationManagerStatics(|this| unsafe {
1628             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1629             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppUriHandlerRegistrationManager>(result__)
1630         })
1631     }
GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, User>>(user: Param0) -> ::windows::runtime::Result<AppUriHandlerRegistrationManager>1632     pub fn GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, User>>(user: Param0) -> ::windows::runtime::Result<AppUriHandlerRegistrationManager> {
1633         Self::IAppUriHandlerRegistrationManagerStatics(|this| unsafe {
1634             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1635             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<AppUriHandlerRegistrationManager>(result__)
1636         })
1637     }
PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1638     pub fn PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1639         let this = &::windows::runtime::Interface::cast::<IAppUriHandlerRegistrationManager2>(self)?;
1640         unsafe {
1641             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1642             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1643         }
1644     }
GetForPackage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(packagefamilyname: Param0) -> ::windows::runtime::Result<AppUriHandlerRegistrationManager>1645     pub fn GetForPackage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(packagefamilyname: Param0) -> ::windows::runtime::Result<AppUriHandlerRegistrationManager> {
1646         Self::IAppUriHandlerRegistrationManagerStatics2(|this| unsafe {
1647             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1648             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), packagefamilyname.into_param().abi(), &mut result__).from_abi::<AppUriHandlerRegistrationManager>(result__)
1649         })
1650     }
GetForPackageForUser<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, User>>(packagefamilyname: Param0, user: Param1) -> ::windows::runtime::Result<AppUriHandlerRegistrationManager>1651     pub fn GetForPackageForUser<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, User>>(packagefamilyname: Param0, user: Param1) -> ::windows::runtime::Result<AppUriHandlerRegistrationManager> {
1652         Self::IAppUriHandlerRegistrationManagerStatics2(|this| unsafe {
1653             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1654             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), packagefamilyname.into_param().abi(), user.into_param().abi(), &mut result__).from_abi::<AppUriHandlerRegistrationManager>(result__)
1655         })
1656     }
IAppUriHandlerRegistrationManagerStatics<R, F: FnOnce(&IAppUriHandlerRegistrationManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1657     pub fn IAppUriHandlerRegistrationManagerStatics<R, F: FnOnce(&IAppUriHandlerRegistrationManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1658         static mut SHARED: ::windows::runtime::FactoryCache<AppUriHandlerRegistrationManager, IAppUriHandlerRegistrationManagerStatics> = ::windows::runtime::FactoryCache::new();
1659         unsafe { SHARED.call(callback) }
1660     }
IAppUriHandlerRegistrationManagerStatics2<R, F: FnOnce(&IAppUriHandlerRegistrationManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1661     pub fn IAppUriHandlerRegistrationManagerStatics2<R, F: FnOnce(&IAppUriHandlerRegistrationManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1662         static mut SHARED: ::windows::runtime::FactoryCache<AppUriHandlerRegistrationManager, IAppUriHandlerRegistrationManagerStatics2> = ::windows::runtime::FactoryCache::new();
1663         unsafe { SHARED.call(callback) }
1664     }
1665 }
1666 unsafe impl ::windows::runtime::RuntimeType for AppUriHandlerRegistrationManager {
1667     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.AppUriHandlerRegistrationManager;{e62c9a52-ac94-5750-ac1b-6cfb6f250263})");
1668 }
1669 unsafe impl ::windows::runtime::Interface for AppUriHandlerRegistrationManager {
1670     type Vtable = IAppUriHandlerRegistrationManager_abi;
1671     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3861682770, 44180, 22352, [172, 27, 108, 251, 111, 37, 2, 99]);
1672 }
1673 impl ::windows::runtime::RuntimeName for AppUriHandlerRegistrationManager {
1674     const NAME: &'static str = "Windows.System.AppUriHandlerRegistrationManager";
1675 }
1676 impl ::std::convert::From<AppUriHandlerRegistrationManager> for ::windows::runtime::IUnknown {
from(value: AppUriHandlerRegistrationManager) -> Self1677     fn from(value: AppUriHandlerRegistrationManager) -> Self {
1678         unsafe { ::std::mem::transmute(value) }
1679     }
1680 }
1681 impl ::std::convert::From<&AppUriHandlerRegistrationManager> for ::windows::runtime::IUnknown {
from(value: &AppUriHandlerRegistrationManager) -> Self1682     fn from(value: &AppUriHandlerRegistrationManager) -> Self {
1683         ::std::convert::From::from(::std::clone::Clone::clone(value))
1684     }
1685 }
1686 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppUriHandlerRegistrationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1687     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1688         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1689     }
1690 }
1691 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppUriHandlerRegistrationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1692     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1693         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1694     }
1695 }
1696 impl ::std::convert::From<AppUriHandlerRegistrationManager> for ::windows::runtime::IInspectable {
from(value: AppUriHandlerRegistrationManager) -> Self1697     fn from(value: AppUriHandlerRegistrationManager) -> Self {
1698         value.0
1699     }
1700 }
1701 impl ::std::convert::From<&AppUriHandlerRegistrationManager> for ::windows::runtime::IInspectable {
from(value: &AppUriHandlerRegistrationManager) -> Self1702     fn from(value: &AppUriHandlerRegistrationManager) -> Self {
1703         value.0.clone()
1704     }
1705 }
1706 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppUriHandlerRegistrationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1707     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1708         ::windows::runtime::Param::Owned(self.0)
1709     }
1710 }
1711 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppUriHandlerRegistrationManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1712     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1713         ::windows::runtime::Param::Borrowed(&self.0)
1714     }
1715 }
1716 unsafe impl ::std::marker::Send for AppUriHandlerRegistrationManager {}
1717 unsafe impl ::std::marker::Sync for AppUriHandlerRegistrationManager {}
1718 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1719 #[repr(transparent)]
1720 pub struct AutoUpdateTimeZoneStatus(pub i32);
1721 impl AutoUpdateTimeZoneStatus {
1722     pub const Attempted: AutoUpdateTimeZoneStatus = AutoUpdateTimeZoneStatus(0i32);
1723     pub const TimedOut: AutoUpdateTimeZoneStatus = AutoUpdateTimeZoneStatus(1i32);
1724     pub const Failed: AutoUpdateTimeZoneStatus = AutoUpdateTimeZoneStatus(2i32);
1725 }
1726 impl ::std::convert::From<i32> for AutoUpdateTimeZoneStatus {
from(value: i32) -> Self1727     fn from(value: i32) -> Self {
1728         Self(value)
1729     }
1730 }
1731 unsafe impl ::windows::runtime::Abi for AutoUpdateTimeZoneStatus {
1732     type Abi = Self;
1733     type DefaultType = Self;
1734 }
1735 unsafe impl ::windows::runtime::RuntimeType for AutoUpdateTimeZoneStatus {
1736     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.AutoUpdateTimeZoneStatus;i4)");
1737 }
1738 pub struct DateTimeSettings {}
1739 impl DateTimeSettings {
1740     #[cfg(feature = "Foundation")]
SetSystemDateTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::DateTime>>(utcdatetime: Param0) -> ::windows::runtime::Result<()>1741     pub fn SetSystemDateTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::DateTime>>(utcdatetime: Param0) -> ::windows::runtime::Result<()> {
1742         Self::IDateTimeSettingsStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), utcdatetime.into_param().abi()).ok() })
1743     }
IDateTimeSettingsStatics<R, F: FnOnce(&IDateTimeSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1744     pub fn IDateTimeSettingsStatics<R, F: FnOnce(&IDateTimeSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1745         static mut SHARED: ::windows::runtime::FactoryCache<DateTimeSettings, IDateTimeSettingsStatics> = ::windows::runtime::FactoryCache::new();
1746         unsafe { SHARED.call(callback) }
1747     }
1748 }
1749 impl ::windows::runtime::RuntimeName for DateTimeSettings {
1750     const NAME: &'static str = "Windows.System.DateTimeSettings";
1751 }
1752 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1753 #[repr(transparent)]
1754 pub struct DiagnosticAccessStatus(pub i32);
1755 impl DiagnosticAccessStatus {
1756     pub const Unspecified: DiagnosticAccessStatus = DiagnosticAccessStatus(0i32);
1757     pub const Denied: DiagnosticAccessStatus = DiagnosticAccessStatus(1i32);
1758     pub const Limited: DiagnosticAccessStatus = DiagnosticAccessStatus(2i32);
1759     pub const Allowed: DiagnosticAccessStatus = DiagnosticAccessStatus(3i32);
1760 }
1761 impl ::std::convert::From<i32> for DiagnosticAccessStatus {
from(value: i32) -> Self1762     fn from(value: i32) -> Self {
1763         Self(value)
1764     }
1765 }
1766 unsafe impl ::windows::runtime::Abi for DiagnosticAccessStatus {
1767     type Abi = Self;
1768     type DefaultType = Self;
1769 }
1770 unsafe impl ::windows::runtime::RuntimeType for DiagnosticAccessStatus {
1771     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.DiagnosticAccessStatus;i4)");
1772 }
1773 #[repr(transparent)]
1774 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1775 pub struct DispatcherQueue(::windows::runtime::IInspectable);
1776 impl DispatcherQueue {
CreateTimer(&self) -> ::windows::runtime::Result<DispatcherQueueTimer>1777     pub fn CreateTimer(&self) -> ::windows::runtime::Result<DispatcherQueueTimer> {
1778         let this = self;
1779         unsafe {
1780             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1781             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DispatcherQueueTimer>(result__)
1782         }
1783     }
TryEnqueue<'a, Param0: ::windows::runtime::IntoParam<'a, DispatcherQueueHandler>>(&self, callback: Param0) -> ::windows::runtime::Result<bool>1784     pub fn TryEnqueue<'a, Param0: ::windows::runtime::IntoParam<'a, DispatcherQueueHandler>>(&self, callback: Param0) -> ::windows::runtime::Result<bool> {
1785         let this = self;
1786         unsafe {
1787             let mut result__: bool = ::std::mem::zeroed();
1788             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), callback.into_param().abi(), &mut result__).from_abi::<bool>(result__)
1789         }
1790     }
TryEnqueueWithPriority<'a, Param1: ::windows::runtime::IntoParam<'a, DispatcherQueueHandler>>(&self, priority: DispatcherQueuePriority, callback: Param1) -> ::windows::runtime::Result<bool>1791     pub fn TryEnqueueWithPriority<'a, Param1: ::windows::runtime::IntoParam<'a, DispatcherQueueHandler>>(&self, priority: DispatcherQueuePriority, callback: Param1) -> ::windows::runtime::Result<bool> {
1792         let this = self;
1793         unsafe {
1794             let mut result__: bool = ::std::mem::zeroed();
1795             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), priority, callback.into_param().abi(), &mut result__).from_abi::<bool>(result__)
1796         }
1797     }
1798     #[cfg(feature = "Foundation")]
ShutdownStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<DispatcherQueue, DispatcherQueueShutdownStartingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1799     pub fn ShutdownStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<DispatcherQueue, DispatcherQueueShutdownStartingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1800         let this = self;
1801         unsafe {
1802             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1803             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1804         }
1805     }
1806     #[cfg(feature = "Foundation")]
RemoveShutdownStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1807     pub fn RemoveShutdownStarting<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1808         let this = self;
1809         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1810     }
1811     #[cfg(feature = "Foundation")]
ShutdownCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<DispatcherQueue, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1812     pub fn ShutdownCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<DispatcherQueue, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1813         let this = self;
1814         unsafe {
1815             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1816             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1817         }
1818     }
1819     #[cfg(feature = "Foundation")]
RemoveShutdownCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1820     pub fn RemoveShutdownCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1821         let this = self;
1822         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1823     }
GetForCurrentThread() -> ::windows::runtime::Result<DispatcherQueue>1824     pub fn GetForCurrentThread() -> ::windows::runtime::Result<DispatcherQueue> {
1825         Self::IDispatcherQueueStatics(|this| unsafe {
1826             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1827             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DispatcherQueue>(result__)
1828         })
1829     }
HasThreadAccess(&self) -> ::windows::runtime::Result<bool>1830     pub fn HasThreadAccess(&self) -> ::windows::runtime::Result<bool> {
1831         let this = &::windows::runtime::Interface::cast::<IDispatcherQueue2>(self)?;
1832         unsafe {
1833             let mut result__: bool = ::std::mem::zeroed();
1834             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1835         }
1836     }
IDispatcherQueueStatics<R, F: FnOnce(&IDispatcherQueueStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1837     pub fn IDispatcherQueueStatics<R, F: FnOnce(&IDispatcherQueueStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1838         static mut SHARED: ::windows::runtime::FactoryCache<DispatcherQueue, IDispatcherQueueStatics> = ::windows::runtime::FactoryCache::new();
1839         unsafe { SHARED.call(callback) }
1840     }
1841 }
1842 unsafe impl ::windows::runtime::RuntimeType for DispatcherQueue {
1843     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.DispatcherQueue;{603e88e4-a338-4ffe-a457-a5cfb9ceb899})");
1844 }
1845 unsafe impl ::windows::runtime::Interface for DispatcherQueue {
1846     type Vtable = IDispatcherQueue_abi;
1847     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1614711012, 41784, 20478, [164, 87, 165, 207, 185, 206, 184, 153]);
1848 }
1849 impl ::windows::runtime::RuntimeName for DispatcherQueue {
1850     const NAME: &'static str = "Windows.System.DispatcherQueue";
1851 }
1852 impl ::std::convert::From<DispatcherQueue> for ::windows::runtime::IUnknown {
from(value: DispatcherQueue) -> Self1853     fn from(value: DispatcherQueue) -> Self {
1854         unsafe { ::std::mem::transmute(value) }
1855     }
1856 }
1857 impl ::std::convert::From<&DispatcherQueue> for ::windows::runtime::IUnknown {
from(value: &DispatcherQueue) -> Self1858     fn from(value: &DispatcherQueue) -> Self {
1859         ::std::convert::From::from(::std::clone::Clone::clone(value))
1860     }
1861 }
1862 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DispatcherQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1863     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1864         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1865     }
1866 }
1867 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DispatcherQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1868     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1869         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1870     }
1871 }
1872 impl ::std::convert::From<DispatcherQueue> for ::windows::runtime::IInspectable {
from(value: DispatcherQueue) -> Self1873     fn from(value: DispatcherQueue) -> Self {
1874         value.0
1875     }
1876 }
1877 impl ::std::convert::From<&DispatcherQueue> for ::windows::runtime::IInspectable {
from(value: &DispatcherQueue) -> Self1878     fn from(value: &DispatcherQueue) -> Self {
1879         value.0.clone()
1880     }
1881 }
1882 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DispatcherQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1883     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1884         ::windows::runtime::Param::Owned(self.0)
1885     }
1886 }
1887 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DispatcherQueue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1888     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1889         ::windows::runtime::Param::Borrowed(&self.0)
1890     }
1891 }
1892 unsafe impl ::std::marker::Send for DispatcherQueue {}
1893 unsafe impl ::std::marker::Sync for DispatcherQueue {}
1894 #[repr(transparent)]
1895 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1896 pub struct DispatcherQueueController(::windows::runtime::IInspectable);
1897 impl DispatcherQueueController {
DispatcherQueue(&self) -> ::windows::runtime::Result<DispatcherQueue>1898     pub fn DispatcherQueue(&self) -> ::windows::runtime::Result<DispatcherQueue> {
1899         let this = self;
1900         unsafe {
1901             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1902             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DispatcherQueue>(result__)
1903         }
1904     }
1905     #[cfg(feature = "Foundation")]
ShutdownQueueAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1906     pub fn ShutdownQueueAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1907         let this = self;
1908         unsafe {
1909             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1910             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1911         }
1912     }
CreateOnDedicatedThread() -> ::windows::runtime::Result<DispatcherQueueController>1913     pub fn CreateOnDedicatedThread() -> ::windows::runtime::Result<DispatcherQueueController> {
1914         Self::IDispatcherQueueControllerStatics(|this| unsafe {
1915             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1916             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DispatcherQueueController>(result__)
1917         })
1918     }
IDispatcherQueueControllerStatics<R, F: FnOnce(&IDispatcherQueueControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1919     pub fn IDispatcherQueueControllerStatics<R, F: FnOnce(&IDispatcherQueueControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1920         static mut SHARED: ::windows::runtime::FactoryCache<DispatcherQueueController, IDispatcherQueueControllerStatics> = ::windows::runtime::FactoryCache::new();
1921         unsafe { SHARED.call(callback) }
1922     }
1923 }
1924 unsafe impl ::windows::runtime::RuntimeType for DispatcherQueueController {
1925     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.DispatcherQueueController;{22f34e66-50db-4e36-a98d-61c01b384d20})");
1926 }
1927 unsafe impl ::windows::runtime::Interface for DispatcherQueueController {
1928     type Vtable = IDispatcherQueueController_abi;
1929     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(586370662, 20699, 20022, [169, 141, 97, 192, 27, 56, 77, 32]);
1930 }
1931 impl ::windows::runtime::RuntimeName for DispatcherQueueController {
1932     const NAME: &'static str = "Windows.System.DispatcherQueueController";
1933 }
1934 impl ::std::convert::From<DispatcherQueueController> for ::windows::runtime::IUnknown {
from(value: DispatcherQueueController) -> Self1935     fn from(value: DispatcherQueueController) -> Self {
1936         unsafe { ::std::mem::transmute(value) }
1937     }
1938 }
1939 impl ::std::convert::From<&DispatcherQueueController> for ::windows::runtime::IUnknown {
from(value: &DispatcherQueueController) -> Self1940     fn from(value: &DispatcherQueueController) -> Self {
1941         ::std::convert::From::from(::std::clone::Clone::clone(value))
1942     }
1943 }
1944 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DispatcherQueueController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1945     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1946         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1947     }
1948 }
1949 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DispatcherQueueController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1950     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1951         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1952     }
1953 }
1954 impl ::std::convert::From<DispatcherQueueController> for ::windows::runtime::IInspectable {
from(value: DispatcherQueueController) -> Self1955     fn from(value: DispatcherQueueController) -> Self {
1956         value.0
1957     }
1958 }
1959 impl ::std::convert::From<&DispatcherQueueController> for ::windows::runtime::IInspectable {
from(value: &DispatcherQueueController) -> Self1960     fn from(value: &DispatcherQueueController) -> Self {
1961         value.0.clone()
1962     }
1963 }
1964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DispatcherQueueController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1965     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1966         ::windows::runtime::Param::Owned(self.0)
1967     }
1968 }
1969 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DispatcherQueueController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1970     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1971         ::windows::runtime::Param::Borrowed(&self.0)
1972     }
1973 }
1974 unsafe impl ::std::marker::Send for DispatcherQueueController {}
1975 unsafe impl ::std::marker::Sync for DispatcherQueueController {}
1976 #[repr(transparent)]
1977 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1978 pub struct DispatcherQueueHandler(::windows::runtime::IUnknown);
1979 impl DispatcherQueueHandler {
new<F: FnMut() -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self1980     pub fn new<F: FnMut() -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self {
1981         let com = DispatcherQueueHandler_box::<F> {
1982             vtable: &DispatcherQueueHandler_box::<F>::VTABLE,
1983             count: ::windows::runtime::RefCount::new(1),
1984             invoke,
1985         };
1986         unsafe { std::mem::transmute(::std::boxed::Box::new(com)) }
1987     }
Invoke(&self) -> ::windows::runtime::Result<()>1988     pub fn Invoke(&self) -> ::windows::runtime::Result<()> {
1989         let this = self;
1990         unsafe { (::windows::runtime::Interface::vtable(this).3)(::std::mem::transmute_copy(this)).ok() }
1991     }
1992 }
1993 unsafe impl ::windows::runtime::RuntimeType for DispatcherQueueHandler {
1994     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"delegate({dfa2dc9c-1a2d-4917-98f2-939af1d6e0c8})");
1995 }
1996 unsafe impl ::windows::runtime::Interface for DispatcherQueueHandler {
1997     type Vtable = DispatcherQueueHandler_abi;
1998     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3751992476, 6701, 18711, [152, 242, 147, 154, 241, 214, 224, 200]);
1999 }
2000 #[repr(C)]
2001 #[doc(hidden)]
2002 pub struct DispatcherQueueHandler_abi(
2003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2007 );
2008 #[repr(C)]
2009 struct DispatcherQueueHandler_box<F: FnMut() -> ::windows::runtime::Result<()> + 'static> {
2010     vtable: *const DispatcherQueueHandler_abi,
2011     invoke: F,
2012     count: ::windows::runtime::RefCount,
2013 }
2014 impl<F: FnMut() -> ::windows::runtime::Result<()> + 'static> DispatcherQueueHandler_box<F> {
2015     const VTABLE: DispatcherQueueHandler_abi = DispatcherQueueHandler_abi(Self::QueryInterface, Self::AddRef, Self::Release, Self::Invoke);
QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT2016     unsafe extern "system" fn QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
2017         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
2018         *interface = if iid == &<DispatcherQueueHandler as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IUnknown as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IAgileObject as ::windows::runtime::Interface>::IID {
2019             &mut (*this).vtable as *mut _ as _
2020         } else {
2021             ::std::ptr::null_mut()
2022         };
2023         if (*interface).is_null() {
2024             ::windows::runtime::HRESULT(0x8000_4002)
2025         } else {
2026             (*this).count.add_ref();
2027             ::windows::runtime::HRESULT(0)
2028         }
2029     }
AddRef(this: ::windows::runtime::RawPtr) -> u322030     unsafe extern "system" fn AddRef(this: ::windows::runtime::RawPtr) -> u32 {
2031         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
2032         (*this).count.add_ref()
2033     }
Release(this: ::windows::runtime::RawPtr) -> u322034     unsafe extern "system" fn Release(this: ::windows::runtime::RawPtr) -> u32 {
2035         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
2036         let remaining = (*this).count.release();
2037         if remaining == 0 {
2038             Box::from_raw(this);
2039         }
2040         remaining
2041     }
Invoke(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT2042     unsafe extern "system" fn Invoke(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
2043         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
2044         ((*this).invoke)().into()
2045     }
2046 }
2047 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2048 #[repr(transparent)]
2049 pub struct DispatcherQueuePriority(pub i32);
2050 impl DispatcherQueuePriority {
2051     pub const Low: DispatcherQueuePriority = DispatcherQueuePriority(-10i32);
2052     pub const Normal: DispatcherQueuePriority = DispatcherQueuePriority(0i32);
2053     pub const High: DispatcherQueuePriority = DispatcherQueuePriority(10i32);
2054 }
2055 impl ::std::convert::From<i32> for DispatcherQueuePriority {
from(value: i32) -> Self2056     fn from(value: i32) -> Self {
2057         Self(value)
2058     }
2059 }
2060 unsafe impl ::windows::runtime::Abi for DispatcherQueuePriority {
2061     type Abi = Self;
2062     type DefaultType = Self;
2063 }
2064 unsafe impl ::windows::runtime::RuntimeType for DispatcherQueuePriority {
2065     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.DispatcherQueuePriority;i4)");
2066 }
2067 #[repr(transparent)]
2068 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2069 pub struct DispatcherQueueShutdownStartingEventArgs(::windows::runtime::IInspectable);
2070 impl DispatcherQueueShutdownStartingEventArgs {
2071     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral>2072     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral> {
2073         let this = self;
2074         unsafe {
2075             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2076             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Deferral>(result__)
2077         }
2078     }
2079 }
2080 unsafe impl ::windows::runtime::RuntimeType for DispatcherQueueShutdownStartingEventArgs {
2081     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.DispatcherQueueShutdownStartingEventArgs;{c4724c4c-ff97-40c0-a226-cc0aaa545e89})");
2082 }
2083 unsafe impl ::windows::runtime::Interface for DispatcherQueueShutdownStartingEventArgs {
2084     type Vtable = IDispatcherQueueShutdownStartingEventArgs_abi;
2085     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3295824972, 65431, 16576, [162, 38, 204, 10, 170, 84, 94, 137]);
2086 }
2087 impl ::windows::runtime::RuntimeName for DispatcherQueueShutdownStartingEventArgs {
2088     const NAME: &'static str = "Windows.System.DispatcherQueueShutdownStartingEventArgs";
2089 }
2090 impl ::std::convert::From<DispatcherQueueShutdownStartingEventArgs> for ::windows::runtime::IUnknown {
from(value: DispatcherQueueShutdownStartingEventArgs) -> Self2091     fn from(value: DispatcherQueueShutdownStartingEventArgs) -> Self {
2092         unsafe { ::std::mem::transmute(value) }
2093     }
2094 }
2095 impl ::std::convert::From<&DispatcherQueueShutdownStartingEventArgs> for ::windows::runtime::IUnknown {
from(value: &DispatcherQueueShutdownStartingEventArgs) -> Self2096     fn from(value: &DispatcherQueueShutdownStartingEventArgs) -> Self {
2097         ::std::convert::From::from(::std::clone::Clone::clone(value))
2098     }
2099 }
2100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DispatcherQueueShutdownStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2102         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2103     }
2104 }
2105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DispatcherQueueShutdownStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2107         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2108     }
2109 }
2110 impl ::std::convert::From<DispatcherQueueShutdownStartingEventArgs> for ::windows::runtime::IInspectable {
from(value: DispatcherQueueShutdownStartingEventArgs) -> Self2111     fn from(value: DispatcherQueueShutdownStartingEventArgs) -> Self {
2112         value.0
2113     }
2114 }
2115 impl ::std::convert::From<&DispatcherQueueShutdownStartingEventArgs> for ::windows::runtime::IInspectable {
from(value: &DispatcherQueueShutdownStartingEventArgs) -> Self2116     fn from(value: &DispatcherQueueShutdownStartingEventArgs) -> Self {
2117         value.0.clone()
2118     }
2119 }
2120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DispatcherQueueShutdownStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2122         ::windows::runtime::Param::Owned(self.0)
2123     }
2124 }
2125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DispatcherQueueShutdownStartingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2127         ::windows::runtime::Param::Borrowed(&self.0)
2128     }
2129 }
2130 unsafe impl ::std::marker::Send for DispatcherQueueShutdownStartingEventArgs {}
2131 unsafe impl ::std::marker::Sync for DispatcherQueueShutdownStartingEventArgs {}
2132 #[repr(transparent)]
2133 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2134 pub struct DispatcherQueueTimer(::windows::runtime::IInspectable);
2135 impl DispatcherQueueTimer {
2136     #[cfg(feature = "Foundation")]
Interval(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>2137     pub fn Interval(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
2138         let this = self;
2139         unsafe {
2140             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
2141             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
2142         }
2143     }
2144     #[cfg(feature = "Foundation")]
SetInterval<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>2145     pub fn SetInterval<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2146         let this = self;
2147         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2148     }
IsRunning(&self) -> ::windows::runtime::Result<bool>2149     pub fn IsRunning(&self) -> ::windows::runtime::Result<bool> {
2150         let this = self;
2151         unsafe {
2152             let mut result__: bool = ::std::mem::zeroed();
2153             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2154         }
2155     }
IsRepeating(&self) -> ::windows::runtime::Result<bool>2156     pub fn IsRepeating(&self) -> ::windows::runtime::Result<bool> {
2157         let this = self;
2158         unsafe {
2159             let mut result__: bool = ::std::mem::zeroed();
2160             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2161         }
2162     }
SetIsRepeating(&self, value: bool) -> ::windows::runtime::Result<()>2163     pub fn SetIsRepeating(&self, value: bool) -> ::windows::runtime::Result<()> {
2164         let this = self;
2165         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value).ok() }
2166     }
Start(&self) -> ::windows::runtime::Result<()>2167     pub fn Start(&self) -> ::windows::runtime::Result<()> {
2168         let this = self;
2169         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() }
2170     }
Stop(&self) -> ::windows::runtime::Result<()>2171     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
2172         let this = self;
2173         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
2174     }
2175     #[cfg(feature = "Foundation")]
Tick<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<DispatcherQueueTimer, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>2176     pub fn Tick<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<DispatcherQueueTimer, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
2177         let this = self;
2178         unsafe {
2179             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2180             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
2181         }
2182     }
2183     #[cfg(feature = "Foundation")]
RemoveTick<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2184     pub fn RemoveTick<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2185         let this = self;
2186         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2187     }
2188 }
2189 unsafe impl ::windows::runtime::RuntimeType for DispatcherQueueTimer {
2190     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.DispatcherQueueTimer;{5feabb1d-a31c-4727-b1ac-37454649d56a})");
2191 }
2192 unsafe impl ::windows::runtime::Interface for DispatcherQueueTimer {
2193     type Vtable = IDispatcherQueueTimer_abi;
2194     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1609218845, 41756, 18215, [177, 172, 55, 69, 70, 73, 213, 106]);
2195 }
2196 impl ::windows::runtime::RuntimeName for DispatcherQueueTimer {
2197     const NAME: &'static str = "Windows.System.DispatcherQueueTimer";
2198 }
2199 impl ::std::convert::From<DispatcherQueueTimer> for ::windows::runtime::IUnknown {
from(value: DispatcherQueueTimer) -> Self2200     fn from(value: DispatcherQueueTimer) -> Self {
2201         unsafe { ::std::mem::transmute(value) }
2202     }
2203 }
2204 impl ::std::convert::From<&DispatcherQueueTimer> for ::windows::runtime::IUnknown {
from(value: &DispatcherQueueTimer) -> Self2205     fn from(value: &DispatcherQueueTimer) -> Self {
2206         ::std::convert::From::from(::std::clone::Clone::clone(value))
2207     }
2208 }
2209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for DispatcherQueueTimer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2211         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2212     }
2213 }
2214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &DispatcherQueueTimer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2216         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2217     }
2218 }
2219 impl ::std::convert::From<DispatcherQueueTimer> for ::windows::runtime::IInspectable {
from(value: DispatcherQueueTimer) -> Self2220     fn from(value: DispatcherQueueTimer) -> Self {
2221         value.0
2222     }
2223 }
2224 impl ::std::convert::From<&DispatcherQueueTimer> for ::windows::runtime::IInspectable {
from(value: &DispatcherQueueTimer) -> Self2225     fn from(value: &DispatcherQueueTimer) -> Self {
2226         value.0.clone()
2227     }
2228 }
2229 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for DispatcherQueueTimer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2230     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2231         ::windows::runtime::Param::Owned(self.0)
2232     }
2233 }
2234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a DispatcherQueueTimer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2236         ::windows::runtime::Param::Borrowed(&self.0)
2237     }
2238 }
2239 unsafe impl ::std::marker::Send for DispatcherQueueTimer {}
2240 unsafe impl ::std::marker::Sync for DispatcherQueueTimer {}
2241 #[repr(transparent)]
2242 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2243 pub struct FolderLauncherOptions(::windows::runtime::IInspectable);
2244 impl FolderLauncherOptions {
new() -> ::windows::runtime::Result<Self>2245     pub fn new() -> ::windows::runtime::Result<Self> {
2246         Self::IActivationFactory(|f| f.activate_instance::<Self>())
2247     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2248     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2249         static mut SHARED: ::windows::runtime::FactoryCache<FolderLauncherOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2250         unsafe { SHARED.call(callback) }
2251     }
2252     #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
ItemsToSelect(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<super::Storage::IStorageItem>>2253     pub fn ItemsToSelect(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<super::Storage::IStorageItem>> {
2254         let this = self;
2255         unsafe {
2256             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2257             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<super::Storage::IStorageItem>>(result__)
2258         }
2259     }
2260     #[cfg(feature = "UI_ViewManagement")]
DesiredRemainingView(&self) -> ::windows::runtime::Result<super::UI::ViewManagement::ViewSizePreference>2261     pub fn DesiredRemainingView(&self) -> ::windows::runtime::Result<super::UI::ViewManagement::ViewSizePreference> {
2262         let this = &::windows::runtime::Interface::cast::<ILauncherViewOptions>(self)?;
2263         unsafe {
2264             let mut result__: super::UI::ViewManagement::ViewSizePreference = ::std::mem::zeroed();
2265             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::UI::ViewManagement::ViewSizePreference>(result__)
2266         }
2267     }
2268     #[cfg(feature = "UI_ViewManagement")]
SetDesiredRemainingView(&self, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::Result<()>2269     pub fn SetDesiredRemainingView(&self, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::Result<()> {
2270         let this = &::windows::runtime::Interface::cast::<ILauncherViewOptions>(self)?;
2271         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2272     }
2273 }
2274 unsafe impl ::windows::runtime::RuntimeType for FolderLauncherOptions {
2275     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.FolderLauncherOptions;{bb91c27d-6b87-432a-bd04-776c6f5fb2ab})");
2276 }
2277 unsafe impl ::windows::runtime::Interface for FolderLauncherOptions {
2278     type Vtable = IFolderLauncherOptions_abi;
2279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3146891901, 27527, 17194, [189, 4, 119, 108, 111, 95, 178, 171]);
2280 }
2281 impl ::windows::runtime::RuntimeName for FolderLauncherOptions {
2282     const NAME: &'static str = "Windows.System.FolderLauncherOptions";
2283 }
2284 impl ::std::convert::From<FolderLauncherOptions> for ::windows::runtime::IUnknown {
from(value: FolderLauncherOptions) -> Self2285     fn from(value: FolderLauncherOptions) -> Self {
2286         unsafe { ::std::mem::transmute(value) }
2287     }
2288 }
2289 impl ::std::convert::From<&FolderLauncherOptions> for ::windows::runtime::IUnknown {
from(value: &FolderLauncherOptions) -> Self2290     fn from(value: &FolderLauncherOptions) -> Self {
2291         ::std::convert::From::from(::std::clone::Clone::clone(value))
2292     }
2293 }
2294 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for FolderLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2295     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2296         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2297     }
2298 }
2299 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &FolderLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2300     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2301         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2302     }
2303 }
2304 impl ::std::convert::From<FolderLauncherOptions> for ::windows::runtime::IInspectable {
from(value: FolderLauncherOptions) -> Self2305     fn from(value: FolderLauncherOptions) -> Self {
2306         value.0
2307     }
2308 }
2309 impl ::std::convert::From<&FolderLauncherOptions> for ::windows::runtime::IInspectable {
from(value: &FolderLauncherOptions) -> Self2310     fn from(value: &FolderLauncherOptions) -> Self {
2311         value.0.clone()
2312     }
2313 }
2314 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for FolderLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2315     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2316         ::windows::runtime::Param::Owned(self.0)
2317     }
2318 }
2319 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a FolderLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2320     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2321         ::windows::runtime::Param::Borrowed(&self.0)
2322     }
2323 }
2324 impl ::std::convert::TryFrom<FolderLauncherOptions> for ILauncherViewOptions {
2325     type Error = ::windows::runtime::Error;
try_from(value: FolderLauncherOptions) -> ::windows::runtime::Result<Self>2326     fn try_from(value: FolderLauncherOptions) -> ::windows::runtime::Result<Self> {
2327         ::std::convert::TryFrom::try_from(&value)
2328     }
2329 }
2330 impl ::std::convert::TryFrom<&FolderLauncherOptions> for ILauncherViewOptions {
2331     type Error = ::windows::runtime::Error;
try_from(value: &FolderLauncherOptions) -> ::windows::runtime::Result<Self>2332     fn try_from(value: &FolderLauncherOptions) -> ::windows::runtime::Result<Self> {
2333         ::windows::runtime::Interface::cast(value)
2334     }
2335 }
2336 impl<'a> ::windows::runtime::IntoParam<'a, ILauncherViewOptions> for FolderLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions>2337     fn into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions> {
2338         ::windows::runtime::IntoParam::into_param(&self)
2339     }
2340 }
2341 impl<'a> ::windows::runtime::IntoParam<'a, ILauncherViewOptions> for &FolderLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions>2342     fn into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions> {
2343         ::std::convert::TryInto::<ILauncherViewOptions>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2344     }
2345 }
2346 unsafe impl ::std::marker::Send for FolderLauncherOptions {}
2347 unsafe impl ::std::marker::Sync for FolderLauncherOptions {}
2348 #[repr(transparent)]
2349 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2350 #[doc(hidden)]
2351 pub struct IAppActivationResult(::windows::runtime::IInspectable);
2352 unsafe impl ::windows::runtime::Interface for IAppActivationResult {
2353     type Vtable = IAppActivationResult_abi;
2354     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1800571136, 62574, 20144, [170, 108, 56, 175, 85, 124, 249, 237]);
2355 }
2356 #[repr(C)]
2357 #[doc(hidden)]
2358 pub struct IAppActivationResult_abi(
2359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2367 );
2368 #[repr(transparent)]
2369 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2370 #[doc(hidden)]
2371 pub struct IAppDiagnosticInfo(::windows::runtime::IInspectable);
2372 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfo {
2373     type Vtable = IAppDiagnosticInfo_abi;
2374     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3813189274, 34953, 19619, [190, 7, 213, 255, 255, 95, 8, 4]);
2375 }
2376 #[repr(C)]
2377 #[doc(hidden)]
2378 pub struct IAppDiagnosticInfo_abi(
2379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2385     #[cfg(feature = "ApplicationModel")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2386     #[cfg(not(feature = "ApplicationModel"))] usize,
2387 );
2388 #[repr(transparent)]
2389 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2390 #[doc(hidden)]
2391 pub struct IAppDiagnosticInfo2(::windows::runtime::IInspectable);
2392 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfo2 {
2393     type Vtable = IAppDiagnosticInfo2_abi;
2394     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3745971159, 6426, 17516, [148, 115, 143, 188, 35, 116, 163, 84]);
2395 }
2396 #[repr(C)]
2397 #[doc(hidden)]
2398 pub struct IAppDiagnosticInfo2_abi(
2399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2405     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2406     #[cfg(not(feature = "Foundation_Collections"))] usize,
2407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2408 );
2409 #[repr(transparent)]
2410 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2411 #[doc(hidden)]
2412 pub struct IAppDiagnosticInfo3(::windows::runtime::IInspectable);
2413 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfo3 {
2414     type Vtable = IAppDiagnosticInfo3_abi;
2415     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3365258813, 56673, 19557, [186, 189, 129, 161, 11, 79, 152, 21]);
2416 }
2417 #[repr(C)]
2418 #[doc(hidden)]
2419 pub struct IAppDiagnosticInfo3_abi(
2420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2426     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2427     #[cfg(not(feature = "Foundation"))] usize,
2428 );
2429 #[repr(transparent)]
2430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2431 #[doc(hidden)]
2432 pub struct IAppDiagnosticInfoStatics(::windows::runtime::IInspectable);
2433 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfoStatics {
2434     type Vtable = IAppDiagnosticInfoStatics_abi;
2435     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3462997439, 4298, 16584, [169, 202, 197, 201, 101, 1, 134, 110]);
2436 }
2437 #[repr(C)]
2438 #[doc(hidden)]
2439 pub struct IAppDiagnosticInfoStatics_abi(
2440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2446     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2447     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2448 );
2449 #[repr(transparent)]
2450 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2451 #[doc(hidden)]
2452 pub struct IAppDiagnosticInfoStatics2(::windows::runtime::IInspectable);
2453 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfoStatics2 {
2454     type Vtable = IAppDiagnosticInfoStatics2_abi;
2455     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(95570822, 4096, 19600, [187, 159, 114, 53, 7, 28, 80, 254]);
2456 }
2457 #[repr(C)]
2458 #[doc(hidden)]
2459 pub struct IAppDiagnosticInfoStatics2_abi(
2460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2467     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2468     #[cfg(not(feature = "Foundation"))] usize,
2469     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2470     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2471     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2472     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2473     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, appusermodelid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2474     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2475 );
2476 #[repr(transparent)]
2477 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2478 #[doc(hidden)]
2479 pub struct IAppDiagnosticInfoWatcher(::windows::runtime::IInspectable);
2480 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfoWatcher {
2481     type Vtable = IAppDiagnosticInfoWatcher_abi;
2482     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1968656496, 467, 18586, [147, 37, 82, 249, 204, 110, 222, 10]);
2483 }
2484 #[repr(C)]
2485 #[doc(hidden)]
2486 pub struct IAppDiagnosticInfoWatcher_abi(
2487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2493     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2494     #[cfg(not(feature = "Foundation"))] usize,
2495     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2496     #[cfg(not(feature = "Foundation"))] usize,
2497     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2498     #[cfg(not(feature = "Foundation"))] usize,
2499     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2500     #[cfg(not(feature = "Foundation"))] usize,
2501     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2502     #[cfg(not(feature = "Foundation"))] usize,
2503     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2504     #[cfg(not(feature = "Foundation"))] usize,
2505     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2506     #[cfg(not(feature = "Foundation"))] usize,
2507     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2508     #[cfg(not(feature = "Foundation"))] usize,
2509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppDiagnosticInfoWatcherStatus) -> ::windows::runtime::HRESULT,
2510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2512 );
2513 #[repr(transparent)]
2514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2515 #[doc(hidden)]
2516 pub struct IAppDiagnosticInfoWatcherEventArgs(::windows::runtime::IInspectable);
2517 unsafe impl ::windows::runtime::Interface for IAppDiagnosticInfoWatcherEventArgs {
2518     type Vtable = IAppDiagnosticInfoWatcherEventArgs_abi;
2519     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1880606486, 57818, 19557, [153, 223, 4, 109, 255, 91, 231, 26]);
2520 }
2521 #[repr(C)]
2522 #[doc(hidden)]
2523 pub struct IAppDiagnosticInfoWatcherEventArgs_abi(
2524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2531 );
2532 #[repr(transparent)]
2533 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2534 #[doc(hidden)]
2535 pub struct IAppExecutionStateChangeResult(::windows::runtime::IInspectable);
2536 unsafe impl ::windows::runtime::Interface for IAppExecutionStateChangeResult {
2537     type Vtable = IAppExecutionStateChangeResult_abi;
2538     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1862507504, 63771, 19960, [174, 119, 48, 51, 204, 182, 145, 20]);
2539 }
2540 #[repr(C)]
2541 #[doc(hidden)]
2542 pub struct IAppExecutionStateChangeResult_abi(
2543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2550 );
2551 #[repr(transparent)]
2552 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2553 #[doc(hidden)]
2554 pub struct IAppMemoryReport(::windows::runtime::IInspectable);
2555 unsafe impl ::windows::runtime::Interface for IAppMemoryReport {
2556     type Vtable = IAppMemoryReport_abi;
2557     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1835348891, 19823, 17852, [156, 94, 228, 155, 63, 242, 117, 141]);
2558 }
2559 #[repr(C)]
2560 #[doc(hidden)]
2561 pub struct IAppMemoryReport_abi(
2562     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2572 );
2573 #[repr(transparent)]
2574 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2575 #[doc(hidden)]
2576 pub struct IAppMemoryReport2(::windows::runtime::IInspectable);
2577 unsafe impl ::windows::runtime::Interface for IAppMemoryReport2 {
2578     type Vtable = IAppMemoryReport2_abi;
2579     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1602172728, 20919, 17116, [183, 237, 121, 186, 70, 210, 136, 87]);
2580 }
2581 #[repr(C)]
2582 #[doc(hidden)]
2583 pub struct IAppMemoryReport2_abi(
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2591 );
2592 #[repr(transparent)]
2593 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2594 #[doc(hidden)]
2595 pub struct IAppMemoryUsageLimitChangingEventArgs(::windows::runtime::IInspectable);
2596 unsafe impl ::windows::runtime::Interface for IAppMemoryUsageLimitChangingEventArgs {
2597     type Vtable = IAppMemoryUsageLimitChangingEventArgs_abi;
2598     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2046322276, 65226, 19877, [158, 64, 43, 198, 62, 253, 201, 121]);
2599 }
2600 #[repr(C)]
2601 #[doc(hidden)]
2602 pub struct IAppMemoryUsageLimitChangingEventArgs_abi(
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2611 );
2612 #[repr(transparent)]
2613 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2614 #[doc(hidden)]
2615 pub struct IAppResourceGroupBackgroundTaskReport(::windows::runtime::IInspectable);
2616 unsafe impl ::windows::runtime::Interface for IAppResourceGroupBackgroundTaskReport {
2617     type Vtable = IAppResourceGroupBackgroundTaskReport_abi;
2618     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(627500878, 45149, 16578, [157, 193, 26, 79, 3, 158, 161, 32]);
2619 }
2620 #[repr(C)]
2621 #[doc(hidden)]
2622 pub struct IAppResourceGroupBackgroundTaskReport_abi(
2623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2633 );
2634 #[repr(transparent)]
2635 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2636 #[doc(hidden)]
2637 pub struct IAppResourceGroupInfo(::windows::runtime::IInspectable);
2638 unsafe impl ::windows::runtime::Interface for IAppResourceGroupInfo {
2639     type Vtable = IAppResourceGroupInfo_abi;
2640     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3105093498, 59399, 18932, [132, 94, 123, 139, 220, 254, 142, 231]);
2641 }
2642 #[repr(C)]
2643 #[doc(hidden)]
2644 pub struct IAppResourceGroupInfo_abi(
2645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2653     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2654     #[cfg(not(feature = "Foundation_Collections"))] usize,
2655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2656     #[cfg(all(feature = "Foundation_Collections", feature = "System_Diagnostics"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2657     #[cfg(not(all(feature = "Foundation_Collections", feature = "System_Diagnostics")))] usize,
2658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2659 );
2660 #[repr(transparent)]
2661 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2662 #[doc(hidden)]
2663 pub struct IAppResourceGroupInfo2(::windows::runtime::IInspectable);
2664 unsafe impl ::windows::runtime::Interface for IAppResourceGroupInfo2 {
2665     type Vtable = IAppResourceGroupInfo2_abi;
2666     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4003144557, 54021, 19819, [146, 247, 106, 253, 173, 114, 222, 220]);
2667 }
2668 #[repr(C)]
2669 #[doc(hidden)]
2670 pub struct IAppResourceGroupInfo2_abi(
2671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2677     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2678     #[cfg(not(feature = "Foundation"))] usize,
2679     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2680     #[cfg(not(feature = "Foundation"))] usize,
2681     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2682     #[cfg(not(feature = "Foundation"))] usize,
2683 );
2684 #[repr(transparent)]
2685 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2686 #[doc(hidden)]
2687 pub struct IAppResourceGroupInfoWatcher(::windows::runtime::IInspectable);
2688 unsafe impl ::windows::runtime::Interface for IAppResourceGroupInfoWatcher {
2689     type Vtable = IAppResourceGroupInfoWatcher_abi;
2690     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3652231421, 28250, 19570, [139, 23, 9, 254, 196, 162, 18, 189]);
2691 }
2692 #[repr(C)]
2693 #[doc(hidden)]
2694 pub struct IAppResourceGroupInfoWatcher_abi(
2695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2701     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2702     #[cfg(not(feature = "Foundation"))] usize,
2703     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2704     #[cfg(not(feature = "Foundation"))] usize,
2705     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2706     #[cfg(not(feature = "Foundation"))] usize,
2707     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2708     #[cfg(not(feature = "Foundation"))] usize,
2709     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2710     #[cfg(not(feature = "Foundation"))] usize,
2711     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2712     #[cfg(not(feature = "Foundation"))] usize,
2713     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2714     #[cfg(not(feature = "Foundation"))] usize,
2715     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2716     #[cfg(not(feature = "Foundation"))] usize,
2717     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2718     #[cfg(not(feature = "Foundation"))] usize,
2719     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2720     #[cfg(not(feature = "Foundation"))] usize,
2721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppResourceGroupInfoWatcherStatus) -> ::windows::runtime::HRESULT,
2722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2724 );
2725 #[repr(transparent)]
2726 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2727 #[doc(hidden)]
2728 pub struct IAppResourceGroupInfoWatcherEventArgs(::windows::runtime::IInspectable);
2729 unsafe impl ::windows::runtime::Interface for IAppResourceGroupInfoWatcherEventArgs {
2730     type Vtable = IAppResourceGroupInfoWatcherEventArgs_abi;
2731     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2054714935, 25346, 19759, [191, 137, 28, 18, 208, 178, 166, 185]);
2732 }
2733 #[repr(C)]
2734 #[doc(hidden)]
2735 pub struct IAppResourceGroupInfoWatcherEventArgs_abi(
2736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2741     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2742     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2743     #[cfg(not(feature = "Foundation_Collections"))] usize,
2744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2745 );
2746 #[repr(transparent)]
2747 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2748 #[doc(hidden)]
2749 pub struct IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs(::windows::runtime::IInspectable);
2750 unsafe impl ::windows::runtime::Interface for IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs {
2751     type Vtable = IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs_abi;
2752     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(467398103, 65254, 20436, [152, 221, 233, 42, 44, 194, 153, 243]);
2753 }
2754 #[repr(C)]
2755 #[doc(hidden)]
2756 pub struct IAppResourceGroupInfoWatcherExecutionStateChangedEventArgs_abi(
2757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2763     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2764     #[cfg(not(feature = "Foundation_Collections"))] usize,
2765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2766 );
2767 #[repr(transparent)]
2768 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2769 #[doc(hidden)]
2770 pub struct IAppResourceGroupMemoryReport(::windows::runtime::IInspectable);
2771 unsafe impl ::windows::runtime::Interface for IAppResourceGroupMemoryReport {
2772     type Vtable = IAppResourceGroupMemoryReport_abi;
2773     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(747374257, 32177, 19537, [162, 37, 127, 174, 45, 73, 228, 49]);
2774 }
2775 #[repr(C)]
2776 #[doc(hidden)]
2777 pub struct IAppResourceGroupMemoryReport_abi(
2778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppMemoryUsageLevel) -> ::windows::runtime::HRESULT,
2786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2788 );
2789 #[repr(transparent)]
2790 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2791 #[doc(hidden)]
2792 pub struct IAppResourceGroupStateReport(::windows::runtime::IInspectable);
2793 unsafe impl ::windows::runtime::Interface for IAppResourceGroupStateReport {
2794     type Vtable = IAppResourceGroupStateReport_abi;
2795     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1384423192, 12144, 16950, [171, 64, 208, 77, 176, 199, 185, 49]);
2796 }
2797 #[repr(C)]
2798 #[doc(hidden)]
2799 pub struct IAppResourceGroupStateReport_abi(
2800     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppResourceGroupExecutionState) -> ::windows::runtime::HRESULT,
2807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppResourceGroupEnergyQuotaState) -> ::windows::runtime::HRESULT,
2808 );
2809 #[repr(transparent)]
2810 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2811 #[doc(hidden)]
2812 pub struct IAppUriHandlerHost(::windows::runtime::IInspectable);
2813 unsafe impl ::windows::runtime::Interface for IAppUriHandlerHost {
2814     type Vtable = IAppUriHandlerHost_abi;
2815     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1565575877, 37586, 21513, [181, 111, 127, 115, 225, 14, 164, 195]);
2816 }
2817 #[repr(C)]
2818 #[doc(hidden)]
2819 pub struct IAppUriHandlerHost_abi(
2820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2828 );
2829 #[repr(transparent)]
2830 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2831 #[doc(hidden)]
2832 pub struct IAppUriHandlerHost2(::windows::runtime::IInspectable);
2833 unsafe impl ::windows::runtime::Interface for IAppUriHandlerHost2 {
2834     type Vtable = IAppUriHandlerHost2_abi;
2835     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(973860501, 10724, 20927, [128, 149, 163, 192, 104, 227, 199, 42]);
2836 }
2837 #[repr(C)]
2838 #[doc(hidden)]
2839 pub struct IAppUriHandlerHost2_abi(
2840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2841     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2848 );
2849 #[repr(transparent)]
2850 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2851 #[doc(hidden)]
2852 pub struct IAppUriHandlerHostFactory(::windows::runtime::IInspectable);
2853 unsafe impl ::windows::runtime::Interface for IAppUriHandlerHostFactory {
2854     type Vtable = IAppUriHandlerHostFactory_abi;
2855     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(628898966, 52740, 24472, [150, 187, 62, 189, 62, 146, 117, 187]);
2856 }
2857 #[repr(C)]
2858 #[doc(hidden)]
2859 pub struct IAppUriHandlerHostFactory_abi(
2860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2862     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2863     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2867 );
2868 #[repr(transparent)]
2869 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2870 #[doc(hidden)]
2871 pub struct IAppUriHandlerRegistration(::windows::runtime::IInspectable);
2872 unsafe impl ::windows::runtime::Interface for IAppUriHandlerRegistration {
2873     type Vtable = IAppUriHandlerRegistration_abi;
2874     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1869852337, 17769, 23615, [155, 160, 153, 18, 62, 234, 50, 195]);
2875 }
2876 #[repr(C)]
2877 #[doc(hidden)]
2878 pub struct IAppUriHandlerRegistration_abi(
2879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2887     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2888     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2889     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hosts: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2890     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2891 );
2892 #[repr(transparent)]
2893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2894 #[doc(hidden)]
2895 pub struct IAppUriHandlerRegistration2(::windows::runtime::IInspectable);
2896 unsafe impl ::windows::runtime::Interface for IAppUriHandlerRegistration2 {
2897     type Vtable = IAppUriHandlerRegistration2_abi;
2898     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3578637463, 52025, 24351, [136, 62, 1, 133, 55, 48, 189, 109]);
2899 }
2900 #[repr(C)]
2901 #[doc(hidden)]
2902 pub struct IAppUriHandlerRegistration2_abi(
2903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2909     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2910     #[cfg(not(feature = "Foundation_Collections"))] usize,
2911     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hosts: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2912     #[cfg(not(feature = "Foundation_Collections"))] usize,
2913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2914 );
2915 #[repr(transparent)]
2916 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2917 #[doc(hidden)]
2918 pub struct IAppUriHandlerRegistrationManager(::windows::runtime::IInspectable);
2919 unsafe impl ::windows::runtime::Interface for IAppUriHandlerRegistrationManager {
2920     type Vtable = IAppUriHandlerRegistrationManager_abi;
2921     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3861682770, 44180, 22352, [172, 27, 108, 251, 111, 37, 2, 99]);
2922 }
2923 #[repr(C)]
2924 #[doc(hidden)]
2925 pub struct IAppUriHandlerRegistrationManager_abi(
2926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2934 );
2935 #[repr(transparent)]
2936 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2937 #[doc(hidden)]
2938 pub struct IAppUriHandlerRegistrationManager2(::windows::runtime::IInspectable);
2939 unsafe impl ::windows::runtime::Interface for IAppUriHandlerRegistrationManager2 {
2940     type Vtable = IAppUriHandlerRegistrationManager2_abi;
2941     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3185560305, 46362, 24169, [174, 253, 112, 136, 217, 242, 177, 35]);
2942 }
2943 #[repr(C)]
2944 #[doc(hidden)]
2945 pub struct IAppUriHandlerRegistrationManager2_abi(
2946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2953 );
2954 #[repr(transparent)]
2955 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2956 #[doc(hidden)]
2957 pub struct IAppUriHandlerRegistrationManagerStatics(::windows::runtime::IInspectable);
2958 unsafe impl ::windows::runtime::Interface for IAppUriHandlerRegistrationManagerStatics {
2959     type Vtable = IAppUriHandlerRegistrationManagerStatics_abi;
2960     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3587104159, 22313, 23414, [161, 212, 2, 133, 242, 149, 193, 36]);
2961 }
2962 #[repr(C)]
2963 #[doc(hidden)]
2964 pub struct IAppUriHandlerRegistrationManagerStatics_abi(
2965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2973 );
2974 #[repr(transparent)]
2975 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2976 #[doc(hidden)]
2977 pub struct IAppUriHandlerRegistrationManagerStatics2(::windows::runtime::IInspectable);
2978 unsafe impl ::windows::runtime::Interface for IAppUriHandlerRegistrationManagerStatics2 {
2979     type Vtable = IAppUriHandlerRegistrationManagerStatics2_abi;
2980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(351765369, 26768, 20608, [144, 167, 152, 130, 74, 127, 7, 158]);
2981 }
2982 #[repr(C)]
2983 #[doc(hidden)]
2984 pub struct IAppUriHandlerRegistrationManagerStatics2_abi(
2985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2993 );
2994 #[repr(transparent)]
2995 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2996 #[doc(hidden)]
2997 pub struct IDateTimeSettingsStatics(::windows::runtime::IInspectable);
2998 unsafe impl ::windows::runtime::Interface for IDateTimeSettingsStatics {
2999     type Vtable = IDateTimeSettingsStatics_abi;
3000     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1562464465, 18414, 18603, [165, 43, 159, 25, 84, 39, 141, 130]);
3001 }
3002 #[repr(C)]
3003 #[doc(hidden)]
3004 pub struct IDateTimeSettingsStatics_abi(
3005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3011     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, utcdatetime: super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
3012     #[cfg(not(feature = "Foundation"))] usize,
3013 );
3014 #[repr(transparent)]
3015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3016 #[doc(hidden)]
3017 pub struct IDispatcherQueue(::windows::runtime::IInspectable);
3018 unsafe impl ::windows::runtime::Interface for IDispatcherQueue {
3019     type Vtable = IDispatcherQueue_abi;
3020     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1614711012, 41784, 20478, [164, 87, 165, 207, 185, 206, 184, 153]);
3021 }
3022 #[repr(C)]
3023 #[doc(hidden)]
3024 pub struct IDispatcherQueue_abi(
3025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, callback: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, priority: DispatcherQueuePriority, callback: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3034     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3035     #[cfg(not(feature = "Foundation"))] usize,
3036     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3037     #[cfg(not(feature = "Foundation"))] usize,
3038     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3039     #[cfg(not(feature = "Foundation"))] usize,
3040     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3041     #[cfg(not(feature = "Foundation"))] usize,
3042 );
3043 #[repr(transparent)]
3044 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3045 #[doc(hidden)]
3046 pub struct IDispatcherQueue2(::windows::runtime::IInspectable);
3047 unsafe impl ::windows::runtime::Interface for IDispatcherQueue2 {
3048     type Vtable = IDispatcherQueue2_abi;
3049     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3357722183, 12527, 20590, [189, 30, 166, 71, 174, 102, 117, 255]);
3050 }
3051 #[repr(C)]
3052 #[doc(hidden)]
3053 pub struct IDispatcherQueue2_abi(
3054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3061 );
3062 #[repr(transparent)]
3063 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3064 #[doc(hidden)]
3065 pub struct IDispatcherQueueController(::windows::runtime::IInspectable);
3066 unsafe impl ::windows::runtime::Interface for IDispatcherQueueController {
3067     type Vtable = IDispatcherQueueController_abi;
3068     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(586370662, 20699, 20022, [169, 141, 97, 192, 27, 56, 77, 32]);
3069 }
3070 #[repr(C)]
3071 #[doc(hidden)]
3072 pub struct IDispatcherQueueController_abi(
3073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3080     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3081     #[cfg(not(feature = "Foundation"))] usize,
3082 );
3083 #[repr(transparent)]
3084 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3085 #[doc(hidden)]
3086 pub struct IDispatcherQueueControllerStatics(::windows::runtime::IInspectable);
3087 unsafe impl ::windows::runtime::Interface for IDispatcherQueueControllerStatics {
3088     type Vtable = IDispatcherQueueControllerStatics_abi;
3089     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(174889184, 20888, 18850, [163, 19, 63, 112, 209, 241, 60, 39]);
3090 }
3091 #[repr(C)]
3092 #[doc(hidden)]
3093 pub struct IDispatcherQueueControllerStatics_abi(
3094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3101 );
3102 #[repr(transparent)]
3103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3104 #[doc(hidden)]
3105 pub struct IDispatcherQueueShutdownStartingEventArgs(::windows::runtime::IInspectable);
3106 unsafe impl ::windows::runtime::Interface for IDispatcherQueueShutdownStartingEventArgs {
3107     type Vtable = IDispatcherQueueShutdownStartingEventArgs_abi;
3108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3295824972, 65431, 16576, [162, 38, 204, 10, 170, 84, 94, 137]);
3109 }
3110 #[repr(C)]
3111 #[doc(hidden)]
3112 pub struct IDispatcherQueueShutdownStartingEventArgs_abi(
3113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3119     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3120     #[cfg(not(feature = "Foundation"))] usize,
3121 );
3122 #[repr(transparent)]
3123 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3124 #[doc(hidden)]
3125 pub struct IDispatcherQueueStatics(::windows::runtime::IInspectable);
3126 unsafe impl ::windows::runtime::Interface for IDispatcherQueueStatics {
3127     type Vtable = IDispatcherQueueStatics_abi;
3128     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2842526679, 37745, 17687, [146, 69, 208, 130, 74, 193, 44, 116]);
3129 }
3130 #[repr(C)]
3131 #[doc(hidden)]
3132 pub struct IDispatcherQueueStatics_abi(
3133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3140 );
3141 #[repr(transparent)]
3142 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3143 #[doc(hidden)]
3144 pub struct IDispatcherQueueTimer(::windows::runtime::IInspectable);
3145 unsafe impl ::windows::runtime::Interface for IDispatcherQueueTimer {
3146     type Vtable = IDispatcherQueueTimer_abi;
3147     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1609218845, 41756, 18215, [177, 172, 55, 69, 70, 73, 213, 106]);
3148 }
3149 #[repr(C)]
3150 #[doc(hidden)]
3151 pub struct IDispatcherQueueTimer_abi(
3152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3158     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3159     #[cfg(not(feature = "Foundation"))] usize,
3160     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3161     #[cfg(not(feature = "Foundation"))] usize,
3162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3167     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3168     #[cfg(not(feature = "Foundation"))] usize,
3169     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3170     #[cfg(not(feature = "Foundation"))] usize,
3171 );
3172 #[repr(transparent)]
3173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3174 #[doc(hidden)]
3175 pub struct IFolderLauncherOptions(::windows::runtime::IInspectable);
3176 unsafe impl ::windows::runtime::Interface for IFolderLauncherOptions {
3177     type Vtable = IFolderLauncherOptions_abi;
3178     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3146891901, 27527, 17194, [189, 4, 119, 108, 111, 95, 178, 171]);
3179 }
3180 #[repr(C)]
3181 #[doc(hidden)]
3182 pub struct IFolderLauncherOptions_abi(
3183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3189     #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3190     #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage")))] usize,
3191 );
3192 #[repr(transparent)]
3193 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3194 #[doc(hidden)]
3195 pub struct IKnownUserPropertiesStatics(::windows::runtime::IInspectable);
3196 unsafe impl ::windows::runtime::Interface for IKnownUserPropertiesStatics {
3197     type Vtable = IKnownUserPropertiesStatics_abi;
3198     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2002096410, 28869, 18661, [182, 55, 91, 163, 68, 30, 78, 228]);
3199 }
3200 #[repr(C)]
3201 #[doc(hidden)]
3202 pub struct IKnownUserPropertiesStatics_abi(
3203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3213     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3214     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3217     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3218 );
3219 #[repr(transparent)]
3220 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3221 #[doc(hidden)]
3222 pub struct IKnownUserPropertiesStatics2(::windows::runtime::IInspectable);
3223 unsafe impl ::windows::runtime::Interface for IKnownUserPropertiesStatics2 {
3224     type Vtable = IKnownUserPropertiesStatics2_abi;
3225     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1531250562, 63008, 22398, [177, 179, 221, 86, 100, 77, 121, 177]);
3226 }
3227 #[repr(C)]
3228 #[doc(hidden)]
3229 pub struct IKnownUserPropertiesStatics2_abi(
3230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3237 );
3238 #[repr(transparent)]
3239 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3240 #[doc(hidden)]
3241 pub struct ILaunchUriResult(::windows::runtime::IInspectable);
3242 unsafe impl ::windows::runtime::Interface for ILaunchUriResult {
3243     type Vtable = ILaunchUriResult_abi;
3244     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3962022111, 63189, 17866, [145, 58, 112, 164, 12, 92, 130, 33]);
3245 }
3246 #[repr(C)]
3247 #[doc(hidden)]
3248 pub struct ILaunchUriResult_abi(
3249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut LaunchUriStatus) -> ::windows::runtime::HRESULT,
3256     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3257     #[cfg(not(feature = "Foundation_Collections"))] usize,
3258 );
3259 #[repr(transparent)]
3260 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3261 #[doc(hidden)]
3262 pub struct ILauncherOptions(::windows::runtime::IInspectable);
3263 unsafe impl ::windows::runtime::Interface for ILauncherOptions {
3264     type Vtable = ILauncherOptions_abi;
3265     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3136954840, 45169, 19672, [133, 62, 52, 18, 3, 229, 87, 211]);
3266 }
3267 #[repr(C)]
3268 #[doc(hidden)]
3269 pub struct ILauncherOptions_abi(
3270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3285     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3286     #[cfg(not(feature = "Foundation"))] usize,
3287     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3288     #[cfg(not(feature = "Foundation"))] usize,
3289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3291 );
3292 #[repr(transparent)]
3293 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3294 #[doc(hidden)]
3295 pub struct ILauncherOptions2(::windows::runtime::IInspectable);
3296 unsafe impl ::windows::runtime::Interface for ILauncherOptions2 {
3297     type Vtable = ILauncherOptions2_abi;
3298     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1000378036, 28224, 19918, [161, 163, 47, 83, 149, 10, 251, 73]);
3299 }
3300 #[repr(C)]
3301 #[doc(hidden)]
3302 pub struct ILauncherOptions2_abi(
3303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3311     #[cfg(feature = "Storage_Search")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3312     #[cfg(not(feature = "Storage_Search"))] usize,
3313     #[cfg(feature = "Storage_Search")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3314     #[cfg(not(feature = "Storage_Search"))] usize,
3315 );
3316 #[repr(transparent)]
3317 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3318 #[doc(hidden)]
3319 pub struct ILauncherOptions3(::windows::runtime::IInspectable);
3320 unsafe impl ::windows::runtime::Interface for ILauncherOptions3 {
3321     type Vtable = ILauncherOptions3_abi;
3322     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4034332245, 19299, 20026, [145, 7, 78, 104, 120, 65, 146, 58]);
3323 }
3324 #[repr(C)]
3325 #[doc(hidden)]
3326 pub struct ILauncherOptions3_abi(
3327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3335 );
3336 #[repr(transparent)]
3337 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3338 #[doc(hidden)]
3339 pub struct ILauncherOptions4(::windows::runtime::IInspectable);
3340 unsafe impl ::windows::runtime::Interface for ILauncherOptions4 {
3341     type Vtable = ILauncherOptions4_abi;
3342     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4017082638, 59131, 18452, [164, 78, 87, 232, 185, 217, 160, 27]);
3343 }
3344 #[repr(C)]
3345 #[doc(hidden)]
3346 pub struct ILauncherOptions4_abi(
3347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3355 );
3356 #[repr(transparent)]
3357 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3358 #[doc(hidden)]
3359 pub struct ILauncherStatics(::windows::runtime::IInspectable);
3360 unsafe impl ::windows::runtime::Interface for ILauncherStatics {
3361     type Vtable = ILauncherStatics_abi;
3362     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(661737923, 40510, 17142, [145, 164, 93, 253, 235, 35, 36, 81]);
3363 }
3364 #[repr(C)]
3365 #[doc(hidden)]
3366 pub struct ILauncherStatics_abi(
3367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3373     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3374     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
3375     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3376     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
3377     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3378     #[cfg(not(feature = "Foundation"))] usize,
3379     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3380     #[cfg(not(feature = "Foundation"))] usize,
3381 );
3382 #[repr(transparent)]
3383 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3384 #[doc(hidden)]
3385 pub struct ILauncherStatics2(::windows::runtime::IInspectable);
3386 unsafe impl ::windows::runtime::Interface for ILauncherStatics2 {
3387     type Vtable = ILauncherStatics2_abi;
3388     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1505374139, 9419, 19458, [164, 196, 130, 148, 86, 157, 84, 241]);
3389 }
3390 #[repr(C)]
3391 #[doc(hidden)]
3392 pub struct ILauncherStatics2_abi(
3393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3399     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3400     #[cfg(not(feature = "Foundation"))] usize,
3401     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, inputdata: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3402     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3403     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, inputdata: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3404     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3405     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, launchquerysupporttype: LaunchQuerySupportType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3406     #[cfg(not(feature = "Foundation"))] usize,
3407     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, launchquerysupporttype: LaunchQuerySupportType, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3408     #[cfg(not(feature = "Foundation"))] usize,
3409     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3410     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
3411     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3412     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
3413     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scheme: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3414     #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections")))] usize,
3415     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, scheme: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, launchquerysupporttype: LaunchQuerySupportType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3416     #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections")))] usize,
3417     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, extension: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3418     #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections")))] usize,
3419 );
3420 #[repr(transparent)]
3421 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3422 #[doc(hidden)]
3423 pub struct ILauncherStatics3(::windows::runtime::IInspectable);
3424 unsafe impl ::windows::runtime::Interface for ILauncherStatics3 {
3425     type Vtable = ILauncherStatics3_abi;
3426     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(591552936, 40371, 18051, [170, 66, 220, 111, 81, 211, 56, 71]);
3427 }
3428 #[repr(C)]
3429 #[doc(hidden)]
3430 pub struct ILauncherStatics3_abi(
3431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3437     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folder: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3438     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
3439     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folder: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3440     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
3441 );
3442 #[repr(transparent)]
3443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3444 #[doc(hidden)]
3445 pub struct ILauncherStatics4(::windows::runtime::IInspectable);
3446 unsafe impl ::windows::runtime::Interface for ILauncherStatics4 {
3447     type Vtable = ILauncherStatics4_abi;
3448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3119284639, 46501, 16838, [179, 179, 221, 27, 49, 120, 188, 242]);
3449 }
3450 #[repr(C)]
3451 #[doc(hidden)]
3452 pub struct ILauncherStatics4_abi(
3453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3459     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3460     #[cfg(not(feature = "Foundation"))] usize,
3461     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3462     #[cfg(not(feature = "Foundation"))] usize,
3463     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3464     #[cfg(not(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections")))] usize,
3465     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3466     #[cfg(not(feature = "Foundation"))] usize,
3467     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3468     #[cfg(not(feature = "Foundation"))] usize,
3469     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, inputdata: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3470     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3471     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3472     #[cfg(not(feature = "Foundation"))] usize,
3473     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, inputdata: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3474     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3475 );
3476 #[repr(transparent)]
3477 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3478 #[doc(hidden)]
3479 pub struct ILauncherStatics5(::windows::runtime::IInspectable);
3480 unsafe impl ::windows::runtime::Interface for ILauncherStatics5 {
3481     type Vtable = ILauncherStatics5_abi;
3482     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1529147268, 55445, 24554, [145, 83, 26, 196, 154, 237, 155, 169]);
3483 }
3484 #[repr(C)]
3485 #[doc(hidden)]
3486 pub struct ILauncherStatics5_abi(
3487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3493     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3494     #[cfg(not(feature = "Foundation"))] usize,
3495     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3496     #[cfg(not(feature = "Foundation"))] usize,
3497     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3498     #[cfg(not(feature = "Foundation"))] usize,
3499     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3500     #[cfg(not(feature = "Foundation"))] usize,
3501 );
3502 #[repr(transparent)]
3503 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3504 #[doc(hidden)]
3505 pub struct ILauncherUIOptions(::windows::runtime::IInspectable);
3506 unsafe impl ::windows::runtime::Interface for ILauncherUIOptions {
3507     type Vtable = ILauncherUIOptions_abi;
3508     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(455465582, 35494, 16873, [130, 81, 65, 101, 245, 152, 95, 73]);
3509 }
3510 #[repr(C)]
3511 #[doc(hidden)]
3512 pub struct ILauncherUIOptions_abi(
3513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3519     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3520     #[cfg(not(feature = "Foundation"))] usize,
3521     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3522     #[cfg(not(feature = "Foundation"))] usize,
3523     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3524     #[cfg(not(feature = "Foundation"))] usize,
3525     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3526     #[cfg(not(feature = "Foundation"))] usize,
3527     #[cfg(feature = "UI_Popups")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::UI::Popups::Placement) -> ::windows::runtime::HRESULT,
3528     #[cfg(not(feature = "UI_Popups"))] usize,
3529     #[cfg(feature = "UI_Popups")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::UI::Popups::Placement) -> ::windows::runtime::HRESULT,
3530     #[cfg(not(feature = "UI_Popups"))] usize,
3531 );
3532 #[repr(transparent)]
3533 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3534 pub struct ILauncherViewOptions(::windows::runtime::IInspectable);
3535 unsafe impl ::windows::runtime::Interface for ILauncherViewOptions {
3536     type Vtable = ILauncherViewOptions_abi;
3537     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2325424625, 31911, 18910, [155, 211, 60, 91, 113, 132, 246, 22]);
3538 }
3539 impl ILauncherViewOptions {
3540     #[cfg(feature = "UI_ViewManagement")]
DesiredRemainingView(&self) -> ::windows::runtime::Result<super::UI::ViewManagement::ViewSizePreference>3541     pub fn DesiredRemainingView(&self) -> ::windows::runtime::Result<super::UI::ViewManagement::ViewSizePreference> {
3542         let this = self;
3543         unsafe {
3544             let mut result__: super::UI::ViewManagement::ViewSizePreference = ::std::mem::zeroed();
3545             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::UI::ViewManagement::ViewSizePreference>(result__)
3546         }
3547     }
3548     #[cfg(feature = "UI_ViewManagement")]
SetDesiredRemainingView(&self, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::Result<()>3549     pub fn SetDesiredRemainingView(&self, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::Result<()> {
3550         let this = self;
3551         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3552     }
3553 }
3554 unsafe impl ::windows::runtime::RuntimeType for ILauncherViewOptions {
3555     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{8a9b29f1-7ca7-49de-9bd3-3c5b7184f616}");
3556 }
3557 impl ::std::convert::From<ILauncherViewOptions> for ::windows::runtime::IUnknown {
from(value: ILauncherViewOptions) -> Self3558     fn from(value: ILauncherViewOptions) -> Self {
3559         unsafe { ::std::mem::transmute(value) }
3560     }
3561 }
3562 impl ::std::convert::From<&ILauncherViewOptions> for ::windows::runtime::IUnknown {
from(value: &ILauncherViewOptions) -> Self3563     fn from(value: &ILauncherViewOptions) -> Self {
3564         ::std::convert::From::from(::std::clone::Clone::clone(value))
3565     }
3566 }
3567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ILauncherViewOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3569         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3570     }
3571 }
3572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ILauncherViewOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3574         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3575     }
3576 }
3577 impl ::std::convert::From<ILauncherViewOptions> for ::windows::runtime::IInspectable {
from(value: ILauncherViewOptions) -> Self3578     fn from(value: ILauncherViewOptions) -> Self {
3579         value.0
3580     }
3581 }
3582 impl ::std::convert::From<&ILauncherViewOptions> for ::windows::runtime::IInspectable {
from(value: &ILauncherViewOptions) -> Self3583     fn from(value: &ILauncherViewOptions) -> Self {
3584         value.0.clone()
3585     }
3586 }
3587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ILauncherViewOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3589         ::windows::runtime::Param::Owned(self.0)
3590     }
3591 }
3592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ILauncherViewOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3594         ::windows::runtime::Param::Borrowed(&self.0)
3595     }
3596 }
3597 #[repr(C)]
3598 #[doc(hidden)]
3599 pub struct ILauncherViewOptions_abi(
3600     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3601     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3606     #[cfg(feature = "UI_ViewManagement")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::HRESULT,
3607     #[cfg(not(feature = "UI_ViewManagement"))] usize,
3608     #[cfg(feature = "UI_ViewManagement")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::HRESULT,
3609     #[cfg(not(feature = "UI_ViewManagement"))] usize,
3610 );
3611 #[repr(transparent)]
3612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3613 #[doc(hidden)]
3614 pub struct IMemoryManagerStatics(::windows::runtime::IInspectable);
3615 unsafe impl ::windows::runtime::Interface for IMemoryManagerStatics {
3616     type Vtable = IMemoryManagerStatics_abi;
3617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1550591900, 55242, 18297, [145, 136, 64, 87, 33, 156, 230, 76]);
3618 }
3619 #[repr(C)]
3620 #[doc(hidden)]
3621 pub struct IMemoryManagerStatics_abi(
3622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppMemoryUsageLevel) -> ::windows::runtime::HRESULT,
3631     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3632     #[cfg(not(feature = "Foundation"))] usize,
3633     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3634     #[cfg(not(feature = "Foundation"))] usize,
3635     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3636     #[cfg(not(feature = "Foundation"))] usize,
3637     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3638     #[cfg(not(feature = "Foundation"))] usize,
3639     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3640     #[cfg(not(feature = "Foundation"))] usize,
3641     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3642     #[cfg(not(feature = "Foundation"))] usize,
3643 );
3644 #[repr(transparent)]
3645 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3646 #[doc(hidden)]
3647 pub struct IMemoryManagerStatics2(::windows::runtime::IInspectable);
3648 unsafe impl ::windows::runtime::Interface for IMemoryManagerStatics2 {
3649     type Vtable = IMemoryManagerStatics2_abi;
3650     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1861104927, 28002, 16959, [148, 121, 176, 31, 156, 159, 118, 105]);
3651 }
3652 #[repr(C)]
3653 #[doc(hidden)]
3654 pub struct IMemoryManagerStatics2_abi(
3655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3658     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3659     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3663 );
3664 #[repr(transparent)]
3665 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3666 #[doc(hidden)]
3667 pub struct IMemoryManagerStatics3(::windows::runtime::IInspectable);
3668 unsafe impl ::windows::runtime::Interface for IMemoryManagerStatics3 {
3669     type Vtable = IMemoryManagerStatics3_abi;
3670     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(345725390, 37549, 20021, [137, 235, 80, 223, 180, 192, 217, 28]);
3671 }
3672 #[repr(C)]
3673 #[doc(hidden)]
3674 pub struct IMemoryManagerStatics3_abi(
3675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u64, result__: *mut bool) -> ::windows::runtime::HRESULT,
3682 );
3683 #[repr(transparent)]
3684 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3685 #[doc(hidden)]
3686 pub struct IMemoryManagerStatics4(::windows::runtime::IInspectable);
3687 unsafe impl ::windows::runtime::Interface for IMemoryManagerStatics4 {
3688     type Vtable = IMemoryManagerStatics4_abi;
3689     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316205608, 59470, 18566, [138, 13, 68, 179, 25, 14, 59, 114]);
3690 }
3691 #[repr(C)]
3692 #[doc(hidden)]
3693 pub struct IMemoryManagerStatics4_abi(
3694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3701 );
3702 #[repr(transparent)]
3703 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3704 #[doc(hidden)]
3705 pub struct IProcessLauncherOptions(::windows::runtime::IInspectable);
3706 unsafe impl ::windows::runtime::Interface for IProcessLauncherOptions {
3707     type Vtable = IProcessLauncherOptions_abi;
3708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(813742543, 62532, 19075, [190, 175, 165, 73, 160, 243, 34, 156]);
3709 }
3710 #[repr(C)]
3711 #[doc(hidden)]
3712 pub struct IProcessLauncherOptions_abi(
3713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3719     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3720     #[cfg(not(feature = "Storage_Streams"))] usize,
3721     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3722     #[cfg(not(feature = "Storage_Streams"))] usize,
3723     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3724     #[cfg(not(feature = "Storage_Streams"))] usize,
3725     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3726     #[cfg(not(feature = "Storage_Streams"))] usize,
3727     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3728     #[cfg(not(feature = "Storage_Streams"))] usize,
3729     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3730     #[cfg(not(feature = "Storage_Streams"))] usize,
3731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3733 );
3734 #[repr(transparent)]
3735 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3736 #[doc(hidden)]
3737 pub struct IProcessLauncherResult(::windows::runtime::IInspectable);
3738 unsafe impl ::windows::runtime::Interface for IProcessLauncherResult {
3739     type Vtable = IProcessLauncherResult_abi;
3740     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1414302004, 34520, 18833, [142, 117, 236, 232, 164, 59, 107, 109]);
3741 }
3742 #[repr(C)]
3743 #[doc(hidden)]
3744 pub struct IProcessLauncherResult_abi(
3745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3752 );
3753 #[repr(transparent)]
3754 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3755 #[doc(hidden)]
3756 pub struct IProcessLauncherStatics(::windows::runtime::IInspectable);
3757 unsafe impl ::windows::runtime::Interface for IProcessLauncherStatics {
3758     type Vtable = IProcessLauncherStatics_abi;
3759     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(866871015, 11534, 17547, [166, 160, 193, 60, 56, 54, 208, 156]);
3760 }
3761 #[repr(C)]
3762 #[doc(hidden)]
3763 pub struct IProcessLauncherStatics_abi(
3764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3770     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, args: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3771     #[cfg(not(feature = "Foundation"))] usize,
3772     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, args: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3773     #[cfg(not(feature = "Foundation"))] usize,
3774 );
3775 #[repr(transparent)]
3776 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3777 #[doc(hidden)]
3778 pub struct IProcessMemoryReport(::windows::runtime::IInspectable);
3779 unsafe impl ::windows::runtime::Interface for IProcessMemoryReport {
3780     type Vtable = IProcessMemoryReport_abi;
3781     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(141755816, 39792, 18306, [135, 65, 58, 152, 43, 108, 229, 228]);
3782 }
3783 #[repr(C)]
3784 #[doc(hidden)]
3785 pub struct IProcessMemoryReport_abi(
3786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3794 );
3795 #[repr(transparent)]
3796 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3797 #[doc(hidden)]
3798 pub struct IProtocolForResultsOperation(::windows::runtime::IInspectable);
3799 unsafe impl ::windows::runtime::Interface for IProtocolForResultsOperation {
3800     type Vtable = IProtocolForResultsOperation_abi;
3801     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3582011706, 28137, 19752, [147, 120, 248, 103, 130, 225, 130, 187]);
3802 }
3803 #[repr(C)]
3804 #[doc(hidden)]
3805 pub struct IProtocolForResultsOperation_abi(
3806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3812     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, data: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3813     #[cfg(not(feature = "Foundation_Collections"))] usize,
3814 );
3815 #[repr(transparent)]
3816 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3817 #[doc(hidden)]
3818 pub struct IRemoteLauncherOptions(::windows::runtime::IInspectable);
3819 unsafe impl ::windows::runtime::Interface for IRemoteLauncherOptions {
3820     type Vtable = IRemoteLauncherOptions_abi;
3821     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2654611336, 10385, 19679, [162, 214, 157, 255, 125, 2, 230, 147]);
3822 }
3823 #[repr(C)]
3824 #[doc(hidden)]
3825 pub struct IRemoteLauncherOptions_abi(
3826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3832     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3833     #[cfg(not(feature = "Foundation"))] usize,
3834     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3835     #[cfg(not(feature = "Foundation"))] usize,
3836     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3837     #[cfg(not(feature = "Foundation_Collections"))] usize,
3838 );
3839 #[repr(transparent)]
3840 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3841 #[doc(hidden)]
3842 pub struct IRemoteLauncherStatics(::windows::runtime::IInspectable);
3843 unsafe impl ::windows::runtime::Interface for IRemoteLauncherStatics {
3844     type Vtable = IRemoteLauncherStatics_abi;
3845     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3621485203, 41740, 18615, [159, 33, 5, 16, 38, 164, 229, 23]);
3846 }
3847 #[repr(C)]
3848 #[doc(hidden)]
3849 pub struct IRemoteLauncherStatics_abi(
3850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3856     #[cfg(all(feature = "Foundation", feature = "System_RemoteSystems"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemconnectionrequest: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3857     #[cfg(not(all(feature = "Foundation", feature = "System_RemoteSystems")))] usize,
3858     #[cfg(all(feature = "Foundation", feature = "System_RemoteSystems"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemconnectionrequest: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3859     #[cfg(not(all(feature = "Foundation", feature = "System_RemoteSystems")))] usize,
3860     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System_RemoteSystems"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, remotesystemconnectionrequest: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr, inputdata: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3861     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System_RemoteSystems")))] usize,
3862 );
3863 #[repr(transparent)]
3864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3865 #[doc(hidden)]
3866 pub struct IShutdownManagerStatics(::windows::runtime::IInspectable);
3867 unsafe impl ::windows::runtime::Interface for IShutdownManagerStatics {
3868     type Vtable = IShutdownManagerStatics_abi;
3869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1927432173, 56667, 19820, [177, 208, 197, 122, 123, 187, 95, 148]);
3870 }
3871 #[repr(C)]
3872 #[doc(hidden)]
3873 pub struct IShutdownManagerStatics_abi(
3874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3880     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, shutdownkind: ShutdownKind, timeout: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3881     #[cfg(not(feature = "Foundation"))] usize,
3882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3883 );
3884 #[repr(transparent)]
3885 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3886 #[doc(hidden)]
3887 pub struct IShutdownManagerStatics2(::windows::runtime::IInspectable);
3888 unsafe impl ::windows::runtime::Interface for IShutdownManagerStatics2 {
3889     type Vtable = IShutdownManagerStatics2_abi;
3890     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(258580527, 39988, 17351, [168, 195, 112, 179, 10, 127, 117, 4]);
3891 }
3892 #[repr(C)]
3893 #[doc(hidden)]
3894 pub struct IShutdownManagerStatics2_abi(
3895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powerstate: PowerState, result__: *mut bool) -> ::windows::runtime::HRESULT,
3902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powerstate: PowerState) -> ::windows::runtime::HRESULT,
3903     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, powerstate: PowerState, wakeupafter: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3904     #[cfg(not(feature = "Foundation"))] usize,
3905 );
3906 #[repr(transparent)]
3907 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3908 #[doc(hidden)]
3909 pub struct ITimeZoneSettingsStatics(::windows::runtime::IInspectable);
3910 unsafe impl ::windows::runtime::Interface for ITimeZoneSettingsStatics {
3911     type Vtable = ITimeZoneSettingsStatics_abi;
3912     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2604346346, 41217, 16814, [159, 189, 2, 135, 40, 186, 183, 61]);
3913 }
3914 #[repr(C)]
3915 #[doc(hidden)]
3916 pub struct ITimeZoneSettingsStatics_abi(
3917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3924     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3925     #[cfg(not(feature = "Foundation_Collections"))] usize,
3926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timezonedisplayname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3928 );
3929 #[repr(transparent)]
3930 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3931 #[doc(hidden)]
3932 pub struct ITimeZoneSettingsStatics2(::windows::runtime::IInspectable);
3933 unsafe impl ::windows::runtime::Interface for ITimeZoneSettingsStatics2 {
3934     type Vtable = ITimeZoneSettingsStatics2_abi;
3935     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1432096184, 14760, 18938, [180, 246, 162, 199, 252, 40, 66, 236]);
3936 }
3937 #[repr(C)]
3938 #[doc(hidden)]
3939 pub struct ITimeZoneSettingsStatics2_abi(
3940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3946     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timeout: super::Foundation::TimeSpan, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3947     #[cfg(not(feature = "Foundation"))] usize,
3948 );
3949 #[repr(transparent)]
3950 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3951 #[doc(hidden)]
3952 pub struct IUser(::windows::runtime::IInspectable);
3953 unsafe impl ::windows::runtime::Interface for IUser {
3954     type Vtable = IUser_abi;
3955     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3751421638, 59206, 19405, [181, 212, 18, 1, 3, 196, 32, 155]);
3956 }
3957 #[repr(C)]
3958 #[doc(hidden)]
3959 pub struct IUser_abi(
3960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UserAuthenticationStatus) -> ::windows::runtime::HRESULT,
3968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UserType) -> ::windows::runtime::HRESULT,
3969     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3970     #[cfg(not(feature = "Foundation"))] usize,
3971     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, values: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3972     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3973     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredsize: UserPictureSize, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3974     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
3975 );
3976 #[repr(transparent)]
3977 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3978 #[doc(hidden)]
3979 pub struct IUser2(::windows::runtime::IInspectable);
3980 unsafe impl ::windows::runtime::Interface for IUser2 {
3981     type Vtable = IUser2_abi;
3982     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2562348584, 42723, 20878, [137, 217, 211, 178, 177, 153, 26, 16]);
3983 }
3984 #[repr(C)]
3985 #[doc(hidden)]
3986 pub struct IUser2_abi(
3987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3993     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, consentgroup: UserAgeConsentGroup, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3994     #[cfg(not(feature = "Foundation"))] usize,
3995 );
3996 #[repr(transparent)]
3997 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3998 #[doc(hidden)]
3999 pub struct IUserAuthenticationStatusChangeDeferral(::windows::runtime::IInspectable);
4000 unsafe impl ::windows::runtime::Interface for IUserAuthenticationStatusChangeDeferral {
4001     type Vtable = IUserAuthenticationStatusChangeDeferral_abi;
4002     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2293601640, 47920, 17147, [162, 112, 233, 144, 46, 64, 239, 167]);
4003 }
4004 #[repr(C)]
4005 #[doc(hidden)]
4006 pub struct IUserAuthenticationStatusChangeDeferral_abi(
4007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4014 );
4015 #[repr(transparent)]
4016 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4017 #[doc(hidden)]
4018 pub struct IUserAuthenticationStatusChangingEventArgs(::windows::runtime::IInspectable);
4019 unsafe impl ::windows::runtime::Interface for IUserAuthenticationStatusChangingEventArgs {
4020     type Vtable = IUserAuthenticationStatusChangingEventArgs_abi;
4021     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2349010728, 42769, 19486, [171, 72, 4, 23, 156, 21, 147, 143]);
4022 }
4023 #[repr(C)]
4024 #[doc(hidden)]
4025 pub struct IUserAuthenticationStatusChangingEventArgs_abi(
4026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UserAuthenticationStatus) -> ::windows::runtime::HRESULT,
4035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UserAuthenticationStatus) -> ::windows::runtime::HRESULT,
4036 );
4037 #[repr(transparent)]
4038 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4039 #[doc(hidden)]
4040 pub struct IUserChangedEventArgs(::windows::runtime::IInspectable);
4041 unsafe impl ::windows::runtime::Interface for IUserChangedEventArgs {
4042     type Vtable = IUserChangedEventArgs_abi;
4043     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(140794332, 6342, 18651, [188, 153, 114, 79, 185, 32, 60, 204]);
4044 }
4045 #[repr(C)]
4046 #[doc(hidden)]
4047 pub struct IUserChangedEventArgs_abi(
4048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4055 );
4056 #[repr(transparent)]
4057 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4058 #[doc(hidden)]
4059 pub struct IUserChangedEventArgs2(::windows::runtime::IInspectable);
4060 unsafe impl ::windows::runtime::Interface for IUserChangedEventArgs2 {
4061     type Vtable = IUserChangedEventArgs2_abi;
4062     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1798097732, 28417, 22028, [151, 173, 252, 127, 50, 236, 88, 31]);
4063 }
4064 #[repr(C)]
4065 #[doc(hidden)]
4066 pub struct IUserChangedEventArgs2_abi(
4067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4073     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4074     #[cfg(not(feature = "Foundation_Collections"))] usize,
4075 );
4076 #[repr(transparent)]
4077 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4078 #[doc(hidden)]
4079 pub struct IUserDeviceAssociationChangedEventArgs(::windows::runtime::IInspectable);
4080 unsafe impl ::windows::runtime::Interface for IUserDeviceAssociationChangedEventArgs {
4081     type Vtable = IUserDeviceAssociationChangedEventArgs_abi;
4082     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3172953964, 47965, 19835, [165, 240, 200, 205, 17, 163, 141, 66]);
4083 }
4084 #[repr(C)]
4085 #[doc(hidden)]
4086 pub struct IUserDeviceAssociationChangedEventArgs_abi(
4087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4089     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4096 );
4097 #[repr(transparent)]
4098 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4099 #[doc(hidden)]
4100 pub struct IUserDeviceAssociationStatics(::windows::runtime::IInspectable);
4101 unsafe impl ::windows::runtime::Interface for IUserDeviceAssociationStatics {
4102     type Vtable = IUserDeviceAssociationStatics_abi;
4103     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2118721044, 63578, 19463, [141, 169, 127, 227, 208, 84, 35, 67]);
4104 }
4105 #[repr(C)]
4106 #[doc(hidden)]
4107 pub struct IUserDeviceAssociationStatics_abi(
4108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4115     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4116     #[cfg(not(feature = "Foundation"))] usize,
4117     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4118     #[cfg(not(feature = "Foundation"))] usize,
4119 );
4120 #[repr(transparent)]
4121 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4122 #[doc(hidden)]
4123 pub struct IUserPicker(::windows::runtime::IInspectable);
4124 unsafe impl ::windows::runtime::Interface for IUserPicker {
4125     type Vtable = IUserPicker_abi;
4126     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2102689800, 61923, 19052, [141, 220, 169, 187, 15, 72, 138, 237]);
4127 }
4128 #[repr(C)]
4129 #[doc(hidden)]
4130 pub struct IUserPicker_abi(
4131     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
4138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
4139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4141     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4142     #[cfg(not(feature = "Foundation"))] usize,
4143 );
4144 #[repr(transparent)]
4145 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4146 #[doc(hidden)]
4147 pub struct IUserPickerStatics(::windows::runtime::IInspectable);
4148 unsafe impl ::windows::runtime::Interface for IUserPickerStatics {
4149     type Vtable = IUserPickerStatics_abi;
4150     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3727855836, 32371, 19958, [161, 174, 77, 126, 202, 130, 180, 13]);
4151 }
4152 #[repr(C)]
4153 #[doc(hidden)]
4154 pub struct IUserPickerStatics_abi(
4155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
4162 );
4163 #[repr(transparent)]
4164 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4165 #[doc(hidden)]
4166 pub struct IUserStatics(::windows::runtime::IInspectable);
4167 unsafe impl ::windows::runtime::Interface for IUserStatics {
4168     type Vtable = IUserStatics_abi;
4169     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(358527547, 9258, 17888, [162, 233, 49, 113, 252, 106, 127, 221]);
4170 }
4171 #[repr(C)]
4172 #[doc(hidden)]
4173 pub struct IUserStatics_abi(
4174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4181     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4182     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
4183     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: UserType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4184     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
4185     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: UserType, status: UserAuthenticationStatus, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4186     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
4187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonroamableid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4188 );
4189 #[repr(transparent)]
4190 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4191 #[doc(hidden)]
4192 pub struct IUserStatics2(::windows::runtime::IInspectable);
4193 unsafe impl ::windows::runtime::Interface for IUserStatics2 {
4194     type Vtable = IUserStatics2_abi;
4195     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1956871697, 11957, 17543, [176, 213, 44, 103, 144, 224, 19, 233]);
4196 }
4197 #[repr(C)]
4198 #[doc(hidden)]
4199 pub struct IUserStatics2_abi(
4200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4207 );
4208 #[repr(transparent)]
4209 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4210 #[doc(hidden)]
4211 pub struct IUserWatcher(::windows::runtime::IInspectable);
4212 unsafe impl ::windows::runtime::Interface for IUserWatcher {
4213     type Vtable = IUserWatcher_abi;
4214     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(358527547, 9258, 17888, [162, 233, 49, 113, 252, 106, 127, 187]);
4215 }
4216 #[repr(C)]
4217 #[doc(hidden)]
4218 pub struct IUserWatcher_abi(
4219     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4220     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4221     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4222     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UserWatcherStatus) -> ::windows::runtime::HRESULT,
4226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4228     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4229     #[cfg(not(feature = "Foundation"))] usize,
4230     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4231     #[cfg(not(feature = "Foundation"))] usize,
4232     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4233     #[cfg(not(feature = "Foundation"))] usize,
4234     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4235     #[cfg(not(feature = "Foundation"))] usize,
4236     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4237     #[cfg(not(feature = "Foundation"))] usize,
4238     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4239     #[cfg(not(feature = "Foundation"))] usize,
4240     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4241     #[cfg(not(feature = "Foundation"))] usize,
4242     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4243     #[cfg(not(feature = "Foundation"))] usize,
4244     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4245     #[cfg(not(feature = "Foundation"))] usize,
4246     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4247     #[cfg(not(feature = "Foundation"))] usize,
4248     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4249     #[cfg(not(feature = "Foundation"))] usize,
4250     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4251     #[cfg(not(feature = "Foundation"))] usize,
4252     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4253     #[cfg(not(feature = "Foundation"))] usize,
4254     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
4255     #[cfg(not(feature = "Foundation"))] usize,
4256 );
4257 pub struct KnownUserProperties {}
4258 impl KnownUserProperties {
DisplayName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4259     pub fn DisplayName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4260         Self::IKnownUserPropertiesStatics(|this| unsafe {
4261             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4262             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4263         })
4264     }
FirstName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4265     pub fn FirstName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4266         Self::IKnownUserPropertiesStatics(|this| unsafe {
4267             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4268             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4269         })
4270     }
LastName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4271     pub fn LastName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4272         Self::IKnownUserPropertiesStatics(|this| unsafe {
4273             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4274             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4275         })
4276     }
ProviderName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4277     pub fn ProviderName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4278         Self::IKnownUserPropertiesStatics(|this| unsafe {
4279             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4280             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4281         })
4282     }
AccountName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4283     pub fn AccountName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4284         Self::IKnownUserPropertiesStatics(|this| unsafe {
4285             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4286             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4287         })
4288     }
GuestHost() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4289     pub fn GuestHost() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4290         Self::IKnownUserPropertiesStatics(|this| unsafe {
4291             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4292             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4293         })
4294     }
PrincipalName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4295     pub fn PrincipalName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4296         Self::IKnownUserPropertiesStatics(|this| unsafe {
4297             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4298             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4299         })
4300     }
DomainName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4301     pub fn DomainName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4302         Self::IKnownUserPropertiesStatics(|this| unsafe {
4303             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4304             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4305         })
4306     }
SessionInitiationProtocolUri() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4307     pub fn SessionInitiationProtocolUri() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4308         Self::IKnownUserPropertiesStatics(|this| unsafe {
4309             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4310             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4311         })
4312     }
AgeEnforcementRegion() -> ::windows::runtime::Result<::windows::runtime::HSTRING>4313     pub fn AgeEnforcementRegion() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4314         Self::IKnownUserPropertiesStatics2(|this| unsafe {
4315             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4316             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4317         })
4318     }
IKnownUserPropertiesStatics<R, F: FnOnce(&IKnownUserPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4319     pub fn IKnownUserPropertiesStatics<R, F: FnOnce(&IKnownUserPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4320         static mut SHARED: ::windows::runtime::FactoryCache<KnownUserProperties, IKnownUserPropertiesStatics> = ::windows::runtime::FactoryCache::new();
4321         unsafe { SHARED.call(callback) }
4322     }
IKnownUserPropertiesStatics2<R, F: FnOnce(&IKnownUserPropertiesStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4323     pub fn IKnownUserPropertiesStatics2<R, F: FnOnce(&IKnownUserPropertiesStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4324         static mut SHARED: ::windows::runtime::FactoryCache<KnownUserProperties, IKnownUserPropertiesStatics2> = ::windows::runtime::FactoryCache::new();
4325         unsafe { SHARED.call(callback) }
4326     }
4327 }
4328 impl ::windows::runtime::RuntimeName for KnownUserProperties {
4329     const NAME: &'static str = "Windows.System.KnownUserProperties";
4330 }
4331 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4332 #[repr(transparent)]
4333 pub struct LaunchFileStatus(pub i32);
4334 impl LaunchFileStatus {
4335     pub const Success: LaunchFileStatus = LaunchFileStatus(0i32);
4336     pub const AppUnavailable: LaunchFileStatus = LaunchFileStatus(1i32);
4337     pub const DeniedByPolicy: LaunchFileStatus = LaunchFileStatus(2i32);
4338     pub const FileTypeNotSupported: LaunchFileStatus = LaunchFileStatus(3i32);
4339     pub const Unknown: LaunchFileStatus = LaunchFileStatus(4i32);
4340 }
4341 impl ::std::convert::From<i32> for LaunchFileStatus {
from(value: i32) -> Self4342     fn from(value: i32) -> Self {
4343         Self(value)
4344     }
4345 }
4346 unsafe impl ::windows::runtime::Abi for LaunchFileStatus {
4347     type Abi = Self;
4348     type DefaultType = Self;
4349 }
4350 unsafe impl ::windows::runtime::RuntimeType for LaunchFileStatus {
4351     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.LaunchFileStatus;i4)");
4352 }
4353 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4354 #[repr(transparent)]
4355 pub struct LaunchQuerySupportStatus(pub i32);
4356 impl LaunchQuerySupportStatus {
4357     pub const Available: LaunchQuerySupportStatus = LaunchQuerySupportStatus(0i32);
4358     pub const AppNotInstalled: LaunchQuerySupportStatus = LaunchQuerySupportStatus(1i32);
4359     pub const AppUnavailable: LaunchQuerySupportStatus = LaunchQuerySupportStatus(2i32);
4360     pub const NotSupported: LaunchQuerySupportStatus = LaunchQuerySupportStatus(3i32);
4361     pub const Unknown: LaunchQuerySupportStatus = LaunchQuerySupportStatus(4i32);
4362 }
4363 impl ::std::convert::From<i32> for LaunchQuerySupportStatus {
from(value: i32) -> Self4364     fn from(value: i32) -> Self {
4365         Self(value)
4366     }
4367 }
4368 unsafe impl ::windows::runtime::Abi for LaunchQuerySupportStatus {
4369     type Abi = Self;
4370     type DefaultType = Self;
4371 }
4372 unsafe impl ::windows::runtime::RuntimeType for LaunchQuerySupportStatus {
4373     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.LaunchQuerySupportStatus;i4)");
4374 }
4375 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4376 #[repr(transparent)]
4377 pub struct LaunchQuerySupportType(pub i32);
4378 impl LaunchQuerySupportType {
4379     pub const Uri: LaunchQuerySupportType = LaunchQuerySupportType(0i32);
4380     pub const UriForResults: LaunchQuerySupportType = LaunchQuerySupportType(1i32);
4381 }
4382 impl ::std::convert::From<i32> for LaunchQuerySupportType {
from(value: i32) -> Self4383     fn from(value: i32) -> Self {
4384         Self(value)
4385     }
4386 }
4387 unsafe impl ::windows::runtime::Abi for LaunchQuerySupportType {
4388     type Abi = Self;
4389     type DefaultType = Self;
4390 }
4391 unsafe impl ::windows::runtime::RuntimeType for LaunchQuerySupportType {
4392     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.LaunchQuerySupportType;i4)");
4393 }
4394 #[repr(transparent)]
4395 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4396 pub struct LaunchUriResult(::windows::runtime::IInspectable);
4397 impl LaunchUriResult {
Status(&self) -> ::windows::runtime::Result<LaunchUriStatus>4398     pub fn Status(&self) -> ::windows::runtime::Result<LaunchUriStatus> {
4399         let this = self;
4400         unsafe {
4401             let mut result__: LaunchUriStatus = ::std::mem::zeroed();
4402             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LaunchUriStatus>(result__)
4403         }
4404     }
4405     #[cfg(feature = "Foundation_Collections")]
Result(&self) -> ::windows::runtime::Result<super::Foundation::Collections::ValueSet>4406     pub fn Result(&self) -> ::windows::runtime::Result<super::Foundation::Collections::ValueSet> {
4407         let this = self;
4408         unsafe {
4409             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4410             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::ValueSet>(result__)
4411         }
4412     }
4413 }
4414 unsafe impl ::windows::runtime::RuntimeType for LaunchUriResult {
4415     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.LaunchUriResult;{ec27a8df-f6d5-45ca-913a-70a40c5c8221})");
4416 }
4417 unsafe impl ::windows::runtime::Interface for LaunchUriResult {
4418     type Vtable = ILaunchUriResult_abi;
4419     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3962022111, 63189, 17866, [145, 58, 112, 164, 12, 92, 130, 33]);
4420 }
4421 impl ::windows::runtime::RuntimeName for LaunchUriResult {
4422     const NAME: &'static str = "Windows.System.LaunchUriResult";
4423 }
4424 impl ::std::convert::From<LaunchUriResult> for ::windows::runtime::IUnknown {
from(value: LaunchUriResult) -> Self4425     fn from(value: LaunchUriResult) -> Self {
4426         unsafe { ::std::mem::transmute(value) }
4427     }
4428 }
4429 impl ::std::convert::From<&LaunchUriResult> for ::windows::runtime::IUnknown {
from(value: &LaunchUriResult) -> Self4430     fn from(value: &LaunchUriResult) -> Self {
4431         ::std::convert::From::from(::std::clone::Clone::clone(value))
4432     }
4433 }
4434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LaunchUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4436         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4437     }
4438 }
4439 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LaunchUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4440     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4441         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4442     }
4443 }
4444 impl ::std::convert::From<LaunchUriResult> for ::windows::runtime::IInspectable {
from(value: LaunchUriResult) -> Self4445     fn from(value: LaunchUriResult) -> Self {
4446         value.0
4447     }
4448 }
4449 impl ::std::convert::From<&LaunchUriResult> for ::windows::runtime::IInspectable {
from(value: &LaunchUriResult) -> Self4450     fn from(value: &LaunchUriResult) -> Self {
4451         value.0.clone()
4452     }
4453 }
4454 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LaunchUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4455     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4456         ::windows::runtime::Param::Owned(self.0)
4457     }
4458 }
4459 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LaunchUriResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4460     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4461         ::windows::runtime::Param::Borrowed(&self.0)
4462     }
4463 }
4464 unsafe impl ::std::marker::Send for LaunchUriResult {}
4465 unsafe impl ::std::marker::Sync for LaunchUriResult {}
4466 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4467 #[repr(transparent)]
4468 pub struct LaunchUriStatus(pub i32);
4469 impl LaunchUriStatus {
4470     pub const Success: LaunchUriStatus = LaunchUriStatus(0i32);
4471     pub const AppUnavailable: LaunchUriStatus = LaunchUriStatus(1i32);
4472     pub const ProtocolUnavailable: LaunchUriStatus = LaunchUriStatus(2i32);
4473     pub const Unknown: LaunchUriStatus = LaunchUriStatus(3i32);
4474 }
4475 impl ::std::convert::From<i32> for LaunchUriStatus {
from(value: i32) -> Self4476     fn from(value: i32) -> Self {
4477         Self(value)
4478     }
4479 }
4480 unsafe impl ::windows::runtime::Abi for LaunchUriStatus {
4481     type Abi = Self;
4482     type DefaultType = Self;
4483 }
4484 unsafe impl ::windows::runtime::RuntimeType for LaunchUriStatus {
4485     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.LaunchUriStatus;i4)");
4486 }
4487 pub struct Launcher {}
4488 impl Launcher {
4489     #[cfg(all(feature = "Foundation", feature = "Storage"))]
LaunchFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4490     pub fn LaunchFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4491         Self::ILauncherStatics(|this| unsafe {
4492             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4493             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4494         })
4495     }
4496     #[cfg(all(feature = "Foundation", feature = "Storage"))]
LaunchFileWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>>(file: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4497     pub fn LaunchFileWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>>(file: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4498         Self::ILauncherStatics(|this| unsafe {
4499             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4500             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), file.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4501         })
4502     }
4503     #[cfg(feature = "Foundation")]
LaunchUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4504     pub fn LaunchUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4505         Self::ILauncherStatics(|this| unsafe {
4506             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4507             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), uri.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4508         })
4509     }
4510     #[cfg(feature = "Foundation")]
LaunchUriWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>>(uri: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4511     pub fn LaunchUriWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>>(uri: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4512         Self::ILauncherStatics(|this| unsafe {
4513             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4514             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4515         })
4516     }
4517     #[cfg(feature = "Foundation")]
LaunchUriForResultsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>>(uri: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>>4518     pub fn LaunchUriForResultsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>>(uri: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>> {
4519         Self::ILauncherStatics2(|this| unsafe {
4520             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4521             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriResult>>(result__)
4522         })
4523     }
4524     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
LaunchUriForResultsWithDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(uri: Param0, options: Param1, inputdata: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>>4525     pub fn LaunchUriForResultsWithDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(uri: Param0, options: Param1, inputdata: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>> {
4526         Self::ILauncherStatics2(|this| unsafe {
4527             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4528             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriResult>>(result__)
4529         })
4530     }
4531     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
LaunchUriWithDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(uri: Param0, options: Param1, inputdata: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4532     pub fn LaunchUriWithDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(uri: Param0, options: Param1, inputdata: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4533         Self::ILauncherStatics2(|this| unsafe {
4534             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4535             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4536         })
4537     }
4538     #[cfg(feature = "Foundation")]
QueryUriSupportAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0, launchquerysupporttype: LaunchQuerySupportType) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>4539     pub fn QueryUriSupportAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0, launchquerysupporttype: LaunchQuerySupportType) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>> {
4540         Self::ILauncherStatics2(|this| unsafe {
4541             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4542             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), uri.into_param().abi(), launchquerysupporttype, &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>(result__)
4543         })
4544     }
4545     #[cfg(feature = "Foundation")]
QueryUriSupportWithPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uri: Param0, launchquerysupporttype: LaunchQuerySupportType, packagefamilyname: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>4546     pub fn QueryUriSupportWithPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uri: Param0, launchquerysupporttype: LaunchQuerySupportType, packagefamilyname: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>> {
4547         Self::ILauncherStatics2(|this| unsafe {
4548             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4549             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), uri.into_param().abi(), launchquerysupporttype, packagefamilyname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>(result__)
4550         })
4551     }
4552     #[cfg(all(feature = "Foundation", feature = "Storage"))]
QueryFileSupportAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::StorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>4553     pub fn QueryFileSupportAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::StorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>> {
4554         Self::ILauncherStatics2(|this| unsafe {
4555             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4556             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>(result__)
4557         })
4558     }
4559     #[cfg(all(feature = "Foundation", feature = "Storage"))]
QueryFileSupportWithPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::StorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, packagefamilyname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>4560     pub fn QueryFileSupportWithPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::StorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, packagefamilyname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>> {
4561         Self::ILauncherStatics2(|this| unsafe {
4562             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4563             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), file.into_param().abi(), packagefamilyname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>(result__)
4564         })
4565     }
4566     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))]
FindUriSchemeHandlersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(scheme: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>4567     pub fn FindUriSchemeHandlersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(scheme: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>> {
4568         Self::ILauncherStatics2(|this| unsafe {
4569             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4570             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), scheme.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>(result__)
4571         })
4572     }
4573     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))]
FindUriSchemeHandlersWithLaunchUriTypeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(scheme: Param0, launchquerysupporttype: LaunchQuerySupportType) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>4574     pub fn FindUriSchemeHandlersWithLaunchUriTypeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(scheme: Param0, launchquerysupporttype: LaunchQuerySupportType) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>> {
4575         Self::ILauncherStatics2(|this| unsafe {
4576             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4577             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), scheme.into_param().abi(), launchquerysupporttype, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>(result__)
4578         })
4579     }
4580     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))]
FindFileHandlersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(extension: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>4581     pub fn FindFileHandlersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(extension: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>> {
4582         Self::ILauncherStatics2(|this| unsafe {
4583             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4584             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), extension.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>(result__)
4585         })
4586     }
4587     #[cfg(all(feature = "Foundation", feature = "Storage"))]
LaunchFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFolder>>(folder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4588     pub fn LaunchFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFolder>>(folder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4589         Self::ILauncherStatics3(|this| unsafe {
4590             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4591             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), folder.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4592         })
4593     }
4594     #[cfg(all(feature = "Foundation", feature = "Storage"))]
LaunchFolderWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, FolderLauncherOptions>>(folder: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4595     pub fn LaunchFolderWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, FolderLauncherOptions>>(folder: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4596         Self::ILauncherStatics3(|this| unsafe {
4597             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4598             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), folder.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4599         })
4600     }
4601     #[cfg(feature = "Foundation")]
QueryAppUriSupportAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>4602     pub fn QueryAppUriSupportAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>> {
4603         Self::ILauncherStatics4(|this| unsafe {
4604             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4605             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), uri.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>(result__)
4606         })
4607     }
4608     #[cfg(feature = "Foundation")]
QueryAppUriSupportWithPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uri: Param0, packagefamilyname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>4609     pub fn QueryAppUriSupportWithPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(uri: Param0, packagefamilyname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>> {
4610         Self::ILauncherStatics4(|this| unsafe {
4611             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4612             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), uri.into_param().abi(), packagefamilyname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchQuerySupportStatus>>(result__)
4613         })
4614     }
4615     #[cfg(all(feature = "ApplicationModel", feature = "Foundation", feature = "Foundation_Collections"))]
FindAppUriHandlersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>4616     pub fn FindAppUriHandlersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>> {
4617         Self::ILauncherStatics4(|this| unsafe {
4618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4619             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), uri.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<super::ApplicationModel::AppInfo>>>(result__)
4620         })
4621     }
4622     #[cfg(feature = "Foundation")]
LaunchUriForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(user: Param0, uri: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriStatus>>4623     pub fn LaunchUriForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(user: Param0, uri: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriStatus>> {
4624         Self::ILauncherStatics4(|this| unsafe {
4625             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4626             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), user.into_param().abi(), uri.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriStatus>>(result__)
4627         })
4628     }
4629     #[cfg(feature = "Foundation")]
LaunchUriWithOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>>(user: Param0, uri: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriStatus>>4630     pub fn LaunchUriWithOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>>(user: Param0, uri: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriStatus>> {
4631         Self::ILauncherStatics4(|this| unsafe {
4632             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4633             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriStatus>>(result__)
4634         })
4635     }
4636     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
LaunchUriWithDataForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(user: Param0, uri: Param1, options: Param2, inputdata: Param3) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriStatus>>4637     pub fn LaunchUriWithDataForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(user: Param0, uri: Param1, options: Param2, inputdata: Param3) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriStatus>> {
4638         Self::ILauncherStatics4(|this| unsafe {
4639             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4640             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriStatus>>(result__)
4641         })
4642     }
4643     #[cfg(feature = "Foundation")]
LaunchUriForResultsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>>(user: Param0, uri: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>>4644     pub fn LaunchUriForResultsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>>(user: Param0, uri: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>> {
4645         Self::ILauncherStatics4(|this| unsafe {
4646             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4647             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriResult>>(result__)
4648         })
4649     }
4650     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
LaunchUriForResultsWithDataForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(user: Param0, uri: Param1, options: Param2, inputdata: Param3) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>>4651     pub fn LaunchUriForResultsWithDataForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, LauncherOptions>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(user: Param0, uri: Param1, options: Param2, inputdata: Param3) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<LaunchUriResult>> {
4652         Self::ILauncherStatics4(|this| unsafe {
4653             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4654             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), user.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<LaunchUriResult>>(result__)
4655         })
4656     }
4657     #[cfg(feature = "Foundation")]
LaunchFolderPathAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(path: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4658     pub fn LaunchFolderPathAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(path: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4659         Self::ILauncherStatics5(|this| unsafe {
4660             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4661             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), path.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4662         })
4663     }
4664     #[cfg(feature = "Foundation")]
LaunchFolderPathWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, FolderLauncherOptions>>(path: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4665     pub fn LaunchFolderPathWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, FolderLauncherOptions>>(path: Param0, options: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4666         Self::ILauncherStatics5(|this| unsafe {
4667             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4668             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), path.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4669         })
4670     }
4671     #[cfg(feature = "Foundation")]
LaunchFolderPathForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, path: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4672     pub fn LaunchFolderPathForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, path: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4673         Self::ILauncherStatics5(|this| unsafe {
4674             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4675             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), user.into_param().abi(), path.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4676         })
4677     }
4678     #[cfg(feature = "Foundation")]
LaunchFolderPathWithOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, FolderLauncherOptions>>(user: Param0, path: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>4679     pub fn LaunchFolderPathWithOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, FolderLauncherOptions>>(user: Param0, path: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
4680         Self::ILauncherStatics5(|this| unsafe {
4681             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4682             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), user.into_param().abi(), path.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
4683         })
4684     }
ILauncherStatics<R, F: FnOnce(&ILauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4685     pub fn ILauncherStatics<R, F: FnOnce(&ILauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4686         static mut SHARED: ::windows::runtime::FactoryCache<Launcher, ILauncherStatics> = ::windows::runtime::FactoryCache::new();
4687         unsafe { SHARED.call(callback) }
4688     }
ILauncherStatics2<R, F: FnOnce(&ILauncherStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4689     pub fn ILauncherStatics2<R, F: FnOnce(&ILauncherStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4690         static mut SHARED: ::windows::runtime::FactoryCache<Launcher, ILauncherStatics2> = ::windows::runtime::FactoryCache::new();
4691         unsafe { SHARED.call(callback) }
4692     }
ILauncherStatics3<R, F: FnOnce(&ILauncherStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4693     pub fn ILauncherStatics3<R, F: FnOnce(&ILauncherStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4694         static mut SHARED: ::windows::runtime::FactoryCache<Launcher, ILauncherStatics3> = ::windows::runtime::FactoryCache::new();
4695         unsafe { SHARED.call(callback) }
4696     }
ILauncherStatics4<R, F: FnOnce(&ILauncherStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4697     pub fn ILauncherStatics4<R, F: FnOnce(&ILauncherStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4698         static mut SHARED: ::windows::runtime::FactoryCache<Launcher, ILauncherStatics4> = ::windows::runtime::FactoryCache::new();
4699         unsafe { SHARED.call(callback) }
4700     }
ILauncherStatics5<R, F: FnOnce(&ILauncherStatics5) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4701     pub fn ILauncherStatics5<R, F: FnOnce(&ILauncherStatics5) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4702         static mut SHARED: ::windows::runtime::FactoryCache<Launcher, ILauncherStatics5> = ::windows::runtime::FactoryCache::new();
4703         unsafe { SHARED.call(callback) }
4704     }
4705 }
4706 impl ::windows::runtime::RuntimeName for Launcher {
4707     const NAME: &'static str = "Windows.System.Launcher";
4708 }
4709 #[repr(transparent)]
4710 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4711 pub struct LauncherOptions(::windows::runtime::IInspectable);
4712 impl LauncherOptions {
new() -> ::windows::runtime::Result<Self>4713     pub fn new() -> ::windows::runtime::Result<Self> {
4714         Self::IActivationFactory(|f| f.activate_instance::<Self>())
4715     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4716     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4717         static mut SHARED: ::windows::runtime::FactoryCache<LauncherOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
4718         unsafe { SHARED.call(callback) }
4719     }
TreatAsUntrusted(&self) -> ::windows::runtime::Result<bool>4720     pub fn TreatAsUntrusted(&self) -> ::windows::runtime::Result<bool> {
4721         let this = self;
4722         unsafe {
4723             let mut result__: bool = ::std::mem::zeroed();
4724             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4725         }
4726     }
SetTreatAsUntrusted(&self, value: bool) -> ::windows::runtime::Result<()>4727     pub fn SetTreatAsUntrusted(&self, value: bool) -> ::windows::runtime::Result<()> {
4728         let this = self;
4729         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4730     }
DisplayApplicationPicker(&self) -> ::windows::runtime::Result<bool>4731     pub fn DisplayApplicationPicker(&self) -> ::windows::runtime::Result<bool> {
4732         let this = self;
4733         unsafe {
4734             let mut result__: bool = ::std::mem::zeroed();
4735             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4736         }
4737     }
SetDisplayApplicationPicker(&self, value: bool) -> ::windows::runtime::Result<()>4738     pub fn SetDisplayApplicationPicker(&self, value: bool) -> ::windows::runtime::Result<()> {
4739         let this = self;
4740         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
4741     }
UI(&self) -> ::windows::runtime::Result<LauncherUIOptions>4742     pub fn UI(&self) -> ::windows::runtime::Result<LauncherUIOptions> {
4743         let this = self;
4744         unsafe {
4745             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4746             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LauncherUIOptions>(result__)
4747         }
4748     }
PreferredApplicationPackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4749     pub fn PreferredApplicationPackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4750         let this = self;
4751         unsafe {
4752             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4753             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4754         }
4755     }
SetPreferredApplicationPackageFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4756     pub fn SetPreferredApplicationPackageFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4757         let this = self;
4758         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4759     }
PreferredApplicationDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4760     pub fn PreferredApplicationDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4761         let this = self;
4762         unsafe {
4763             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4764             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4765         }
4766     }
SetPreferredApplicationDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4767     pub fn SetPreferredApplicationDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4768         let this = self;
4769         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4770     }
4771     #[cfg(feature = "Foundation")]
FallbackUri(&self) -> ::windows::runtime::Result<super::Foundation::Uri>4772     pub fn FallbackUri(&self) -> ::windows::runtime::Result<super::Foundation::Uri> {
4773         let this = self;
4774         unsafe {
4775             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4776             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Uri>(result__)
4777         }
4778     }
4779     #[cfg(feature = "Foundation")]
SetFallbackUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()>4780     pub fn SetFallbackUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4781         let this = self;
4782         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4783     }
ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4784     pub fn ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4785         let this = self;
4786         unsafe {
4787             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4788             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4789         }
4790     }
SetContentType<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4791     pub fn SetContentType<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4792         let this = self;
4793         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4794     }
TargetApplicationPackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4795     pub fn TargetApplicationPackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4796         let this = &::windows::runtime::Interface::cast::<ILauncherOptions2>(self)?;
4797         unsafe {
4798             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4799             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4800         }
4801     }
SetTargetApplicationPackageFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>4802     pub fn SetTargetApplicationPackageFamilyName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4803         let this = &::windows::runtime::Interface::cast::<ILauncherOptions2>(self)?;
4804         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4805     }
4806     #[cfg(feature = "Storage_Search")]
NeighboringFilesQuery(&self) -> ::windows::runtime::Result<super::Storage::Search::StorageFileQueryResult>4807     pub fn NeighboringFilesQuery(&self) -> ::windows::runtime::Result<super::Storage::Search::StorageFileQueryResult> {
4808         let this = &::windows::runtime::Interface::cast::<ILauncherOptions2>(self)?;
4809         unsafe {
4810             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4811             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::Search::StorageFileQueryResult>(result__)
4812         }
4813     }
4814     #[cfg(feature = "Storage_Search")]
SetNeighboringFilesQuery<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Search::StorageFileQueryResult>>(&self, value: Param0) -> ::windows::runtime::Result<()>4815     pub fn SetNeighboringFilesQuery<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Search::StorageFileQueryResult>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4816         let this = &::windows::runtime::Interface::cast::<ILauncherOptions2>(self)?;
4817         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4818     }
4819     #[cfg(feature = "UI_ViewManagement")]
DesiredRemainingView(&self) -> ::windows::runtime::Result<super::UI::ViewManagement::ViewSizePreference>4820     pub fn DesiredRemainingView(&self) -> ::windows::runtime::Result<super::UI::ViewManagement::ViewSizePreference> {
4821         let this = &::windows::runtime::Interface::cast::<ILauncherViewOptions>(self)?;
4822         unsafe {
4823             let mut result__: super::UI::ViewManagement::ViewSizePreference = ::std::mem::zeroed();
4824             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::UI::ViewManagement::ViewSizePreference>(result__)
4825         }
4826     }
4827     #[cfg(feature = "UI_ViewManagement")]
SetDesiredRemainingView(&self, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::Result<()>4828     pub fn SetDesiredRemainingView(&self, value: super::UI::ViewManagement::ViewSizePreference) -> ::windows::runtime::Result<()> {
4829         let this = &::windows::runtime::Interface::cast::<ILauncherViewOptions>(self)?;
4830         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4831     }
IgnoreAppUriHandlers(&self) -> ::windows::runtime::Result<bool>4832     pub fn IgnoreAppUriHandlers(&self) -> ::windows::runtime::Result<bool> {
4833         let this = &::windows::runtime::Interface::cast::<ILauncherOptions3>(self)?;
4834         unsafe {
4835             let mut result__: bool = ::std::mem::zeroed();
4836             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4837         }
4838     }
SetIgnoreAppUriHandlers(&self, value: bool) -> ::windows::runtime::Result<()>4839     pub fn SetIgnoreAppUriHandlers(&self, value: bool) -> ::windows::runtime::Result<()> {
4840         let this = &::windows::runtime::Interface::cast::<ILauncherOptions3>(self)?;
4841         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4842     }
LimitPickerToCurrentAppAndAppUriHandlers(&self) -> ::windows::runtime::Result<bool>4843     pub fn LimitPickerToCurrentAppAndAppUriHandlers(&self) -> ::windows::runtime::Result<bool> {
4844         let this = &::windows::runtime::Interface::cast::<ILauncherOptions4>(self)?;
4845         unsafe {
4846             let mut result__: bool = ::std::mem::zeroed();
4847             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4848         }
4849     }
SetLimitPickerToCurrentAppAndAppUriHandlers(&self, value: bool) -> ::windows::runtime::Result<()>4850     pub fn SetLimitPickerToCurrentAppAndAppUriHandlers(&self, value: bool) -> ::windows::runtime::Result<()> {
4851         let this = &::windows::runtime::Interface::cast::<ILauncherOptions4>(self)?;
4852         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4853     }
4854 }
4855 unsafe impl ::windows::runtime::RuntimeType for LauncherOptions {
4856     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.LauncherOptions;{bafa21d8-b071-4cd8-853e-341203e557d3})");
4857 }
4858 unsafe impl ::windows::runtime::Interface for LauncherOptions {
4859     type Vtable = ILauncherOptions_abi;
4860     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3136954840, 45169, 19672, [133, 62, 52, 18, 3, 229, 87, 211]);
4861 }
4862 impl ::windows::runtime::RuntimeName for LauncherOptions {
4863     const NAME: &'static str = "Windows.System.LauncherOptions";
4864 }
4865 impl ::std::convert::From<LauncherOptions> for ::windows::runtime::IUnknown {
from(value: LauncherOptions) -> Self4866     fn from(value: LauncherOptions) -> Self {
4867         unsafe { ::std::mem::transmute(value) }
4868     }
4869 }
4870 impl ::std::convert::From<&LauncherOptions> for ::windows::runtime::IUnknown {
from(value: &LauncherOptions) -> Self4871     fn from(value: &LauncherOptions) -> Self {
4872         ::std::convert::From::from(::std::clone::Clone::clone(value))
4873     }
4874 }
4875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4877         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4878     }
4879 }
4880 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4881     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4882         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4883     }
4884 }
4885 impl ::std::convert::From<LauncherOptions> for ::windows::runtime::IInspectable {
from(value: LauncherOptions) -> Self4886     fn from(value: LauncherOptions) -> Self {
4887         value.0
4888     }
4889 }
4890 impl ::std::convert::From<&LauncherOptions> for ::windows::runtime::IInspectable {
from(value: &LauncherOptions) -> Self4891     fn from(value: &LauncherOptions) -> Self {
4892         value.0.clone()
4893     }
4894 }
4895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4897         ::windows::runtime::Param::Owned(self.0)
4898     }
4899 }
4900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4901     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4902         ::windows::runtime::Param::Borrowed(&self.0)
4903     }
4904 }
4905 impl ::std::convert::TryFrom<LauncherOptions> for ILauncherViewOptions {
4906     type Error = ::windows::runtime::Error;
try_from(value: LauncherOptions) -> ::windows::runtime::Result<Self>4907     fn try_from(value: LauncherOptions) -> ::windows::runtime::Result<Self> {
4908         ::std::convert::TryFrom::try_from(&value)
4909     }
4910 }
4911 impl ::std::convert::TryFrom<&LauncherOptions> for ILauncherViewOptions {
4912     type Error = ::windows::runtime::Error;
try_from(value: &LauncherOptions) -> ::windows::runtime::Result<Self>4913     fn try_from(value: &LauncherOptions) -> ::windows::runtime::Result<Self> {
4914         ::windows::runtime::Interface::cast(value)
4915     }
4916 }
4917 impl<'a> ::windows::runtime::IntoParam<'a, ILauncherViewOptions> for LauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions>4918     fn into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions> {
4919         ::windows::runtime::IntoParam::into_param(&self)
4920     }
4921 }
4922 impl<'a> ::windows::runtime::IntoParam<'a, ILauncherViewOptions> for &LauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions>4923     fn into_param(self) -> ::windows::runtime::Param<'a, ILauncherViewOptions> {
4924         ::std::convert::TryInto::<ILauncherViewOptions>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4925     }
4926 }
4927 unsafe impl ::std::marker::Send for LauncherOptions {}
4928 unsafe impl ::std::marker::Sync for LauncherOptions {}
4929 #[repr(transparent)]
4930 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4931 pub struct LauncherUIOptions(::windows::runtime::IInspectable);
4932 impl LauncherUIOptions {
4933     #[cfg(feature = "Foundation")]
InvocationPoint(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::Point>>4934     pub fn InvocationPoint(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::Point>> {
4935         let this = self;
4936         unsafe {
4937             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4938             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::Point>>(result__)
4939         }
4940     }
4941     #[cfg(feature = "Foundation")]
SetInvocationPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::Point>>>(&self, value: Param0) -> ::windows::runtime::Result<()>4942     pub fn SetInvocationPoint<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::Point>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4943         let this = self;
4944         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4945     }
4946     #[cfg(feature = "Foundation")]
SelectionRect(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::Rect>>4947     pub fn SelectionRect(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::Rect>> {
4948         let this = self;
4949         unsafe {
4950             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4951             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::Rect>>(result__)
4952         }
4953     }
4954     #[cfg(feature = "Foundation")]
SetSelectionRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::Rect>>>(&self, value: Param0) -> ::windows::runtime::Result<()>4955     pub fn SetSelectionRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::Rect>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4956         let this = self;
4957         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4958     }
4959     #[cfg(feature = "UI_Popups")]
PreferredPlacement(&self) -> ::windows::runtime::Result<super::UI::Popups::Placement>4960     pub fn PreferredPlacement(&self) -> ::windows::runtime::Result<super::UI::Popups::Placement> {
4961         let this = self;
4962         unsafe {
4963             let mut result__: super::UI::Popups::Placement = ::std::mem::zeroed();
4964             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::UI::Popups::Placement>(result__)
4965         }
4966     }
4967     #[cfg(feature = "UI_Popups")]
SetPreferredPlacement(&self, value: super::UI::Popups::Placement) -> ::windows::runtime::Result<()>4968     pub fn SetPreferredPlacement(&self, value: super::UI::Popups::Placement) -> ::windows::runtime::Result<()> {
4969         let this = self;
4970         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
4971     }
4972 }
4973 unsafe impl ::windows::runtime::RuntimeType for LauncherUIOptions {
4974     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.LauncherUIOptions;{1b25da6e-8aa6-41e9-8251-4165f5985f49})");
4975 }
4976 unsafe impl ::windows::runtime::Interface for LauncherUIOptions {
4977     type Vtable = ILauncherUIOptions_abi;
4978     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(455465582, 35494, 16873, [130, 81, 65, 101, 245, 152, 95, 73]);
4979 }
4980 impl ::windows::runtime::RuntimeName for LauncherUIOptions {
4981     const NAME: &'static str = "Windows.System.LauncherUIOptions";
4982 }
4983 impl ::std::convert::From<LauncherUIOptions> for ::windows::runtime::IUnknown {
from(value: LauncherUIOptions) -> Self4984     fn from(value: LauncherUIOptions) -> Self {
4985         unsafe { ::std::mem::transmute(value) }
4986     }
4987 }
4988 impl ::std::convert::From<&LauncherUIOptions> for ::windows::runtime::IUnknown {
from(value: &LauncherUIOptions) -> Self4989     fn from(value: &LauncherUIOptions) -> Self {
4990         ::std::convert::From::from(::std::clone::Clone::clone(value))
4991     }
4992 }
4993 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LauncherUIOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4994     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4995         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4996     }
4997 }
4998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LauncherUIOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5000         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5001     }
5002 }
5003 impl ::std::convert::From<LauncherUIOptions> for ::windows::runtime::IInspectable {
from(value: LauncherUIOptions) -> Self5004     fn from(value: LauncherUIOptions) -> Self {
5005         value.0
5006     }
5007 }
5008 impl ::std::convert::From<&LauncherUIOptions> for ::windows::runtime::IInspectable {
from(value: &LauncherUIOptions) -> Self5009     fn from(value: &LauncherUIOptions) -> Self {
5010         value.0.clone()
5011     }
5012 }
5013 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LauncherUIOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5014     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5015         ::windows::runtime::Param::Owned(self.0)
5016     }
5017 }
5018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LauncherUIOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5020         ::windows::runtime::Param::Borrowed(&self.0)
5021     }
5022 }
5023 unsafe impl ::std::marker::Send for LauncherUIOptions {}
5024 unsafe impl ::std::marker::Sync for LauncherUIOptions {}
5025 pub struct MemoryManager {}
5026 impl MemoryManager {
AppMemoryUsage() -> ::windows::runtime::Result<u64>5027     pub fn AppMemoryUsage() -> ::windows::runtime::Result<u64> {
5028         Self::IMemoryManagerStatics(|this| unsafe {
5029             let mut result__: u64 = ::std::mem::zeroed();
5030             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
5031         })
5032     }
AppMemoryUsageLimit() -> ::windows::runtime::Result<u64>5033     pub fn AppMemoryUsageLimit() -> ::windows::runtime::Result<u64> {
5034         Self::IMemoryManagerStatics(|this| unsafe {
5035             let mut result__: u64 = ::std::mem::zeroed();
5036             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
5037         })
5038     }
AppMemoryUsageLevel() -> ::windows::runtime::Result<AppMemoryUsageLevel>5039     pub fn AppMemoryUsageLevel() -> ::windows::runtime::Result<AppMemoryUsageLevel> {
5040         Self::IMemoryManagerStatics(|this| unsafe {
5041             let mut result__: AppMemoryUsageLevel = ::std::mem::zeroed();
5042             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppMemoryUsageLevel>(result__)
5043         })
5044     }
5045     #[cfg(feature = "Foundation")]
AppMemoryUsageIncreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>5046     pub fn AppMemoryUsageIncreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
5047         Self::IMemoryManagerStatics(|this| unsafe {
5048             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5049             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
5050         })
5051     }
5052     #[cfg(feature = "Foundation")]
RemoveAppMemoryUsageIncreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>5053     pub fn RemoveAppMemoryUsageIncreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
5054         Self::IMemoryManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
5055     }
5056     #[cfg(feature = "Foundation")]
AppMemoryUsageDecreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>5057     pub fn AppMemoryUsageDecreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
5058         Self::IMemoryManagerStatics(|this| unsafe {
5059             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5060             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
5061         })
5062     }
5063     #[cfg(feature = "Foundation")]
RemoveAppMemoryUsageDecreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>5064     pub fn RemoveAppMemoryUsageDecreased<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
5065         Self::IMemoryManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
5066     }
5067     #[cfg(feature = "Foundation")]
AppMemoryUsageLimitChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<AppMemoryUsageLimitChangingEventArgs>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>5068     pub fn AppMemoryUsageLimitChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<AppMemoryUsageLimitChangingEventArgs>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
5069         Self::IMemoryManagerStatics(|this| unsafe {
5070             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5071             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
5072         })
5073     }
5074     #[cfg(feature = "Foundation")]
RemoveAppMemoryUsageLimitChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>5075     pub fn RemoveAppMemoryUsageLimitChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
5076         Self::IMemoryManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
5077     }
GetAppMemoryReport() -> ::windows::runtime::Result<AppMemoryReport>5078     pub fn GetAppMemoryReport() -> ::windows::runtime::Result<AppMemoryReport> {
5079         Self::IMemoryManagerStatics2(|this| unsafe {
5080             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5081             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppMemoryReport>(result__)
5082         })
5083     }
GetProcessMemoryReport() -> ::windows::runtime::Result<ProcessMemoryReport>5084     pub fn GetProcessMemoryReport() -> ::windows::runtime::Result<ProcessMemoryReport> {
5085         Self::IMemoryManagerStatics2(|this| unsafe {
5086             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5087             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ProcessMemoryReport>(result__)
5088         })
5089     }
TrySetAppMemoryUsageLimit(value: u64) -> ::windows::runtime::Result<bool>5090     pub fn TrySetAppMemoryUsageLimit(value: u64) -> ::windows::runtime::Result<bool> {
5091         Self::IMemoryManagerStatics3(|this| unsafe {
5092             let mut result__: bool = ::std::mem::zeroed();
5093             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value, &mut result__).from_abi::<bool>(result__)
5094         })
5095     }
ExpectedAppMemoryUsageLimit() -> ::windows::runtime::Result<u64>5096     pub fn ExpectedAppMemoryUsageLimit() -> ::windows::runtime::Result<u64> {
5097         Self::IMemoryManagerStatics4(|this| unsafe {
5098             let mut result__: u64 = ::std::mem::zeroed();
5099             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
5100         })
5101     }
IMemoryManagerStatics<R, F: FnOnce(&IMemoryManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5102     pub fn IMemoryManagerStatics<R, F: FnOnce(&IMemoryManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5103         static mut SHARED: ::windows::runtime::FactoryCache<MemoryManager, IMemoryManagerStatics> = ::windows::runtime::FactoryCache::new();
5104         unsafe { SHARED.call(callback) }
5105     }
IMemoryManagerStatics2<R, F: FnOnce(&IMemoryManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5106     pub fn IMemoryManagerStatics2<R, F: FnOnce(&IMemoryManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5107         static mut SHARED: ::windows::runtime::FactoryCache<MemoryManager, IMemoryManagerStatics2> = ::windows::runtime::FactoryCache::new();
5108         unsafe { SHARED.call(callback) }
5109     }
IMemoryManagerStatics3<R, F: FnOnce(&IMemoryManagerStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5110     pub fn IMemoryManagerStatics3<R, F: FnOnce(&IMemoryManagerStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5111         static mut SHARED: ::windows::runtime::FactoryCache<MemoryManager, IMemoryManagerStatics3> = ::windows::runtime::FactoryCache::new();
5112         unsafe { SHARED.call(callback) }
5113     }
IMemoryManagerStatics4<R, F: FnOnce(&IMemoryManagerStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5114     pub fn IMemoryManagerStatics4<R, F: FnOnce(&IMemoryManagerStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5115         static mut SHARED: ::windows::runtime::FactoryCache<MemoryManager, IMemoryManagerStatics4> = ::windows::runtime::FactoryCache::new();
5116         unsafe { SHARED.call(callback) }
5117     }
5118 }
5119 impl ::windows::runtime::RuntimeName for MemoryManager {
5120     const NAME: &'static str = "Windows.System.MemoryManager";
5121 }
5122 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5123 #[repr(transparent)]
5124 pub struct PowerState(pub i32);
5125 impl PowerState {
5126     pub const ConnectedStandby: PowerState = PowerState(0i32);
5127     pub const SleepS3: PowerState = PowerState(1i32);
5128 }
5129 impl ::std::convert::From<i32> for PowerState {
from(value: i32) -> Self5130     fn from(value: i32) -> Self {
5131         Self(value)
5132     }
5133 }
5134 unsafe impl ::windows::runtime::Abi for PowerState {
5135     type Abi = Self;
5136     type DefaultType = Self;
5137 }
5138 unsafe impl ::windows::runtime::RuntimeType for PowerState {
5139     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.PowerState;i4)");
5140 }
5141 pub struct ProcessLauncher {}
5142 impl ProcessLauncher {
5143     #[cfg(feature = "Foundation")]
RunToCompletionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(filename: Param0, args: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<ProcessLauncherResult>>5144     pub fn RunToCompletionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(filename: Param0, args: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<ProcessLauncherResult>> {
5145         Self::IProcessLauncherStatics(|this| unsafe {
5146             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5147             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), filename.into_param().abi(), args.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<ProcessLauncherResult>>(result__)
5148         })
5149     }
5150     #[cfg(feature = "Foundation")]
RunToCompletionAsyncWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ProcessLauncherOptions>>(filename: Param0, args: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<ProcessLauncherResult>>5151     pub fn RunToCompletionAsyncWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ProcessLauncherOptions>>(filename: Param0, args: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<ProcessLauncherResult>> {
5152         Self::IProcessLauncherStatics(|this| unsafe {
5153             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5154             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), filename.into_param().abi(), args.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<ProcessLauncherResult>>(result__)
5155         })
5156     }
IProcessLauncherStatics<R, F: FnOnce(&IProcessLauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5157     pub fn IProcessLauncherStatics<R, F: FnOnce(&IProcessLauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5158         static mut SHARED: ::windows::runtime::FactoryCache<ProcessLauncher, IProcessLauncherStatics> = ::windows::runtime::FactoryCache::new();
5159         unsafe { SHARED.call(callback) }
5160     }
5161 }
5162 impl ::windows::runtime::RuntimeName for ProcessLauncher {
5163     const NAME: &'static str = "Windows.System.ProcessLauncher";
5164 }
5165 #[repr(transparent)]
5166 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5167 pub struct ProcessLauncherOptions(::windows::runtime::IInspectable);
5168 impl ProcessLauncherOptions {
new() -> ::windows::runtime::Result<Self>5169     pub fn new() -> ::windows::runtime::Result<Self> {
5170         Self::IActivationFactory(|f| f.activate_instance::<Self>())
5171     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5172     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5173         static mut SHARED: ::windows::runtime::FactoryCache<ProcessLauncherOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
5174         unsafe { SHARED.call(callback) }
5175     }
5176     #[cfg(feature = "Storage_Streams")]
StandardInput(&self) -> ::windows::runtime::Result<super::Storage::Streams::IInputStream>5177     pub fn StandardInput(&self) -> ::windows::runtime::Result<super::Storage::Streams::IInputStream> {
5178         let this = self;
5179         unsafe {
5180             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5181             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::Streams::IInputStream>(result__)
5182         }
5183     }
5184     #[cfg(feature = "Storage_Streams")]
SetStandardInput<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::IInputStream>>(&self, value: Param0) -> ::windows::runtime::Result<()>5185     pub fn SetStandardInput<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::IInputStream>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5186         let this = self;
5187         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5188     }
5189     #[cfg(feature = "Storage_Streams")]
StandardOutput(&self) -> ::windows::runtime::Result<super::Storage::Streams::IOutputStream>5190     pub fn StandardOutput(&self) -> ::windows::runtime::Result<super::Storage::Streams::IOutputStream> {
5191         let this = self;
5192         unsafe {
5193             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5194             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::Streams::IOutputStream>(result__)
5195         }
5196     }
5197     #[cfg(feature = "Storage_Streams")]
SetStandardOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::IOutputStream>>(&self, value: Param0) -> ::windows::runtime::Result<()>5198     pub fn SetStandardOutput<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::IOutputStream>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5199         let this = self;
5200         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5201     }
5202     #[cfg(feature = "Storage_Streams")]
StandardError(&self) -> ::windows::runtime::Result<super::Storage::Streams::IOutputStream>5203     pub fn StandardError(&self) -> ::windows::runtime::Result<super::Storage::Streams::IOutputStream> {
5204         let this = self;
5205         unsafe {
5206             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5207             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::Streams::IOutputStream>(result__)
5208         }
5209     }
5210     #[cfg(feature = "Storage_Streams")]
SetStandardError<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::IOutputStream>>(&self, value: Param0) -> ::windows::runtime::Result<()>5211     pub fn SetStandardError<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::IOutputStream>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5212         let this = self;
5213         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5214     }
WorkingDirectory(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5215     pub fn WorkingDirectory(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5216         let this = self;
5217         unsafe {
5218             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5219             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5220         }
5221     }
SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>5222     pub fn SetWorkingDirectory<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5223         let this = self;
5224         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5225     }
5226 }
5227 unsafe impl ::windows::runtime::RuntimeType for ProcessLauncherOptions {
5228     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.ProcessLauncherOptions;{3080b9cf-f444-4a83-beaf-a549a0f3229c})");
5229 }
5230 unsafe impl ::windows::runtime::Interface for ProcessLauncherOptions {
5231     type Vtable = IProcessLauncherOptions_abi;
5232     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(813742543, 62532, 19075, [190, 175, 165, 73, 160, 243, 34, 156]);
5233 }
5234 impl ::windows::runtime::RuntimeName for ProcessLauncherOptions {
5235     const NAME: &'static str = "Windows.System.ProcessLauncherOptions";
5236 }
5237 impl ::std::convert::From<ProcessLauncherOptions> for ::windows::runtime::IUnknown {
from(value: ProcessLauncherOptions) -> Self5238     fn from(value: ProcessLauncherOptions) -> Self {
5239         unsafe { ::std::mem::transmute(value) }
5240     }
5241 }
5242 impl ::std::convert::From<&ProcessLauncherOptions> for ::windows::runtime::IUnknown {
from(value: &ProcessLauncherOptions) -> Self5243     fn from(value: &ProcessLauncherOptions) -> Self {
5244         ::std::convert::From::from(::std::clone::Clone::clone(value))
5245     }
5246 }
5247 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProcessLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5248     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5249         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5250     }
5251 }
5252 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProcessLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5253     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5254         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5255     }
5256 }
5257 impl ::std::convert::From<ProcessLauncherOptions> for ::windows::runtime::IInspectable {
from(value: ProcessLauncherOptions) -> Self5258     fn from(value: ProcessLauncherOptions) -> Self {
5259         value.0
5260     }
5261 }
5262 impl ::std::convert::From<&ProcessLauncherOptions> for ::windows::runtime::IInspectable {
from(value: &ProcessLauncherOptions) -> Self5263     fn from(value: &ProcessLauncherOptions) -> Self {
5264         value.0.clone()
5265     }
5266 }
5267 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProcessLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5268     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5269         ::windows::runtime::Param::Owned(self.0)
5270     }
5271 }
5272 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProcessLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5273     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5274         ::windows::runtime::Param::Borrowed(&self.0)
5275     }
5276 }
5277 unsafe impl ::std::marker::Send for ProcessLauncherOptions {}
5278 unsafe impl ::std::marker::Sync for ProcessLauncherOptions {}
5279 #[repr(transparent)]
5280 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5281 pub struct ProcessLauncherResult(::windows::runtime::IInspectable);
5282 impl ProcessLauncherResult {
ExitCode(&self) -> ::windows::runtime::Result<u32>5283     pub fn ExitCode(&self) -> ::windows::runtime::Result<u32> {
5284         let this = self;
5285         unsafe {
5286             let mut result__: u32 = ::std::mem::zeroed();
5287             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
5288         }
5289     }
5290 }
5291 unsafe impl ::windows::runtime::RuntimeType for ProcessLauncherResult {
5292     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.ProcessLauncherResult;{544c8934-86d8-4991-8e75-ece8a43b6b6d})");
5293 }
5294 unsafe impl ::windows::runtime::Interface for ProcessLauncherResult {
5295     type Vtable = IProcessLauncherResult_abi;
5296     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1414302004, 34520, 18833, [142, 117, 236, 232, 164, 59, 107, 109]);
5297 }
5298 impl ::windows::runtime::RuntimeName for ProcessLauncherResult {
5299     const NAME: &'static str = "Windows.System.ProcessLauncherResult";
5300 }
5301 impl ::std::convert::From<ProcessLauncherResult> for ::windows::runtime::IUnknown {
from(value: ProcessLauncherResult) -> Self5302     fn from(value: ProcessLauncherResult) -> Self {
5303         unsafe { ::std::mem::transmute(value) }
5304     }
5305 }
5306 impl ::std::convert::From<&ProcessLauncherResult> for ::windows::runtime::IUnknown {
from(value: &ProcessLauncherResult) -> Self5307     fn from(value: &ProcessLauncherResult) -> Self {
5308         ::std::convert::From::from(::std::clone::Clone::clone(value))
5309     }
5310 }
5311 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProcessLauncherResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5312     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5313         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5314     }
5315 }
5316 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProcessLauncherResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5317     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5318         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5319     }
5320 }
5321 impl ::std::convert::From<ProcessLauncherResult> for ::windows::runtime::IInspectable {
from(value: ProcessLauncherResult) -> Self5322     fn from(value: ProcessLauncherResult) -> Self {
5323         value.0
5324     }
5325 }
5326 impl ::std::convert::From<&ProcessLauncherResult> for ::windows::runtime::IInspectable {
from(value: &ProcessLauncherResult) -> Self5327     fn from(value: &ProcessLauncherResult) -> Self {
5328         value.0.clone()
5329     }
5330 }
5331 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProcessLauncherResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5332     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5333         ::windows::runtime::Param::Owned(self.0)
5334     }
5335 }
5336 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProcessLauncherResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5337     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5338         ::windows::runtime::Param::Borrowed(&self.0)
5339     }
5340 }
5341 unsafe impl ::std::marker::Send for ProcessLauncherResult {}
5342 unsafe impl ::std::marker::Sync for ProcessLauncherResult {}
5343 #[repr(transparent)]
5344 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5345 pub struct ProcessMemoryReport(::windows::runtime::IInspectable);
5346 impl ProcessMemoryReport {
PrivateWorkingSetUsage(&self) -> ::windows::runtime::Result<u64>5347     pub fn PrivateWorkingSetUsage(&self) -> ::windows::runtime::Result<u64> {
5348         let this = self;
5349         unsafe {
5350             let mut result__: u64 = ::std::mem::zeroed();
5351             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
5352         }
5353     }
TotalWorkingSetUsage(&self) -> ::windows::runtime::Result<u64>5354     pub fn TotalWorkingSetUsage(&self) -> ::windows::runtime::Result<u64> {
5355         let this = self;
5356         unsafe {
5357             let mut result__: u64 = ::std::mem::zeroed();
5358             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
5359         }
5360     }
5361 }
5362 unsafe impl ::windows::runtime::RuntimeType for ProcessMemoryReport {
5363     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.ProcessMemoryReport;{087305a8-9b70-4782-8741-3a982b6ce5e4})");
5364 }
5365 unsafe impl ::windows::runtime::Interface for ProcessMemoryReport {
5366     type Vtable = IProcessMemoryReport_abi;
5367     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(141755816, 39792, 18306, [135, 65, 58, 152, 43, 108, 229, 228]);
5368 }
5369 impl ::windows::runtime::RuntimeName for ProcessMemoryReport {
5370     const NAME: &'static str = "Windows.System.ProcessMemoryReport";
5371 }
5372 impl ::std::convert::From<ProcessMemoryReport> for ::windows::runtime::IUnknown {
from(value: ProcessMemoryReport) -> Self5373     fn from(value: ProcessMemoryReport) -> Self {
5374         unsafe { ::std::mem::transmute(value) }
5375     }
5376 }
5377 impl ::std::convert::From<&ProcessMemoryReport> for ::windows::runtime::IUnknown {
from(value: &ProcessMemoryReport) -> Self5378     fn from(value: &ProcessMemoryReport) -> Self {
5379         ::std::convert::From::from(::std::clone::Clone::clone(value))
5380     }
5381 }
5382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProcessMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5384         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5385     }
5386 }
5387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProcessMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5389         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5390     }
5391 }
5392 impl ::std::convert::From<ProcessMemoryReport> for ::windows::runtime::IInspectable {
from(value: ProcessMemoryReport) -> Self5393     fn from(value: ProcessMemoryReport) -> Self {
5394         value.0
5395     }
5396 }
5397 impl ::std::convert::From<&ProcessMemoryReport> for ::windows::runtime::IInspectable {
from(value: &ProcessMemoryReport) -> Self5398     fn from(value: &ProcessMemoryReport) -> Self {
5399         value.0.clone()
5400     }
5401 }
5402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProcessMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5404         ::windows::runtime::Param::Owned(self.0)
5405     }
5406 }
5407 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProcessMemoryReport {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5408     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5409         ::windows::runtime::Param::Borrowed(&self.0)
5410     }
5411 }
5412 unsafe impl ::std::marker::Send for ProcessMemoryReport {}
5413 unsafe impl ::std::marker::Sync for ProcessMemoryReport {}
5414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5415 #[repr(transparent)]
5416 pub struct ProcessorArchitecture(pub i32);
5417 impl ProcessorArchitecture {
5418     pub const X86: ProcessorArchitecture = ProcessorArchitecture(0i32);
5419     pub const Arm: ProcessorArchitecture = ProcessorArchitecture(5i32);
5420     pub const X64: ProcessorArchitecture = ProcessorArchitecture(9i32);
5421     pub const Neutral: ProcessorArchitecture = ProcessorArchitecture(11i32);
5422     pub const Arm64: ProcessorArchitecture = ProcessorArchitecture(12i32);
5423     pub const X86OnArm64: ProcessorArchitecture = ProcessorArchitecture(14i32);
5424     pub const Unknown: ProcessorArchitecture = ProcessorArchitecture(65535i32);
5425 }
5426 impl ::std::convert::From<i32> for ProcessorArchitecture {
from(value: i32) -> Self5427     fn from(value: i32) -> Self {
5428         Self(value)
5429     }
5430 }
5431 unsafe impl ::windows::runtime::Abi for ProcessorArchitecture {
5432     type Abi = Self;
5433     type DefaultType = Self;
5434 }
5435 unsafe impl ::windows::runtime::RuntimeType for ProcessorArchitecture {
5436     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.ProcessorArchitecture;i4)");
5437 }
5438 #[repr(transparent)]
5439 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5440 pub struct ProtocolForResultsOperation(::windows::runtime::IInspectable);
5441 impl ProtocolForResultsOperation {
5442     #[cfg(feature = "Foundation_Collections")]
ReportCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(&self, data: Param0) -> ::windows::runtime::Result<()>5443     pub fn ReportCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(&self, data: Param0) -> ::windows::runtime::Result<()> {
5444         let this = self;
5445         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), data.into_param().abi()).ok() }
5446     }
5447 }
5448 unsafe impl ::windows::runtime::RuntimeType for ProtocolForResultsOperation {
5449     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.ProtocolForResultsOperation;{d581293a-6de9-4d28-9378-f86782e182bb})");
5450 }
5451 unsafe impl ::windows::runtime::Interface for ProtocolForResultsOperation {
5452     type Vtable = IProtocolForResultsOperation_abi;
5453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3582011706, 28137, 19752, [147, 120, 248, 103, 130, 225, 130, 187]);
5454 }
5455 impl ::windows::runtime::RuntimeName for ProtocolForResultsOperation {
5456     const NAME: &'static str = "Windows.System.ProtocolForResultsOperation";
5457 }
5458 impl ::std::convert::From<ProtocolForResultsOperation> for ::windows::runtime::IUnknown {
from(value: ProtocolForResultsOperation) -> Self5459     fn from(value: ProtocolForResultsOperation) -> Self {
5460         unsafe { ::std::mem::transmute(value) }
5461     }
5462 }
5463 impl ::std::convert::From<&ProtocolForResultsOperation> for ::windows::runtime::IUnknown {
from(value: &ProtocolForResultsOperation) -> Self5464     fn from(value: &ProtocolForResultsOperation) -> Self {
5465         ::std::convert::From::from(::std::clone::Clone::clone(value))
5466     }
5467 }
5468 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProtocolForResultsOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5469     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5470         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5471     }
5472 }
5473 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProtocolForResultsOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5474     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5475         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5476     }
5477 }
5478 impl ::std::convert::From<ProtocolForResultsOperation> for ::windows::runtime::IInspectable {
from(value: ProtocolForResultsOperation) -> Self5479     fn from(value: ProtocolForResultsOperation) -> Self {
5480         value.0
5481     }
5482 }
5483 impl ::std::convert::From<&ProtocolForResultsOperation> for ::windows::runtime::IInspectable {
from(value: &ProtocolForResultsOperation) -> Self5484     fn from(value: &ProtocolForResultsOperation) -> Self {
5485         value.0.clone()
5486     }
5487 }
5488 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProtocolForResultsOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5489     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5490         ::windows::runtime::Param::Owned(self.0)
5491     }
5492 }
5493 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProtocolForResultsOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5494     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5495         ::windows::runtime::Param::Borrowed(&self.0)
5496     }
5497 }
5498 unsafe impl ::std::marker::Send for ProtocolForResultsOperation {}
5499 unsafe impl ::std::marker::Sync for ProtocolForResultsOperation {}
5500 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5501 #[repr(transparent)]
5502 pub struct RemoteLaunchUriStatus(pub i32);
5503 impl RemoteLaunchUriStatus {
5504     pub const Unknown: RemoteLaunchUriStatus = RemoteLaunchUriStatus(0i32);
5505     pub const Success: RemoteLaunchUriStatus = RemoteLaunchUriStatus(1i32);
5506     pub const AppUnavailable: RemoteLaunchUriStatus = RemoteLaunchUriStatus(2i32);
5507     pub const ProtocolUnavailable: RemoteLaunchUriStatus = RemoteLaunchUriStatus(3i32);
5508     pub const RemoteSystemUnavailable: RemoteLaunchUriStatus = RemoteLaunchUriStatus(4i32);
5509     pub const ValueSetTooLarge: RemoteLaunchUriStatus = RemoteLaunchUriStatus(5i32);
5510     pub const DeniedByLocalSystem: RemoteLaunchUriStatus = RemoteLaunchUriStatus(6i32);
5511     pub const DeniedByRemoteSystem: RemoteLaunchUriStatus = RemoteLaunchUriStatus(7i32);
5512 }
5513 impl ::std::convert::From<i32> for RemoteLaunchUriStatus {
from(value: i32) -> Self5514     fn from(value: i32) -> Self {
5515         Self(value)
5516     }
5517 }
5518 unsafe impl ::windows::runtime::Abi for RemoteLaunchUriStatus {
5519     type Abi = Self;
5520     type DefaultType = Self;
5521 }
5522 unsafe impl ::windows::runtime::RuntimeType for RemoteLaunchUriStatus {
5523     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.RemoteLaunchUriStatus;i4)");
5524 }
5525 pub struct RemoteLauncher {}
5526 impl RemoteLauncher {
5527     #[cfg(all(feature = "Foundation", feature = "System_RemoteSystems"))]
LaunchUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystems::RemoteSystemConnectionRequest>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(remotesystemconnectionrequest: Param0, uri: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>>5528     pub fn LaunchUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystems::RemoteSystemConnectionRequest>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(remotesystemconnectionrequest: Param0, uri: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>> {
5529         Self::IRemoteLauncherStatics(|this| unsafe {
5530             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5531             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>>(result__)
5532         })
5533     }
5534     #[cfg(all(feature = "Foundation", feature = "System_RemoteSystems"))]
LaunchUriWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystems::RemoteSystemConnectionRequest>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, RemoteLauncherOptions>>(remotesystemconnectionrequest: Param0, uri: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>>5535     pub fn LaunchUriWithOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystems::RemoteSystemConnectionRequest>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, RemoteLauncherOptions>>(remotesystemconnectionrequest: Param0, uri: Param1, options: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>> {
5536         Self::IRemoteLauncherStatics(|this| unsafe {
5537             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5538             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>>(result__)
5539         })
5540     }
5541     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System_RemoteSystems"))]
LaunchUriWithDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystems::RemoteSystemConnectionRequest>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, RemoteLauncherOptions>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>( remotesystemconnectionrequest: Param0, uri: Param1, options: Param2, inputdata: Param3, ) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>>5542     pub fn LaunchUriWithDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, RemoteSystems::RemoteSystemConnectionRequest>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, RemoteLauncherOptions>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::ValueSet>>(
5543         remotesystemconnectionrequest: Param0,
5544         uri: Param1,
5545         options: Param2,
5546         inputdata: Param3,
5547     ) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>> {
5548         Self::IRemoteLauncherStatics(|this| unsafe {
5549             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5550             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), remotesystemconnectionrequest.into_param().abi(), uri.into_param().abi(), options.into_param().abi(), inputdata.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<RemoteLaunchUriStatus>>(result__)
5551         })
5552     }
IRemoteLauncherStatics<R, F: FnOnce(&IRemoteLauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5553     pub fn IRemoteLauncherStatics<R, F: FnOnce(&IRemoteLauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5554         static mut SHARED: ::windows::runtime::FactoryCache<RemoteLauncher, IRemoteLauncherStatics> = ::windows::runtime::FactoryCache::new();
5555         unsafe { SHARED.call(callback) }
5556     }
5557 }
5558 impl ::windows::runtime::RuntimeName for RemoteLauncher {
5559     const NAME: &'static str = "Windows.System.RemoteLauncher";
5560 }
5561 #[repr(transparent)]
5562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5563 pub struct RemoteLauncherOptions(::windows::runtime::IInspectable);
5564 impl RemoteLauncherOptions {
new() -> ::windows::runtime::Result<Self>5565     pub fn new() -> ::windows::runtime::Result<Self> {
5566         Self::IActivationFactory(|f| f.activate_instance::<Self>())
5567     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5568     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5569         static mut SHARED: ::windows::runtime::FactoryCache<RemoteLauncherOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
5570         unsafe { SHARED.call(callback) }
5571     }
5572     #[cfg(feature = "Foundation")]
FallbackUri(&self) -> ::windows::runtime::Result<super::Foundation::Uri>5573     pub fn FallbackUri(&self) -> ::windows::runtime::Result<super::Foundation::Uri> {
5574         let this = self;
5575         unsafe {
5576             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5577             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Uri>(result__)
5578         }
5579     }
5580     #[cfg(feature = "Foundation")]
SetFallbackUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()>5581     pub fn SetFallbackUri<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5582         let this = self;
5583         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5584     }
5585     #[cfg(feature = "Foundation_Collections")]
PreferredAppIds(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>5586     pub fn PreferredAppIds(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> {
5587         let this = self;
5588         unsafe {
5589             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5590             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__)
5591         }
5592     }
5593 }
5594 unsafe impl ::windows::runtime::RuntimeType for RemoteLauncherOptions {
5595     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.RemoteLauncherOptions;{9e3a2788-2891-4cdf-a2d6-9dff7d02e693})");
5596 }
5597 unsafe impl ::windows::runtime::Interface for RemoteLauncherOptions {
5598     type Vtable = IRemoteLauncherOptions_abi;
5599     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2654611336, 10385, 19679, [162, 214, 157, 255, 125, 2, 230, 147]);
5600 }
5601 impl ::windows::runtime::RuntimeName for RemoteLauncherOptions {
5602     const NAME: &'static str = "Windows.System.RemoteLauncherOptions";
5603 }
5604 impl ::std::convert::From<RemoteLauncherOptions> for ::windows::runtime::IUnknown {
from(value: RemoteLauncherOptions) -> Self5605     fn from(value: RemoteLauncherOptions) -> Self {
5606         unsafe { ::std::mem::transmute(value) }
5607     }
5608 }
5609 impl ::std::convert::From<&RemoteLauncherOptions> for ::windows::runtime::IUnknown {
from(value: &RemoteLauncherOptions) -> Self5610     fn from(value: &RemoteLauncherOptions) -> Self {
5611         ::std::convert::From::from(::std::clone::Clone::clone(value))
5612     }
5613 }
5614 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for RemoteLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5615     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5616         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5617     }
5618 }
5619 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &RemoteLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5620     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5621         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5622     }
5623 }
5624 impl ::std::convert::From<RemoteLauncherOptions> for ::windows::runtime::IInspectable {
from(value: RemoteLauncherOptions) -> Self5625     fn from(value: RemoteLauncherOptions) -> Self {
5626         value.0
5627     }
5628 }
5629 impl ::std::convert::From<&RemoteLauncherOptions> for ::windows::runtime::IInspectable {
from(value: &RemoteLauncherOptions) -> Self5630     fn from(value: &RemoteLauncherOptions) -> Self {
5631         value.0.clone()
5632     }
5633 }
5634 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for RemoteLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5635     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5636         ::windows::runtime::Param::Owned(self.0)
5637     }
5638 }
5639 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a RemoteLauncherOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5640     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5641         ::windows::runtime::Param::Borrowed(&self.0)
5642     }
5643 }
5644 unsafe impl ::std::marker::Send for RemoteLauncherOptions {}
5645 unsafe impl ::std::marker::Sync for RemoteLauncherOptions {}
5646 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5647 #[repr(transparent)]
5648 pub struct ShutdownKind(pub i32);
5649 impl ShutdownKind {
5650     pub const Shutdown: ShutdownKind = ShutdownKind(0i32);
5651     pub const Restart: ShutdownKind = ShutdownKind(1i32);
5652 }
5653 impl ::std::convert::From<i32> for ShutdownKind {
from(value: i32) -> Self5654     fn from(value: i32) -> Self {
5655         Self(value)
5656     }
5657 }
5658 unsafe impl ::windows::runtime::Abi for ShutdownKind {
5659     type Abi = Self;
5660     type DefaultType = Self;
5661 }
5662 unsafe impl ::windows::runtime::RuntimeType for ShutdownKind {
5663     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.ShutdownKind;i4)");
5664 }
5665 pub struct ShutdownManager {}
5666 impl ShutdownManager {
5667     #[cfg(feature = "Foundation")]
BeginShutdown<'a, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(shutdownkind: ShutdownKind, timeout: Param1) -> ::windows::runtime::Result<()>5668     pub fn BeginShutdown<'a, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(shutdownkind: ShutdownKind, timeout: Param1) -> ::windows::runtime::Result<()> {
5669         Self::IShutdownManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), shutdownkind, timeout.into_param().abi()).ok() })
5670     }
CancelShutdown() -> ::windows::runtime::Result<()>5671     pub fn CancelShutdown() -> ::windows::runtime::Result<()> {
5672         Self::IShutdownManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() })
5673     }
IsPowerStateSupported(powerstate: PowerState) -> ::windows::runtime::Result<bool>5674     pub fn IsPowerStateSupported(powerstate: PowerState) -> ::windows::runtime::Result<bool> {
5675         Self::IShutdownManagerStatics2(|this| unsafe {
5676             let mut result__: bool = ::std::mem::zeroed();
5677             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), powerstate, &mut result__).from_abi::<bool>(result__)
5678         })
5679     }
EnterPowerState(powerstate: PowerState) -> ::windows::runtime::Result<()>5680     pub fn EnterPowerState(powerstate: PowerState) -> ::windows::runtime::Result<()> {
5681         Self::IShutdownManagerStatics2(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), powerstate).ok() })
5682     }
5683     #[cfg(feature = "Foundation")]
EnterPowerStateWithTimeSpan<'a, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(powerstate: PowerState, wakeupafter: Param1) -> ::windows::runtime::Result<()>5684     pub fn EnterPowerStateWithTimeSpan<'a, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(powerstate: PowerState, wakeupafter: Param1) -> ::windows::runtime::Result<()> {
5685         Self::IShutdownManagerStatics2(|this| unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), powerstate, wakeupafter.into_param().abi()).ok() })
5686     }
IShutdownManagerStatics<R, F: FnOnce(&IShutdownManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5687     pub fn IShutdownManagerStatics<R, F: FnOnce(&IShutdownManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5688         static mut SHARED: ::windows::runtime::FactoryCache<ShutdownManager, IShutdownManagerStatics> = ::windows::runtime::FactoryCache::new();
5689         unsafe { SHARED.call(callback) }
5690     }
IShutdownManagerStatics2<R, F: FnOnce(&IShutdownManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5691     pub fn IShutdownManagerStatics2<R, F: FnOnce(&IShutdownManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5692         static mut SHARED: ::windows::runtime::FactoryCache<ShutdownManager, IShutdownManagerStatics2> = ::windows::runtime::FactoryCache::new();
5693         unsafe { SHARED.call(callback) }
5694     }
5695 }
5696 impl ::windows::runtime::RuntimeName for ShutdownManager {
5697     const NAME: &'static str = "Windows.System.ShutdownManager";
5698 }
5699 #[repr(C)]
5700 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
5701 pub struct SystemManagementContract(pub u8);
5702 pub struct TimeZoneSettings {}
5703 impl TimeZoneSettings {
CurrentTimeZoneDisplayName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>5704     pub fn CurrentTimeZoneDisplayName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5705         Self::ITimeZoneSettingsStatics(|this| unsafe {
5706             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5707             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5708         })
5709     }
5710     #[cfg(feature = "Foundation_Collections")]
SupportedTimeZoneDisplayNames() -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>5711     pub fn SupportedTimeZoneDisplayNames() -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>> {
5712         Self::ITimeZoneSettingsStatics(|this| unsafe {
5713             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5714             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>(result__)
5715         })
5716     }
CanChangeTimeZone() -> ::windows::runtime::Result<bool>5717     pub fn CanChangeTimeZone() -> ::windows::runtime::Result<bool> {
5718         Self::ITimeZoneSettingsStatics(|this| unsafe {
5719             let mut result__: bool = ::std::mem::zeroed();
5720             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5721         })
5722     }
ChangeTimeZoneByDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(timezonedisplayname: Param0) -> ::windows::runtime::Result<()>5723     pub fn ChangeTimeZoneByDisplayName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(timezonedisplayname: Param0) -> ::windows::runtime::Result<()> {
5724         Self::ITimeZoneSettingsStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), timezonedisplayname.into_param().abi()).ok() })
5725     }
5726     #[cfg(feature = "Foundation")]
AutoUpdateTimeZoneAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(timeout: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AutoUpdateTimeZoneStatus>>5727     pub fn AutoUpdateTimeZoneAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(timeout: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<AutoUpdateTimeZoneStatus>> {
5728         Self::ITimeZoneSettingsStatics2(|this| unsafe {
5729             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5730             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), timeout.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<AutoUpdateTimeZoneStatus>>(result__)
5731         })
5732     }
ITimeZoneSettingsStatics<R, F: FnOnce(&ITimeZoneSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5733     pub fn ITimeZoneSettingsStatics<R, F: FnOnce(&ITimeZoneSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5734         static mut SHARED: ::windows::runtime::FactoryCache<TimeZoneSettings, ITimeZoneSettingsStatics> = ::windows::runtime::FactoryCache::new();
5735         unsafe { SHARED.call(callback) }
5736     }
ITimeZoneSettingsStatics2<R, F: FnOnce(&ITimeZoneSettingsStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5737     pub fn ITimeZoneSettingsStatics2<R, F: FnOnce(&ITimeZoneSettingsStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5738         static mut SHARED: ::windows::runtime::FactoryCache<TimeZoneSettings, ITimeZoneSettingsStatics2> = ::windows::runtime::FactoryCache::new();
5739         unsafe { SHARED.call(callback) }
5740     }
5741 }
5742 impl ::windows::runtime::RuntimeName for TimeZoneSettings {
5743     const NAME: &'static str = "Windows.System.TimeZoneSettings";
5744 }
5745 #[repr(transparent)]
5746 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5747 pub struct User(::windows::runtime::IInspectable);
5748 impl User {
NonRoamableId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5749     pub fn NonRoamableId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5750         let this = self;
5751         unsafe {
5752             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5753             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5754         }
5755     }
AuthenticationStatus(&self) -> ::windows::runtime::Result<UserAuthenticationStatus>5756     pub fn AuthenticationStatus(&self) -> ::windows::runtime::Result<UserAuthenticationStatus> {
5757         let this = self;
5758         unsafe {
5759             let mut result__: UserAuthenticationStatus = ::std::mem::zeroed();
5760             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserAuthenticationStatus>(result__)
5761         }
5762     }
Type(&self) -> ::windows::runtime::Result<UserType>5763     pub fn Type(&self) -> ::windows::runtime::Result<UserType> {
5764         let this = self;
5765         unsafe {
5766             let mut result__: UserType = ::std::mem::zeroed();
5767             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserType>(result__)
5768         }
5769     }
5770     #[cfg(feature = "Foundation")]
GetPropertyAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::IInspectable>>5771     pub fn GetPropertyAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::IInspectable>> {
5772         let this = self;
5773         unsafe {
5774             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5775             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<::windows::runtime::IInspectable>>(result__)
5776         }
5777     }
5778     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetPropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>>(&self, values: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IPropertySet>>5779     pub fn GetPropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>>(&self, values: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IPropertySet>> {
5780         let this = self;
5781         unsafe {
5782             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5783             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), values.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IPropertySet>>(result__)
5784         }
5785     }
5786     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
GetPictureAsync(&self, desiredsize: UserPictureSize) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Storage::Streams::IRandomAccessStreamReference>>5787     pub fn GetPictureAsync(&self, desiredsize: UserPictureSize) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Storage::Streams::IRandomAccessStreamReference>> {
5788         let this = self;
5789         unsafe {
5790             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5791             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), desiredsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Storage::Streams::IRandomAccessStreamReference>>(result__)
5792         }
5793     }
CreateWatcher() -> ::windows::runtime::Result<UserWatcher>5794     pub fn CreateWatcher() -> ::windows::runtime::Result<UserWatcher> {
5795         Self::IUserStatics(|this| unsafe {
5796             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5797             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserWatcher>(result__)
5798         })
5799     }
5800     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
FindAllAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>>5801     pub fn FindAllAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>> {
5802         Self::IUserStatics(|this| unsafe {
5803             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5804             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>>(result__)
5805         })
5806     }
5807     #[cfg(feature = "deprecated")]
5808     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
FindAllAsyncByType(r#type: UserType) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>>5809     pub fn FindAllAsyncByType(r#type: UserType) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>> {
5810         Self::IUserStatics(|this| unsafe {
5811             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5812             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>>(result__)
5813         })
5814     }
5815     #[cfg(feature = "deprecated")]
5816     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
FindAllAsyncByTypeAndStatus(r#type: UserType, status: UserAuthenticationStatus) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>>5817     pub fn FindAllAsyncByTypeAndStatus(r#type: UserType, status: UserAuthenticationStatus) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>> {
5818         Self::IUserStatics(|this| unsafe {
5819             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5820             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), r#type, status, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<User>>>(result__)
5821         })
5822     }
GetFromId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(nonroamableid: Param0) -> ::windows::runtime::Result<User>5823     pub fn GetFromId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(nonroamableid: Param0) -> ::windows::runtime::Result<User> {
5824         Self::IUserStatics(|this| unsafe {
5825             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5826             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), nonroamableid.into_param().abi(), &mut result__).from_abi::<User>(result__)
5827         })
5828     }
GetDefault() -> ::windows::runtime::Result<User>5829     pub fn GetDefault() -> ::windows::runtime::Result<User> {
5830         Self::IUserStatics2(|this| unsafe {
5831             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5832             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
5833         })
5834     }
5835     #[cfg(feature = "Foundation")]
CheckUserAgeConsentGroupAsync(&self, consentgroup: UserAgeConsentGroup) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<UserAgeConsentResult>>5836     pub fn CheckUserAgeConsentGroupAsync(&self, consentgroup: UserAgeConsentGroup) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<UserAgeConsentResult>> {
5837         let this = &::windows::runtime::Interface::cast::<IUser2>(self)?;
5838         unsafe {
5839             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5840             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), consentgroup, &mut result__).from_abi::<super::Foundation::IAsyncOperation<UserAgeConsentResult>>(result__)
5841         }
5842     }
IUserStatics<R, F: FnOnce(&IUserStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5843     pub fn IUserStatics<R, F: FnOnce(&IUserStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5844         static mut SHARED: ::windows::runtime::FactoryCache<User, IUserStatics> = ::windows::runtime::FactoryCache::new();
5845         unsafe { SHARED.call(callback) }
5846     }
IUserStatics2<R, F: FnOnce(&IUserStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5847     pub fn IUserStatics2<R, F: FnOnce(&IUserStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5848         static mut SHARED: ::windows::runtime::FactoryCache<User, IUserStatics2> = ::windows::runtime::FactoryCache::new();
5849         unsafe { SHARED.call(callback) }
5850     }
5851 }
5852 unsafe impl ::windows::runtime::RuntimeType for User {
5853     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.User;{df9a26c6-e746-4bcd-b5d4-120103c4209b})");
5854 }
5855 unsafe impl ::windows::runtime::Interface for User {
5856     type Vtable = IUser_abi;
5857     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3751421638, 59206, 19405, [181, 212, 18, 1, 3, 196, 32, 155]);
5858 }
5859 impl ::windows::runtime::RuntimeName for User {
5860     const NAME: &'static str = "Windows.System.User";
5861 }
5862 impl ::std::convert::From<User> for ::windows::runtime::IUnknown {
from(value: User) -> Self5863     fn from(value: User) -> Self {
5864         unsafe { ::std::mem::transmute(value) }
5865     }
5866 }
5867 impl ::std::convert::From<&User> for ::windows::runtime::IUnknown {
from(value: &User) -> Self5868     fn from(value: &User) -> Self {
5869         ::std::convert::From::from(::std::clone::Clone::clone(value))
5870     }
5871 }
5872 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for User {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5873     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5874         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5875     }
5876 }
5877 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &User {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5878     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5879         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5880     }
5881 }
5882 impl ::std::convert::From<User> for ::windows::runtime::IInspectable {
from(value: User) -> Self5883     fn from(value: User) -> Self {
5884         value.0
5885     }
5886 }
5887 impl ::std::convert::From<&User> for ::windows::runtime::IInspectable {
from(value: &User) -> Self5888     fn from(value: &User) -> Self {
5889         value.0.clone()
5890     }
5891 }
5892 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for User {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5893     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5894         ::windows::runtime::Param::Owned(self.0)
5895     }
5896 }
5897 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a User {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5898     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5899         ::windows::runtime::Param::Borrowed(&self.0)
5900     }
5901 }
5902 unsafe impl ::std::marker::Send for User {}
5903 unsafe impl ::std::marker::Sync for User {}
5904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5905 #[repr(transparent)]
5906 pub struct UserAgeConsentGroup(pub i32);
5907 impl UserAgeConsentGroup {
5908     pub const Child: UserAgeConsentGroup = UserAgeConsentGroup(0i32);
5909     pub const Minor: UserAgeConsentGroup = UserAgeConsentGroup(1i32);
5910     pub const Adult: UserAgeConsentGroup = UserAgeConsentGroup(2i32);
5911 }
5912 impl ::std::convert::From<i32> for UserAgeConsentGroup {
from(value: i32) -> Self5913     fn from(value: i32) -> Self {
5914         Self(value)
5915     }
5916 }
5917 unsafe impl ::windows::runtime::Abi for UserAgeConsentGroup {
5918     type Abi = Self;
5919     type DefaultType = Self;
5920 }
5921 unsafe impl ::windows::runtime::RuntimeType for UserAgeConsentGroup {
5922     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserAgeConsentGroup;i4)");
5923 }
5924 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5925 #[repr(transparent)]
5926 pub struct UserAgeConsentResult(pub i32);
5927 impl UserAgeConsentResult {
5928     pub const NotEnforced: UserAgeConsentResult = UserAgeConsentResult(0i32);
5929     pub const Included: UserAgeConsentResult = UserAgeConsentResult(1i32);
5930     pub const NotIncluded: UserAgeConsentResult = UserAgeConsentResult(2i32);
5931     pub const Unknown: UserAgeConsentResult = UserAgeConsentResult(3i32);
5932     pub const Ambiguous: UserAgeConsentResult = UserAgeConsentResult(4i32);
5933 }
5934 impl ::std::convert::From<i32> for UserAgeConsentResult {
from(value: i32) -> Self5935     fn from(value: i32) -> Self {
5936         Self(value)
5937     }
5938 }
5939 unsafe impl ::windows::runtime::Abi for UserAgeConsentResult {
5940     type Abi = Self;
5941     type DefaultType = Self;
5942 }
5943 unsafe impl ::windows::runtime::RuntimeType for UserAgeConsentResult {
5944     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserAgeConsentResult;i4)");
5945 }
5946 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5947 #[repr(transparent)]
5948 pub struct UserAuthenticationStatus(pub i32);
5949 impl UserAuthenticationStatus {
5950     pub const Unauthenticated: UserAuthenticationStatus = UserAuthenticationStatus(0i32);
5951     pub const LocallyAuthenticated: UserAuthenticationStatus = UserAuthenticationStatus(1i32);
5952     pub const RemotelyAuthenticated: UserAuthenticationStatus = UserAuthenticationStatus(2i32);
5953 }
5954 impl ::std::convert::From<i32> for UserAuthenticationStatus {
from(value: i32) -> Self5955     fn from(value: i32) -> Self {
5956         Self(value)
5957     }
5958 }
5959 unsafe impl ::windows::runtime::Abi for UserAuthenticationStatus {
5960     type Abi = Self;
5961     type DefaultType = Self;
5962 }
5963 unsafe impl ::windows::runtime::RuntimeType for UserAuthenticationStatus {
5964     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserAuthenticationStatus;i4)");
5965 }
5966 #[repr(transparent)]
5967 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5968 pub struct UserAuthenticationStatusChangeDeferral(::windows::runtime::IInspectable);
5969 impl UserAuthenticationStatusChangeDeferral {
Complete(&self) -> ::windows::runtime::Result<()>5970     pub fn Complete(&self) -> ::windows::runtime::Result<()> {
5971         let this = self;
5972         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
5973     }
5974 }
5975 unsafe impl ::windows::runtime::RuntimeType for UserAuthenticationStatusChangeDeferral {
5976     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.UserAuthenticationStatusChangeDeferral;{88b59568-bb30-42fb-a270-e9902e40efa7})");
5977 }
5978 unsafe impl ::windows::runtime::Interface for UserAuthenticationStatusChangeDeferral {
5979     type Vtable = IUserAuthenticationStatusChangeDeferral_abi;
5980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2293601640, 47920, 17147, [162, 112, 233, 144, 46, 64, 239, 167]);
5981 }
5982 impl ::windows::runtime::RuntimeName for UserAuthenticationStatusChangeDeferral {
5983     const NAME: &'static str = "Windows.System.UserAuthenticationStatusChangeDeferral";
5984 }
5985 impl ::std::convert::From<UserAuthenticationStatusChangeDeferral> for ::windows::runtime::IUnknown {
from(value: UserAuthenticationStatusChangeDeferral) -> Self5986     fn from(value: UserAuthenticationStatusChangeDeferral) -> Self {
5987         unsafe { ::std::mem::transmute(value) }
5988     }
5989 }
5990 impl ::std::convert::From<&UserAuthenticationStatusChangeDeferral> for ::windows::runtime::IUnknown {
from(value: &UserAuthenticationStatusChangeDeferral) -> Self5991     fn from(value: &UserAuthenticationStatusChangeDeferral) -> Self {
5992         ::std::convert::From::from(::std::clone::Clone::clone(value))
5993     }
5994 }
5995 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserAuthenticationStatusChangeDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5996     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5997         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5998     }
5999 }
6000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserAuthenticationStatusChangeDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6002         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6003     }
6004 }
6005 impl ::std::convert::From<UserAuthenticationStatusChangeDeferral> for ::windows::runtime::IInspectable {
from(value: UserAuthenticationStatusChangeDeferral) -> Self6006     fn from(value: UserAuthenticationStatusChangeDeferral) -> Self {
6007         value.0
6008     }
6009 }
6010 impl ::std::convert::From<&UserAuthenticationStatusChangeDeferral> for ::windows::runtime::IInspectable {
from(value: &UserAuthenticationStatusChangeDeferral) -> Self6011     fn from(value: &UserAuthenticationStatusChangeDeferral) -> Self {
6012         value.0.clone()
6013     }
6014 }
6015 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserAuthenticationStatusChangeDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6016     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6017         ::windows::runtime::Param::Owned(self.0)
6018     }
6019 }
6020 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserAuthenticationStatusChangeDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6021     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6022         ::windows::runtime::Param::Borrowed(&self.0)
6023     }
6024 }
6025 unsafe impl ::std::marker::Send for UserAuthenticationStatusChangeDeferral {}
6026 unsafe impl ::std::marker::Sync for UserAuthenticationStatusChangeDeferral {}
6027 #[repr(transparent)]
6028 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6029 pub struct UserAuthenticationStatusChangingEventArgs(::windows::runtime::IInspectable);
6030 impl UserAuthenticationStatusChangingEventArgs {
GetDeferral(&self) -> ::windows::runtime::Result<UserAuthenticationStatusChangeDeferral>6031     pub fn GetDeferral(&self) -> ::windows::runtime::Result<UserAuthenticationStatusChangeDeferral> {
6032         let this = self;
6033         unsafe {
6034             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6035             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserAuthenticationStatusChangeDeferral>(result__)
6036         }
6037     }
User(&self) -> ::windows::runtime::Result<User>6038     pub fn User(&self) -> ::windows::runtime::Result<User> {
6039         let this = self;
6040         unsafe {
6041             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6042             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
6043         }
6044     }
NewStatus(&self) -> ::windows::runtime::Result<UserAuthenticationStatus>6045     pub fn NewStatus(&self) -> ::windows::runtime::Result<UserAuthenticationStatus> {
6046         let this = self;
6047         unsafe {
6048             let mut result__: UserAuthenticationStatus = ::std::mem::zeroed();
6049             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserAuthenticationStatus>(result__)
6050         }
6051     }
CurrentStatus(&self) -> ::windows::runtime::Result<UserAuthenticationStatus>6052     pub fn CurrentStatus(&self) -> ::windows::runtime::Result<UserAuthenticationStatus> {
6053         let this = self;
6054         unsafe {
6055             let mut result__: UserAuthenticationStatus = ::std::mem::zeroed();
6056             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserAuthenticationStatus>(result__)
6057         }
6058     }
6059 }
6060 unsafe impl ::windows::runtime::RuntimeType for UserAuthenticationStatusChangingEventArgs {
6061     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.UserAuthenticationStatusChangingEventArgs;{8c030f28-a711-4c1e-ab48-04179c15938f})");
6062 }
6063 unsafe impl ::windows::runtime::Interface for UserAuthenticationStatusChangingEventArgs {
6064     type Vtable = IUserAuthenticationStatusChangingEventArgs_abi;
6065     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2349010728, 42769, 19486, [171, 72, 4, 23, 156, 21, 147, 143]);
6066 }
6067 impl ::windows::runtime::RuntimeName for UserAuthenticationStatusChangingEventArgs {
6068     const NAME: &'static str = "Windows.System.UserAuthenticationStatusChangingEventArgs";
6069 }
6070 impl ::std::convert::From<UserAuthenticationStatusChangingEventArgs> for ::windows::runtime::IUnknown {
from(value: UserAuthenticationStatusChangingEventArgs) -> Self6071     fn from(value: UserAuthenticationStatusChangingEventArgs) -> Self {
6072         unsafe { ::std::mem::transmute(value) }
6073     }
6074 }
6075 impl ::std::convert::From<&UserAuthenticationStatusChangingEventArgs> for ::windows::runtime::IUnknown {
from(value: &UserAuthenticationStatusChangingEventArgs) -> Self6076     fn from(value: &UserAuthenticationStatusChangingEventArgs) -> Self {
6077         ::std::convert::From::from(::std::clone::Clone::clone(value))
6078     }
6079 }
6080 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserAuthenticationStatusChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6081     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6082         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6083     }
6084 }
6085 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserAuthenticationStatusChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6086     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6087         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6088     }
6089 }
6090 impl ::std::convert::From<UserAuthenticationStatusChangingEventArgs> for ::windows::runtime::IInspectable {
from(value: UserAuthenticationStatusChangingEventArgs) -> Self6091     fn from(value: UserAuthenticationStatusChangingEventArgs) -> Self {
6092         value.0
6093     }
6094 }
6095 impl ::std::convert::From<&UserAuthenticationStatusChangingEventArgs> for ::windows::runtime::IInspectable {
from(value: &UserAuthenticationStatusChangingEventArgs) -> Self6096     fn from(value: &UserAuthenticationStatusChangingEventArgs) -> Self {
6097         value.0.clone()
6098     }
6099 }
6100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserAuthenticationStatusChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6102         ::windows::runtime::Param::Owned(self.0)
6103     }
6104 }
6105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserAuthenticationStatusChangingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6107         ::windows::runtime::Param::Borrowed(&self.0)
6108     }
6109 }
6110 unsafe impl ::std::marker::Send for UserAuthenticationStatusChangingEventArgs {}
6111 unsafe impl ::std::marker::Sync for UserAuthenticationStatusChangingEventArgs {}
6112 #[repr(transparent)]
6113 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6114 pub struct UserChangedEventArgs(::windows::runtime::IInspectable);
6115 impl UserChangedEventArgs {
User(&self) -> ::windows::runtime::Result<User>6116     pub fn User(&self) -> ::windows::runtime::Result<User> {
6117         let this = self;
6118         unsafe {
6119             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6120             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
6121         }
6122     }
6123     #[cfg(feature = "Foundation_Collections")]
ChangedPropertyKinds(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<UserWatcherUpdateKind>>6124     pub fn ChangedPropertyKinds(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<UserWatcherUpdateKind>> {
6125         let this = &::windows::runtime::Interface::cast::<IUserChangedEventArgs2>(self)?;
6126         unsafe {
6127             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6128             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<UserWatcherUpdateKind>>(result__)
6129         }
6130     }
6131 }
6132 unsafe impl ::windows::runtime::RuntimeType for UserChangedEventArgs {
6133     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.UserChangedEventArgs;{086459dc-18c6-48db-bc99-724fb9203ccc})");
6134 }
6135 unsafe impl ::windows::runtime::Interface for UserChangedEventArgs {
6136     type Vtable = IUserChangedEventArgs_abi;
6137     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(140794332, 6342, 18651, [188, 153, 114, 79, 185, 32, 60, 204]);
6138 }
6139 impl ::windows::runtime::RuntimeName for UserChangedEventArgs {
6140     const NAME: &'static str = "Windows.System.UserChangedEventArgs";
6141 }
6142 impl ::std::convert::From<UserChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: UserChangedEventArgs) -> Self6143     fn from(value: UserChangedEventArgs) -> Self {
6144         unsafe { ::std::mem::transmute(value) }
6145     }
6146 }
6147 impl ::std::convert::From<&UserChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &UserChangedEventArgs) -> Self6148     fn from(value: &UserChangedEventArgs) -> Self {
6149         ::std::convert::From::from(::std::clone::Clone::clone(value))
6150     }
6151 }
6152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6154         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6155     }
6156 }
6157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6159         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6160     }
6161 }
6162 impl ::std::convert::From<UserChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: UserChangedEventArgs) -> Self6163     fn from(value: UserChangedEventArgs) -> Self {
6164         value.0
6165     }
6166 }
6167 impl ::std::convert::From<&UserChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &UserChangedEventArgs) -> Self6168     fn from(value: &UserChangedEventArgs) -> Self {
6169         value.0.clone()
6170     }
6171 }
6172 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6173     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6174         ::windows::runtime::Param::Owned(self.0)
6175     }
6176 }
6177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6179         ::windows::runtime::Param::Borrowed(&self.0)
6180     }
6181 }
6182 unsafe impl ::std::marker::Send for UserChangedEventArgs {}
6183 unsafe impl ::std::marker::Sync for UserChangedEventArgs {}
6184 pub struct UserDeviceAssociation {}
6185 impl UserDeviceAssociation {
FindUserFromDeviceId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<User>6186     pub fn FindUserFromDeviceId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<User> {
6187         Self::IUserDeviceAssociationStatics(|this| unsafe {
6188             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6189             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<User>(result__)
6190         })
6191     }
6192     #[cfg(feature = "Foundation")]
UserDeviceAssociationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<UserDeviceAssociationChangedEventArgs>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6193     pub fn UserDeviceAssociationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<UserDeviceAssociationChangedEventArgs>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6194         Self::IUserDeviceAssociationStatics(|this| unsafe {
6195             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6196             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6197         })
6198     }
6199     #[cfg(feature = "Foundation")]
RemoveUserDeviceAssociationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>6200     pub fn RemoveUserDeviceAssociationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
6201         Self::IUserDeviceAssociationStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
6202     }
IUserDeviceAssociationStatics<R, F: FnOnce(&IUserDeviceAssociationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6203     pub fn IUserDeviceAssociationStatics<R, F: FnOnce(&IUserDeviceAssociationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6204         static mut SHARED: ::windows::runtime::FactoryCache<UserDeviceAssociation, IUserDeviceAssociationStatics> = ::windows::runtime::FactoryCache::new();
6205         unsafe { SHARED.call(callback) }
6206     }
6207 }
6208 impl ::windows::runtime::RuntimeName for UserDeviceAssociation {
6209     const NAME: &'static str = "Windows.System.UserDeviceAssociation";
6210 }
6211 #[repr(transparent)]
6212 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6213 pub struct UserDeviceAssociationChangedEventArgs(::windows::runtime::IInspectable);
6214 impl UserDeviceAssociationChangedEventArgs {
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6215     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6216         let this = self;
6217         unsafe {
6218             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6219             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6220         }
6221     }
NewUser(&self) -> ::windows::runtime::Result<User>6222     pub fn NewUser(&self) -> ::windows::runtime::Result<User> {
6223         let this = self;
6224         unsafe {
6225             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6226             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
6227         }
6228     }
OldUser(&self) -> ::windows::runtime::Result<User>6229     pub fn OldUser(&self) -> ::windows::runtime::Result<User> {
6230         let this = self;
6231         unsafe {
6232             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6233             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
6234         }
6235     }
6236 }
6237 unsafe impl ::windows::runtime::RuntimeType for UserDeviceAssociationChangedEventArgs {
6238     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.UserDeviceAssociationChangedEventArgs;{bd1f6f6c-bb5d-4d7b-a5f0-c8cd11a38d42})");
6239 }
6240 unsafe impl ::windows::runtime::Interface for UserDeviceAssociationChangedEventArgs {
6241     type Vtable = IUserDeviceAssociationChangedEventArgs_abi;
6242     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3172953964, 47965, 19835, [165, 240, 200, 205, 17, 163, 141, 66]);
6243 }
6244 impl ::windows::runtime::RuntimeName for UserDeviceAssociationChangedEventArgs {
6245     const NAME: &'static str = "Windows.System.UserDeviceAssociationChangedEventArgs";
6246 }
6247 impl ::std::convert::From<UserDeviceAssociationChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: UserDeviceAssociationChangedEventArgs) -> Self6248     fn from(value: UserDeviceAssociationChangedEventArgs) -> Self {
6249         unsafe { ::std::mem::transmute(value) }
6250     }
6251 }
6252 impl ::std::convert::From<&UserDeviceAssociationChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &UserDeviceAssociationChangedEventArgs) -> Self6253     fn from(value: &UserDeviceAssociationChangedEventArgs) -> Self {
6254         ::std::convert::From::from(::std::clone::Clone::clone(value))
6255     }
6256 }
6257 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserDeviceAssociationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6258     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6259         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6260     }
6261 }
6262 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserDeviceAssociationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6263     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6264         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6265     }
6266 }
6267 impl ::std::convert::From<UserDeviceAssociationChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: UserDeviceAssociationChangedEventArgs) -> Self6268     fn from(value: UserDeviceAssociationChangedEventArgs) -> Self {
6269         value.0
6270     }
6271 }
6272 impl ::std::convert::From<&UserDeviceAssociationChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &UserDeviceAssociationChangedEventArgs) -> Self6273     fn from(value: &UserDeviceAssociationChangedEventArgs) -> Self {
6274         value.0.clone()
6275     }
6276 }
6277 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserDeviceAssociationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6278     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6279         ::windows::runtime::Param::Owned(self.0)
6280     }
6281 }
6282 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserDeviceAssociationChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6283     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6284         ::windows::runtime::Param::Borrowed(&self.0)
6285     }
6286 }
6287 unsafe impl ::std::marker::Send for UserDeviceAssociationChangedEventArgs {}
6288 unsafe impl ::std::marker::Sync for UserDeviceAssociationChangedEventArgs {}
6289 #[repr(transparent)]
6290 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6291 pub struct UserPicker(::windows::runtime::IInspectable);
6292 impl UserPicker {
new() -> ::windows::runtime::Result<Self>6293     pub fn new() -> ::windows::runtime::Result<Self> {
6294         Self::IActivationFactory(|f| f.activate_instance::<Self>())
6295     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6296     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6297         static mut SHARED: ::windows::runtime::FactoryCache<UserPicker, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
6298         unsafe { SHARED.call(callback) }
6299     }
AllowGuestAccounts(&self) -> ::windows::runtime::Result<bool>6300     pub fn AllowGuestAccounts(&self) -> ::windows::runtime::Result<bool> {
6301         let this = self;
6302         unsafe {
6303             let mut result__: bool = ::std::mem::zeroed();
6304             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6305         }
6306     }
SetAllowGuestAccounts(&self, value: bool) -> ::windows::runtime::Result<()>6307     pub fn SetAllowGuestAccounts(&self, value: bool) -> ::windows::runtime::Result<()> {
6308         let this = self;
6309         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
6310     }
SuggestedSelectedUser(&self) -> ::windows::runtime::Result<User>6311     pub fn SuggestedSelectedUser(&self) -> ::windows::runtime::Result<User> {
6312         let this = self;
6313         unsafe {
6314             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6315             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<User>(result__)
6316         }
6317     }
SetSuggestedSelectedUser<'a, Param0: ::windows::runtime::IntoParam<'a, User>>(&self, value: Param0) -> ::windows::runtime::Result<()>6318     pub fn SetSuggestedSelectedUser<'a, Param0: ::windows::runtime::IntoParam<'a, User>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6319         let this = self;
6320         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6321     }
6322     #[cfg(feature = "Foundation")]
PickSingleUserAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<User>>6323     pub fn PickSingleUserAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<User>> {
6324         let this = self;
6325         unsafe {
6326             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6327             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<User>>(result__)
6328         }
6329     }
IsSupported() -> ::windows::runtime::Result<bool>6330     pub fn IsSupported() -> ::windows::runtime::Result<bool> {
6331         Self::IUserPickerStatics(|this| unsafe {
6332             let mut result__: bool = ::std::mem::zeroed();
6333             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6334         })
6335     }
IUserPickerStatics<R, F: FnOnce(&IUserPickerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6336     pub fn IUserPickerStatics<R, F: FnOnce(&IUserPickerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6337         static mut SHARED: ::windows::runtime::FactoryCache<UserPicker, IUserPickerStatics> = ::windows::runtime::FactoryCache::new();
6338         unsafe { SHARED.call(callback) }
6339     }
6340 }
6341 unsafe impl ::windows::runtime::RuntimeType for UserPicker {
6342     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.UserPicker;{7d548008-f1e3-4a6c-8ddc-a9bb0f488aed})");
6343 }
6344 unsafe impl ::windows::runtime::Interface for UserPicker {
6345     type Vtable = IUserPicker_abi;
6346     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2102689800, 61923, 19052, [141, 220, 169, 187, 15, 72, 138, 237]);
6347 }
6348 impl ::windows::runtime::RuntimeName for UserPicker {
6349     const NAME: &'static str = "Windows.System.UserPicker";
6350 }
6351 impl ::std::convert::From<UserPicker> for ::windows::runtime::IUnknown {
from(value: UserPicker) -> Self6352     fn from(value: UserPicker) -> Self {
6353         unsafe { ::std::mem::transmute(value) }
6354     }
6355 }
6356 impl ::std::convert::From<&UserPicker> for ::windows::runtime::IUnknown {
from(value: &UserPicker) -> Self6357     fn from(value: &UserPicker) -> Self {
6358         ::std::convert::From::from(::std::clone::Clone::clone(value))
6359     }
6360 }
6361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserPicker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6363         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6364     }
6365 }
6366 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserPicker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6367     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6368         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6369     }
6370 }
6371 impl ::std::convert::From<UserPicker> for ::windows::runtime::IInspectable {
from(value: UserPicker) -> Self6372     fn from(value: UserPicker) -> Self {
6373         value.0
6374     }
6375 }
6376 impl ::std::convert::From<&UserPicker> for ::windows::runtime::IInspectable {
from(value: &UserPicker) -> Self6377     fn from(value: &UserPicker) -> Self {
6378         value.0.clone()
6379     }
6380 }
6381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserPicker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6382     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6383         ::windows::runtime::Param::Owned(self.0)
6384     }
6385 }
6386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserPicker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6388         ::windows::runtime::Param::Borrowed(&self.0)
6389     }
6390 }
6391 unsafe impl ::std::marker::Send for UserPicker {}
6392 unsafe impl ::std::marker::Sync for UserPicker {}
6393 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6394 #[repr(transparent)]
6395 pub struct UserPictureSize(pub i32);
6396 impl UserPictureSize {
6397     pub const Size64x64: UserPictureSize = UserPictureSize(0i32);
6398     pub const Size208x208: UserPictureSize = UserPictureSize(1i32);
6399     pub const Size424x424: UserPictureSize = UserPictureSize(2i32);
6400     pub const Size1080x1080: UserPictureSize = UserPictureSize(3i32);
6401 }
6402 impl ::std::convert::From<i32> for UserPictureSize {
from(value: i32) -> Self6403     fn from(value: i32) -> Self {
6404         Self(value)
6405     }
6406 }
6407 unsafe impl ::windows::runtime::Abi for UserPictureSize {
6408     type Abi = Self;
6409     type DefaultType = Self;
6410 }
6411 unsafe impl ::windows::runtime::RuntimeType for UserPictureSize {
6412     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserPictureSize;i4)");
6413 }
6414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6415 #[repr(transparent)]
6416 pub struct UserType(pub i32);
6417 impl UserType {
6418     pub const LocalUser: UserType = UserType(0i32);
6419     pub const RemoteUser: UserType = UserType(1i32);
6420     pub const LocalGuest: UserType = UserType(2i32);
6421     pub const RemoteGuest: UserType = UserType(3i32);
6422     pub const SystemManaged: UserType = UserType(4i32);
6423 }
6424 impl ::std::convert::From<i32> for UserType {
from(value: i32) -> Self6425     fn from(value: i32) -> Self {
6426         Self(value)
6427     }
6428 }
6429 unsafe impl ::windows::runtime::Abi for UserType {
6430     type Abi = Self;
6431     type DefaultType = Self;
6432 }
6433 unsafe impl ::windows::runtime::RuntimeType for UserType {
6434     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserType;i4)");
6435 }
6436 #[repr(transparent)]
6437 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6438 pub struct UserWatcher(::windows::runtime::IInspectable);
6439 impl UserWatcher {
Status(&self) -> ::windows::runtime::Result<UserWatcherStatus>6440     pub fn Status(&self) -> ::windows::runtime::Result<UserWatcherStatus> {
6441         let this = self;
6442         unsafe {
6443             let mut result__: UserWatcherStatus = ::std::mem::zeroed();
6444             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserWatcherStatus>(result__)
6445         }
6446     }
Start(&self) -> ::windows::runtime::Result<()>6447     pub fn Start(&self) -> ::windows::runtime::Result<()> {
6448         let this = self;
6449         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
6450     }
Stop(&self) -> ::windows::runtime::Result<()>6451     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
6452         let this = self;
6453         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
6454     }
6455     #[cfg(feature = "Foundation")]
Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6456     pub fn Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6457         let this = self;
6458         unsafe {
6459             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6460             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6461         }
6462     }
6463     #[cfg(feature = "Foundation")]
RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6464     pub fn RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6465         let this = self;
6466         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6467     }
6468     #[cfg(feature = "Foundation")]
Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6469     pub fn Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6470         let this = self;
6471         unsafe {
6472             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6473             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6474         }
6475     }
6476     #[cfg(feature = "Foundation")]
RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6477     pub fn RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6478         let this = self;
6479         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6480     }
6481     #[cfg(feature = "Foundation")]
Updated<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6482     pub fn Updated<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6483         let this = self;
6484         unsafe {
6485             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6486             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6487         }
6488     }
6489     #[cfg(feature = "Foundation")]
RemoveUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6490     pub fn RemoveUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6491         let this = self;
6492         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6493     }
6494     #[cfg(feature = "Foundation")]
AuthenticationStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6495     pub fn AuthenticationStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6496         let this = self;
6497         unsafe {
6498             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6499             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6500         }
6501     }
6502     #[cfg(feature = "Foundation")]
RemoveAuthenticationStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6503     pub fn RemoveAuthenticationStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6504         let this = self;
6505         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6506     }
6507     #[cfg(feature = "Foundation")]
AuthenticationStatusChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserAuthenticationStatusChangingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6508     pub fn AuthenticationStatusChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, UserAuthenticationStatusChangingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6509         let this = self;
6510         unsafe {
6511             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6512             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6513         }
6514     }
6515     #[cfg(feature = "Foundation")]
RemoveAuthenticationStatusChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6516     pub fn RemoveAuthenticationStatusChanging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6517         let this = self;
6518         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6519     }
6520     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6521     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6522         let this = self;
6523         unsafe {
6524             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6525             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6526         }
6527     }
6528     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6529     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6530         let this = self;
6531         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6532     }
6533     #[cfg(feature = "Foundation")]
Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6534     pub fn Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<UserWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6535         let this = self;
6536         unsafe {
6537             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6538             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6539         }
6540     }
6541     #[cfg(feature = "Foundation")]
RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6542     pub fn RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6543         let this = self;
6544         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6545     }
6546 }
6547 unsafe impl ::windows::runtime::RuntimeType for UserWatcher {
6548     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.UserWatcher;{155eb23b-242a-45e0-a2e9-3171fc6a7fbb})");
6549 }
6550 unsafe impl ::windows::runtime::Interface for UserWatcher {
6551     type Vtable = IUserWatcher_abi;
6552     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(358527547, 9258, 17888, [162, 233, 49, 113, 252, 106, 127, 187]);
6553 }
6554 impl ::windows::runtime::RuntimeName for UserWatcher {
6555     const NAME: &'static str = "Windows.System.UserWatcher";
6556 }
6557 impl ::std::convert::From<UserWatcher> for ::windows::runtime::IUnknown {
from(value: UserWatcher) -> Self6558     fn from(value: UserWatcher) -> Self {
6559         unsafe { ::std::mem::transmute(value) }
6560     }
6561 }
6562 impl ::std::convert::From<&UserWatcher> for ::windows::runtime::IUnknown {
from(value: &UserWatcher) -> Self6563     fn from(value: &UserWatcher) -> Self {
6564         ::std::convert::From::from(::std::clone::Clone::clone(value))
6565     }
6566 }
6567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6569         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6570     }
6571 }
6572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6574         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6575     }
6576 }
6577 impl ::std::convert::From<UserWatcher> for ::windows::runtime::IInspectable {
from(value: UserWatcher) -> Self6578     fn from(value: UserWatcher) -> Self {
6579         value.0
6580     }
6581 }
6582 impl ::std::convert::From<&UserWatcher> for ::windows::runtime::IInspectable {
from(value: &UserWatcher) -> Self6583     fn from(value: &UserWatcher) -> Self {
6584         value.0.clone()
6585     }
6586 }
6587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6589         ::windows::runtime::Param::Owned(self.0)
6590     }
6591 }
6592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6594         ::windows::runtime::Param::Borrowed(&self.0)
6595     }
6596 }
6597 unsafe impl ::std::marker::Send for UserWatcher {}
6598 unsafe impl ::std::marker::Sync for UserWatcher {}
6599 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6600 #[repr(transparent)]
6601 pub struct UserWatcherStatus(pub i32);
6602 impl UserWatcherStatus {
6603     pub const Created: UserWatcherStatus = UserWatcherStatus(0i32);
6604     pub const Started: UserWatcherStatus = UserWatcherStatus(1i32);
6605     pub const EnumerationCompleted: UserWatcherStatus = UserWatcherStatus(2i32);
6606     pub const Stopping: UserWatcherStatus = UserWatcherStatus(3i32);
6607     pub const Stopped: UserWatcherStatus = UserWatcherStatus(4i32);
6608     pub const Aborted: UserWatcherStatus = UserWatcherStatus(5i32);
6609 }
6610 impl ::std::convert::From<i32> for UserWatcherStatus {
from(value: i32) -> Self6611     fn from(value: i32) -> Self {
6612         Self(value)
6613     }
6614 }
6615 unsafe impl ::windows::runtime::Abi for UserWatcherStatus {
6616     type Abi = Self;
6617     type DefaultType = Self;
6618 }
6619 unsafe impl ::windows::runtime::RuntimeType for UserWatcherStatus {
6620     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserWatcherStatus;i4)");
6621 }
6622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6623 #[repr(transparent)]
6624 pub struct UserWatcherUpdateKind(pub i32);
6625 impl UserWatcherUpdateKind {
6626     pub const Properties: UserWatcherUpdateKind = UserWatcherUpdateKind(0i32);
6627     pub const Picture: UserWatcherUpdateKind = UserWatcherUpdateKind(1i32);
6628 }
6629 impl ::std::convert::From<i32> for UserWatcherUpdateKind {
from(value: i32) -> Self6630     fn from(value: i32) -> Self {
6631         Self(value)
6632     }
6633 }
6634 unsafe impl ::windows::runtime::Abi for UserWatcherUpdateKind {
6635     type Abi = Self;
6636     type DefaultType = Self;
6637 }
6638 unsafe impl ::windows::runtime::RuntimeType for UserWatcherUpdateKind {
6639     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.UserWatcherUpdateKind;i4)");
6640 }
6641 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6642 #[repr(transparent)]
6643 pub struct VirtualKey(pub i32);
6644 impl VirtualKey {
6645     pub const None: VirtualKey = VirtualKey(0i32);
6646     pub const LeftButton: VirtualKey = VirtualKey(1i32);
6647     pub const RightButton: VirtualKey = VirtualKey(2i32);
6648     pub const Cancel: VirtualKey = VirtualKey(3i32);
6649     pub const MiddleButton: VirtualKey = VirtualKey(4i32);
6650     pub const XButton1: VirtualKey = VirtualKey(5i32);
6651     pub const XButton2: VirtualKey = VirtualKey(6i32);
6652     pub const Back: VirtualKey = VirtualKey(8i32);
6653     pub const Tab: VirtualKey = VirtualKey(9i32);
6654     pub const Clear: VirtualKey = VirtualKey(12i32);
6655     pub const Enter: VirtualKey = VirtualKey(13i32);
6656     pub const Shift: VirtualKey = VirtualKey(16i32);
6657     pub const Control: VirtualKey = VirtualKey(17i32);
6658     pub const Menu: VirtualKey = VirtualKey(18i32);
6659     pub const Pause: VirtualKey = VirtualKey(19i32);
6660     pub const CapitalLock: VirtualKey = VirtualKey(20i32);
6661     pub const Kana: VirtualKey = VirtualKey(21i32);
6662     pub const Hangul: VirtualKey = VirtualKey(21i32);
6663     pub const ImeOn: VirtualKey = VirtualKey(22i32);
6664     pub const Junja: VirtualKey = VirtualKey(23i32);
6665     pub const Final: VirtualKey = VirtualKey(24i32);
6666     pub const Hanja: VirtualKey = VirtualKey(25i32);
6667     pub const Kanji: VirtualKey = VirtualKey(25i32);
6668     pub const ImeOff: VirtualKey = VirtualKey(26i32);
6669     pub const Escape: VirtualKey = VirtualKey(27i32);
6670     pub const Convert: VirtualKey = VirtualKey(28i32);
6671     pub const NonConvert: VirtualKey = VirtualKey(29i32);
6672     pub const Accept: VirtualKey = VirtualKey(30i32);
6673     pub const ModeChange: VirtualKey = VirtualKey(31i32);
6674     pub const Space: VirtualKey = VirtualKey(32i32);
6675     pub const PageUp: VirtualKey = VirtualKey(33i32);
6676     pub const PageDown: VirtualKey = VirtualKey(34i32);
6677     pub const End: VirtualKey = VirtualKey(35i32);
6678     pub const Home: VirtualKey = VirtualKey(36i32);
6679     pub const Left: VirtualKey = VirtualKey(37i32);
6680     pub const Up: VirtualKey = VirtualKey(38i32);
6681     pub const Right: VirtualKey = VirtualKey(39i32);
6682     pub const Down: VirtualKey = VirtualKey(40i32);
6683     pub const Select: VirtualKey = VirtualKey(41i32);
6684     pub const Print: VirtualKey = VirtualKey(42i32);
6685     pub const Execute: VirtualKey = VirtualKey(43i32);
6686     pub const Snapshot: VirtualKey = VirtualKey(44i32);
6687     pub const Insert: VirtualKey = VirtualKey(45i32);
6688     pub const Delete: VirtualKey = VirtualKey(46i32);
6689     pub const Help: VirtualKey = VirtualKey(47i32);
6690     pub const Number0: VirtualKey = VirtualKey(48i32);
6691     pub const Number1: VirtualKey = VirtualKey(49i32);
6692     pub const Number2: VirtualKey = VirtualKey(50i32);
6693     pub const Number3: VirtualKey = VirtualKey(51i32);
6694     pub const Number4: VirtualKey = VirtualKey(52i32);
6695     pub const Number5: VirtualKey = VirtualKey(53i32);
6696     pub const Number6: VirtualKey = VirtualKey(54i32);
6697     pub const Number7: VirtualKey = VirtualKey(55i32);
6698     pub const Number8: VirtualKey = VirtualKey(56i32);
6699     pub const Number9: VirtualKey = VirtualKey(57i32);
6700     pub const A: VirtualKey = VirtualKey(65i32);
6701     pub const B: VirtualKey = VirtualKey(66i32);
6702     pub const C: VirtualKey = VirtualKey(67i32);
6703     pub const D: VirtualKey = VirtualKey(68i32);
6704     pub const E: VirtualKey = VirtualKey(69i32);
6705     pub const F: VirtualKey = VirtualKey(70i32);
6706     pub const G: VirtualKey = VirtualKey(71i32);
6707     pub const H: VirtualKey = VirtualKey(72i32);
6708     pub const I: VirtualKey = VirtualKey(73i32);
6709     pub const J: VirtualKey = VirtualKey(74i32);
6710     pub const K: VirtualKey = VirtualKey(75i32);
6711     pub const L: VirtualKey = VirtualKey(76i32);
6712     pub const M: VirtualKey = VirtualKey(77i32);
6713     pub const N: VirtualKey = VirtualKey(78i32);
6714     pub const O: VirtualKey = VirtualKey(79i32);
6715     pub const P: VirtualKey = VirtualKey(80i32);
6716     pub const Q: VirtualKey = VirtualKey(81i32);
6717     pub const R: VirtualKey = VirtualKey(82i32);
6718     pub const S: VirtualKey = VirtualKey(83i32);
6719     pub const T: VirtualKey = VirtualKey(84i32);
6720     pub const U: VirtualKey = VirtualKey(85i32);
6721     pub const V: VirtualKey = VirtualKey(86i32);
6722     pub const W: VirtualKey = VirtualKey(87i32);
6723     pub const X: VirtualKey = VirtualKey(88i32);
6724     pub const Y: VirtualKey = VirtualKey(89i32);
6725     pub const Z: VirtualKey = VirtualKey(90i32);
6726     pub const LeftWindows: VirtualKey = VirtualKey(91i32);
6727     pub const RightWindows: VirtualKey = VirtualKey(92i32);
6728     pub const Application: VirtualKey = VirtualKey(93i32);
6729     pub const Sleep: VirtualKey = VirtualKey(95i32);
6730     pub const NumberPad0: VirtualKey = VirtualKey(96i32);
6731     pub const NumberPad1: VirtualKey = VirtualKey(97i32);
6732     pub const NumberPad2: VirtualKey = VirtualKey(98i32);
6733     pub const NumberPad3: VirtualKey = VirtualKey(99i32);
6734     pub const NumberPad4: VirtualKey = VirtualKey(100i32);
6735     pub const NumberPad5: VirtualKey = VirtualKey(101i32);
6736     pub const NumberPad6: VirtualKey = VirtualKey(102i32);
6737     pub const NumberPad7: VirtualKey = VirtualKey(103i32);
6738     pub const NumberPad8: VirtualKey = VirtualKey(104i32);
6739     pub const NumberPad9: VirtualKey = VirtualKey(105i32);
6740     pub const Multiply: VirtualKey = VirtualKey(106i32);
6741     pub const Add: VirtualKey = VirtualKey(107i32);
6742     pub const Separator: VirtualKey = VirtualKey(108i32);
6743     pub const Subtract: VirtualKey = VirtualKey(109i32);
6744     pub const Decimal: VirtualKey = VirtualKey(110i32);
6745     pub const Divide: VirtualKey = VirtualKey(111i32);
6746     pub const F1: VirtualKey = VirtualKey(112i32);
6747     pub const F2: VirtualKey = VirtualKey(113i32);
6748     pub const F3: VirtualKey = VirtualKey(114i32);
6749     pub const F4: VirtualKey = VirtualKey(115i32);
6750     pub const F5: VirtualKey = VirtualKey(116i32);
6751     pub const F6: VirtualKey = VirtualKey(117i32);
6752     pub const F7: VirtualKey = VirtualKey(118i32);
6753     pub const F8: VirtualKey = VirtualKey(119i32);
6754     pub const F9: VirtualKey = VirtualKey(120i32);
6755     pub const F10: VirtualKey = VirtualKey(121i32);
6756     pub const F11: VirtualKey = VirtualKey(122i32);
6757     pub const F12: VirtualKey = VirtualKey(123i32);
6758     pub const F13: VirtualKey = VirtualKey(124i32);
6759     pub const F14: VirtualKey = VirtualKey(125i32);
6760     pub const F15: VirtualKey = VirtualKey(126i32);
6761     pub const F16: VirtualKey = VirtualKey(127i32);
6762     pub const F17: VirtualKey = VirtualKey(128i32);
6763     pub const F18: VirtualKey = VirtualKey(129i32);
6764     pub const F19: VirtualKey = VirtualKey(130i32);
6765     pub const F20: VirtualKey = VirtualKey(131i32);
6766     pub const F21: VirtualKey = VirtualKey(132i32);
6767     pub const F22: VirtualKey = VirtualKey(133i32);
6768     pub const F23: VirtualKey = VirtualKey(134i32);
6769     pub const F24: VirtualKey = VirtualKey(135i32);
6770     pub const NavigationView: VirtualKey = VirtualKey(136i32);
6771     pub const NavigationMenu: VirtualKey = VirtualKey(137i32);
6772     pub const NavigationUp: VirtualKey = VirtualKey(138i32);
6773     pub const NavigationDown: VirtualKey = VirtualKey(139i32);
6774     pub const NavigationLeft: VirtualKey = VirtualKey(140i32);
6775     pub const NavigationRight: VirtualKey = VirtualKey(141i32);
6776     pub const NavigationAccept: VirtualKey = VirtualKey(142i32);
6777     pub const NavigationCancel: VirtualKey = VirtualKey(143i32);
6778     pub const NumberKeyLock: VirtualKey = VirtualKey(144i32);
6779     pub const Scroll: VirtualKey = VirtualKey(145i32);
6780     pub const LeftShift: VirtualKey = VirtualKey(160i32);
6781     pub const RightShift: VirtualKey = VirtualKey(161i32);
6782     pub const LeftControl: VirtualKey = VirtualKey(162i32);
6783     pub const RightControl: VirtualKey = VirtualKey(163i32);
6784     pub const LeftMenu: VirtualKey = VirtualKey(164i32);
6785     pub const RightMenu: VirtualKey = VirtualKey(165i32);
6786     pub const GoBack: VirtualKey = VirtualKey(166i32);
6787     pub const GoForward: VirtualKey = VirtualKey(167i32);
6788     pub const Refresh: VirtualKey = VirtualKey(168i32);
6789     pub const Stop: VirtualKey = VirtualKey(169i32);
6790     pub const Search: VirtualKey = VirtualKey(170i32);
6791     pub const Favorites: VirtualKey = VirtualKey(171i32);
6792     pub const GoHome: VirtualKey = VirtualKey(172i32);
6793     pub const GamepadA: VirtualKey = VirtualKey(195i32);
6794     pub const GamepadB: VirtualKey = VirtualKey(196i32);
6795     pub const GamepadX: VirtualKey = VirtualKey(197i32);
6796     pub const GamepadY: VirtualKey = VirtualKey(198i32);
6797     pub const GamepadRightShoulder: VirtualKey = VirtualKey(199i32);
6798     pub const GamepadLeftShoulder: VirtualKey = VirtualKey(200i32);
6799     pub const GamepadLeftTrigger: VirtualKey = VirtualKey(201i32);
6800     pub const GamepadRightTrigger: VirtualKey = VirtualKey(202i32);
6801     pub const GamepadDPadUp: VirtualKey = VirtualKey(203i32);
6802     pub const GamepadDPadDown: VirtualKey = VirtualKey(204i32);
6803     pub const GamepadDPadLeft: VirtualKey = VirtualKey(205i32);
6804     pub const GamepadDPadRight: VirtualKey = VirtualKey(206i32);
6805     pub const GamepadMenu: VirtualKey = VirtualKey(207i32);
6806     pub const GamepadView: VirtualKey = VirtualKey(208i32);
6807     pub const GamepadLeftThumbstickButton: VirtualKey = VirtualKey(209i32);
6808     pub const GamepadRightThumbstickButton: VirtualKey = VirtualKey(210i32);
6809     pub const GamepadLeftThumbstickUp: VirtualKey = VirtualKey(211i32);
6810     pub const GamepadLeftThumbstickDown: VirtualKey = VirtualKey(212i32);
6811     pub const GamepadLeftThumbstickRight: VirtualKey = VirtualKey(213i32);
6812     pub const GamepadLeftThumbstickLeft: VirtualKey = VirtualKey(214i32);
6813     pub const GamepadRightThumbstickUp: VirtualKey = VirtualKey(215i32);
6814     pub const GamepadRightThumbstickDown: VirtualKey = VirtualKey(216i32);
6815     pub const GamepadRightThumbstickRight: VirtualKey = VirtualKey(217i32);
6816     pub const GamepadRightThumbstickLeft: VirtualKey = VirtualKey(218i32);
6817 }
6818 impl ::std::convert::From<i32> for VirtualKey {
from(value: i32) -> Self6819     fn from(value: i32) -> Self {
6820         Self(value)
6821     }
6822 }
6823 unsafe impl ::windows::runtime::Abi for VirtualKey {
6824     type Abi = Self;
6825     type DefaultType = Self;
6826 }
6827 unsafe impl ::windows::runtime::RuntimeType for VirtualKey {
6828     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.VirtualKey;i4)");
6829 }
6830 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6831 #[repr(transparent)]
6832 pub struct VirtualKeyModifiers(pub u32);
6833 impl VirtualKeyModifiers {
6834     pub const None: VirtualKeyModifiers = VirtualKeyModifiers(0u32);
6835     pub const Control: VirtualKeyModifiers = VirtualKeyModifiers(1u32);
6836     pub const Menu: VirtualKeyModifiers = VirtualKeyModifiers(2u32);
6837     pub const Shift: VirtualKeyModifiers = VirtualKeyModifiers(4u32);
6838     pub const Windows: VirtualKeyModifiers = VirtualKeyModifiers(8u32);
6839 }
6840 impl ::std::convert::From<u32> for VirtualKeyModifiers {
from(value: u32) -> Self6841     fn from(value: u32) -> Self {
6842         Self(value)
6843     }
6844 }
6845 unsafe impl ::windows::runtime::Abi for VirtualKeyModifiers {
6846     type Abi = Self;
6847     type DefaultType = Self;
6848 }
6849 unsafe impl ::windows::runtime::RuntimeType for VirtualKeyModifiers {
6850     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.VirtualKeyModifiers;u4)");
6851 }
6852 impl ::std::ops::BitOr for VirtualKeyModifiers {
6853     type Output = Self;
bitor(self, rhs: Self) -> Self6854     fn bitor(self, rhs: Self) -> Self {
6855         Self(self.0 | rhs.0)
6856     }
6857 }
6858 impl ::std::ops::BitAnd for VirtualKeyModifiers {
6859     type Output = Self;
bitand(self, rhs: Self) -> Self6860     fn bitand(self, rhs: Self) -> Self {
6861         Self(self.0 & rhs.0)
6862     }
6863 }
6864 impl ::std::ops::BitOrAssign for VirtualKeyModifiers {
bitor_assign(&mut self, rhs: Self)6865     fn bitor_assign(&mut self, rhs: Self) {
6866         self.0.bitor_assign(rhs.0)
6867     }
6868 }
6869 impl ::std::ops::BitAndAssign for VirtualKeyModifiers {
bitand_assign(&mut self, rhs: Self)6870     fn bitand_assign(&mut self, rhs: Self) {
6871         self.0.bitand_assign(rhs.0)
6872     }
6873 }
6874 impl ::std::ops::Not for VirtualKeyModifiers {
6875     type Output = Self;
not(self) -> Self6876     fn not(self) -> Self {
6877         Self(self.0.not())
6878     }
6879 }
6880