1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "ApplicationModel_Activation")]
3 pub mod Activation;
4 #[cfg(feature = "ApplicationModel_AppExtensions")]
5 pub mod AppExtensions;
6 #[cfg(feature = "ApplicationModel_AppService")]
7 pub mod AppService;
8 #[cfg(feature = "ApplicationModel_Appointments")]
9 pub mod Appointments;
10 #[cfg(feature = "ApplicationModel_Background")]
11 pub mod Background;
12 #[cfg(feature = "ApplicationModel_Calls")]
13 pub mod Calls;
14 #[cfg(feature = "ApplicationModel_Chat")]
15 pub mod Chat;
16 #[cfg(feature = "ApplicationModel_CommunicationBlocking")]
17 pub mod CommunicationBlocking;
18 #[cfg(feature = "ApplicationModel_Contacts")]
19 pub mod Contacts;
20 #[cfg(feature = "ApplicationModel_ConversationalAgent")]
21 pub mod ConversationalAgent;
22 #[cfg(feature = "ApplicationModel_Core")]
23 pub mod Core;
24 #[cfg(feature = "ApplicationModel_DataTransfer")]
25 pub mod DataTransfer;
26 #[cfg(feature = "ApplicationModel_Email")]
27 pub mod Email;
28 #[cfg(feature = "ApplicationModel_ExtendedExecution")]
29 pub mod ExtendedExecution;
30 #[cfg(feature = "ApplicationModel_Holographic")]
31 pub mod Holographic;
32 #[cfg(feature = "ApplicationModel_LockScreen")]
33 pub mod LockScreen;
34 #[cfg(feature = "ApplicationModel_Payments")]
35 pub mod Payments;
36 #[cfg(feature = "ApplicationModel_Preview")]
37 pub mod Preview;
38 #[cfg(feature = "ApplicationModel_Resources")]
39 pub mod Resources;
40 #[cfg(feature = "ApplicationModel_Search")]
41 pub mod Search;
42 #[cfg(feature = "ApplicationModel_SocialInfo")]
43 pub mod SocialInfo;
44 #[cfg(feature = "ApplicationModel_Store")]
45 pub mod Store;
46 #[cfg(feature = "ApplicationModel_UserActivities")]
47 pub mod UserActivities;
48 #[cfg(feature = "ApplicationModel_UserDataAccounts")]
49 pub mod UserDataAccounts;
50 #[cfg(feature = "ApplicationModel_UserDataTasks")]
51 pub mod UserDataTasks;
52 #[cfg(feature = "ApplicationModel_VoiceCommands")]
53 pub mod VoiceCommands;
54 #[cfg(feature = "ApplicationModel_Wallet")]
55 pub mod Wallet;
56 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
57 #[repr(transparent)]
58 pub struct AddResourcePackageOptions(pub u32);
59 impl AddResourcePackageOptions {
60     pub const None: AddResourcePackageOptions = AddResourcePackageOptions(0u32);
61     pub const ForceTargetAppShutdown: AddResourcePackageOptions = AddResourcePackageOptions(1u32);
62     pub const ApplyUpdateIfAvailable: AddResourcePackageOptions = AddResourcePackageOptions(2u32);
63 }
64 impl ::std::convert::From<u32> for AddResourcePackageOptions {
from(value: u32) -> Self65     fn from(value: u32) -> Self {
66         Self(value)
67     }
68 }
69 unsafe impl ::windows::runtime::Abi for AddResourcePackageOptions {
70     type Abi = Self;
71     type DefaultType = Self;
72 }
73 unsafe impl ::windows::runtime::RuntimeType for AddResourcePackageOptions {
74     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.AddResourcePackageOptions;u4)");
75 }
76 impl ::std::ops::BitOr for AddResourcePackageOptions {
77     type Output = Self;
bitor(self, rhs: Self) -> Self78     fn bitor(self, rhs: Self) -> Self {
79         Self(self.0 | rhs.0)
80     }
81 }
82 impl ::std::ops::BitAnd for AddResourcePackageOptions {
83     type Output = Self;
bitand(self, rhs: Self) -> Self84     fn bitand(self, rhs: Self) -> Self {
85         Self(self.0 & rhs.0)
86     }
87 }
88 impl ::std::ops::BitOrAssign for AddResourcePackageOptions {
bitor_assign(&mut self, rhs: Self)89     fn bitor_assign(&mut self, rhs: Self) {
90         self.0.bitor_assign(rhs.0)
91     }
92 }
93 impl ::std::ops::BitAndAssign for AddResourcePackageOptions {
bitand_assign(&mut self, rhs: Self)94     fn bitand_assign(&mut self, rhs: Self) {
95         self.0.bitand_assign(rhs.0)
96     }
97 }
98 impl ::std::ops::Not for AddResourcePackageOptions {
99     type Output = Self;
not(self) -> Self100     fn not(self) -> Self {
101         Self(self.0.not())
102     }
103 }
104 #[repr(transparent)]
105 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
106 pub struct AppDisplayInfo(::windows::runtime::IInspectable);
107 impl AppDisplayInfo {
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>108     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
109         let this = self;
110         unsafe {
111             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
112             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
113         }
114     }
Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>115     pub fn Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
116         let this = self;
117         unsafe {
118             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
119             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
120         }
121     }
122     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
GetLogo<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<super::Storage::Streams::RandomAccessStreamReference>123     pub fn GetLogo<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<super::Storage::Streams::RandomAccessStreamReference> {
124         let this = self;
125         unsafe {
126             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
127             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), size.into_param().abi(), &mut result__).from_abi::<super::Storage::Streams::RandomAccessStreamReference>(result__)
128         }
129     }
130 }
131 unsafe impl ::windows::runtime::RuntimeType for AppDisplayInfo {
132     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppDisplayInfo;{1aeb1103-e4d4-41aa-a4f6-c4a276e79eac})");
133 }
134 unsafe impl ::windows::runtime::Interface for AppDisplayInfo {
135     type Vtable = IAppDisplayInfo_abi;
136     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(451612931, 58580, 16810, [164, 246, 196, 162, 118, 231, 158, 172]);
137 }
138 impl ::windows::runtime::RuntimeName for AppDisplayInfo {
139     const NAME: &'static str = "Windows.ApplicationModel.AppDisplayInfo";
140 }
141 impl ::std::convert::From<AppDisplayInfo> for ::windows::runtime::IUnknown {
from(value: AppDisplayInfo) -> Self142     fn from(value: AppDisplayInfo) -> Self {
143         unsafe { ::std::mem::transmute(value) }
144     }
145 }
146 impl ::std::convert::From<&AppDisplayInfo> for ::windows::runtime::IUnknown {
from(value: &AppDisplayInfo) -> Self147     fn from(value: &AppDisplayInfo) -> Self {
148         ::std::convert::From::from(::std::clone::Clone::clone(value))
149     }
150 }
151 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppDisplayInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>152     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
153         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
154     }
155 }
156 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppDisplayInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>157     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
158         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
159     }
160 }
161 impl ::std::convert::From<AppDisplayInfo> for ::windows::runtime::IInspectable {
from(value: AppDisplayInfo) -> Self162     fn from(value: AppDisplayInfo) -> Self {
163         value.0
164     }
165 }
166 impl ::std::convert::From<&AppDisplayInfo> for ::windows::runtime::IInspectable {
from(value: &AppDisplayInfo) -> Self167     fn from(value: &AppDisplayInfo) -> Self {
168         value.0.clone()
169     }
170 }
171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppDisplayInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
173         ::windows::runtime::Param::Owned(self.0)
174     }
175 }
176 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppDisplayInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>177     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
178         ::windows::runtime::Param::Borrowed(&self.0)
179     }
180 }
181 unsafe impl ::std::marker::Send for AppDisplayInfo {}
182 unsafe impl ::std::marker::Sync for AppDisplayInfo {}
183 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
184 #[repr(transparent)]
185 pub struct AppExecutionContext(pub i32);
186 impl AppExecutionContext {
187     pub const Unknown: AppExecutionContext = AppExecutionContext(0i32);
188     pub const Host: AppExecutionContext = AppExecutionContext(1i32);
189     pub const Guest: AppExecutionContext = AppExecutionContext(2i32);
190 }
191 impl ::std::convert::From<i32> for AppExecutionContext {
from(value: i32) -> Self192     fn from(value: i32) -> Self {
193         Self(value)
194     }
195 }
196 unsafe impl ::windows::runtime::Abi for AppExecutionContext {
197     type Abi = Self;
198     type DefaultType = Self;
199 }
200 unsafe impl ::windows::runtime::RuntimeType for AppExecutionContext {
201     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.AppExecutionContext;i4)");
202 }
203 #[repr(transparent)]
204 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
205 pub struct AppInfo(::windows::runtime::IInspectable);
206 impl AppInfo {
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>207     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
208         let this = self;
209         unsafe {
210             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
211             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
212         }
213     }
AppUserModelId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>214     pub fn AppUserModelId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
215         let this = self;
216         unsafe {
217             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
218             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
219         }
220     }
DisplayInfo(&self) -> ::windows::runtime::Result<AppDisplayInfo>221     pub fn DisplayInfo(&self) -> ::windows::runtime::Result<AppDisplayInfo> {
222         let this = self;
223         unsafe {
224             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
225             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppDisplayInfo>(result__)
226         }
227     }
PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>228     pub fn PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
229         let this = self;
230         unsafe {
231             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
232             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
233         }
234     }
Package(&self) -> ::windows::runtime::Result<Package>235     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
236         let this = &::windows::runtime::Interface::cast::<IAppInfo2>(self)?;
237         unsafe {
238             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
239             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
240         }
241     }
Current() -> ::windows::runtime::Result<AppInfo>242     pub fn Current() -> ::windows::runtime::Result<AppInfo> {
243         Self::IAppInfoStatics(|this| unsafe {
244             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
245             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInfo>(result__)
246         })
247     }
GetFromAppUserModelId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(appusermodelid: Param0) -> ::windows::runtime::Result<AppInfo>248     pub fn GetFromAppUserModelId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(appusermodelid: Param0) -> ::windows::runtime::Result<AppInfo> {
249         Self::IAppInfoStatics(|this| unsafe {
250             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
251             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), appusermodelid.into_param().abi(), &mut result__).from_abi::<AppInfo>(result__)
252         })
253     }
254     #[cfg(feature = "System")]
GetFromAppUserModelIdForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, appusermodelid: Param1) -> ::windows::runtime::Result<AppInfo>255     pub fn GetFromAppUserModelIdForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, appusermodelid: Param1) -> ::windows::runtime::Result<AppInfo> {
256         Self::IAppInfoStatics(|this| unsafe {
257             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
258             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), user.into_param().abi(), appusermodelid.into_param().abi(), &mut result__).from_abi::<AppInfo>(result__)
259         })
260     }
ExecutionContext(&self) -> ::windows::runtime::Result<AppExecutionContext>261     pub fn ExecutionContext(&self) -> ::windows::runtime::Result<AppExecutionContext> {
262         let this = &::windows::runtime::Interface::cast::<IAppInfo3>(self)?;
263         unsafe {
264             let mut result__: AppExecutionContext = ::std::mem::zeroed();
265             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppExecutionContext>(result__)
266         }
267     }
SupportedFileExtensions(&self) -> ::windows::runtime::Result<::windows::runtime::Array<::windows::runtime::HSTRING>>268     pub fn SupportedFileExtensions(&self) -> ::windows::runtime::Result<::windows::runtime::Array<::windows::runtime::HSTRING>> {
269         let this = &::windows::runtime::Interface::cast::<IAppInfo4>(self)?;
270         unsafe {
271             let mut result__: ::windows::runtime::Array<::windows::runtime::HSTRING> = ::std::mem::zeroed();
272             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), ::windows::runtime::Array::<::windows::runtime::HSTRING>::set_abi_len(&mut result__), &mut result__ as *mut _ as _).and_then(|| result__)
273         }
274     }
IAppInfoStatics<R, F: FnOnce(&IAppInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>275     pub fn IAppInfoStatics<R, F: FnOnce(&IAppInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
276         static mut SHARED: ::windows::runtime::FactoryCache<AppInfo, IAppInfoStatics> = ::windows::runtime::FactoryCache::new();
277         unsafe { SHARED.call(callback) }
278     }
279 }
280 unsafe impl ::windows::runtime::RuntimeType for AppInfo {
281     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppInfo;{cf7f59b3-6a09-4de8-a6c0-5792d56880d1})");
282 }
283 unsafe impl ::windows::runtime::Interface for AppInfo {
284     type Vtable = IAppInfo_abi;
285     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3481229747, 27145, 19944, [166, 192, 87, 146, 213, 104, 128, 209]);
286 }
287 impl ::windows::runtime::RuntimeName for AppInfo {
288     const NAME: &'static str = "Windows.ApplicationModel.AppInfo";
289 }
290 impl ::std::convert::From<AppInfo> for ::windows::runtime::IUnknown {
from(value: AppInfo) -> Self291     fn from(value: AppInfo) -> Self {
292         unsafe { ::std::mem::transmute(value) }
293     }
294 }
295 impl ::std::convert::From<&AppInfo> for ::windows::runtime::IUnknown {
from(value: &AppInfo) -> Self296     fn from(value: &AppInfo) -> Self {
297         ::std::convert::From::from(::std::clone::Clone::clone(value))
298     }
299 }
300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
302         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
303     }
304 }
305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
308     }
309 }
310 impl ::std::convert::From<AppInfo> for ::windows::runtime::IInspectable {
from(value: AppInfo) -> Self311     fn from(value: AppInfo) -> Self {
312         value.0
313     }
314 }
315 impl ::std::convert::From<&AppInfo> for ::windows::runtime::IInspectable {
from(value: &AppInfo) -> Self316     fn from(value: &AppInfo) -> Self {
317         value.0.clone()
318     }
319 }
320 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>321     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
322         ::windows::runtime::Param::Owned(self.0)
323     }
324 }
325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
327         ::windows::runtime::Param::Borrowed(&self.0)
328     }
329 }
330 unsafe impl ::std::marker::Send for AppInfo {}
331 unsafe impl ::std::marker::Sync for AppInfo {}
332 #[repr(transparent)]
333 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
334 pub struct AppInstallerInfo(::windows::runtime::IInspectable);
335 impl AppInstallerInfo {
336     #[cfg(feature = "Foundation")]
Uri(&self) -> ::windows::runtime::Result<super::Foundation::Uri>337     pub fn Uri(&self) -> ::windows::runtime::Result<super::Foundation::Uri> {
338         let this = self;
339         unsafe {
340             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
341             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Uri>(result__)
342         }
343     }
OnLaunch(&self) -> ::windows::runtime::Result<bool>344     pub fn OnLaunch(&self) -> ::windows::runtime::Result<bool> {
345         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
346         unsafe {
347             let mut result__: bool = ::std::mem::zeroed();
348             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
349         }
350     }
HoursBetweenUpdateChecks(&self) -> ::windows::runtime::Result<u32>351     pub fn HoursBetweenUpdateChecks(&self) -> ::windows::runtime::Result<u32> {
352         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
353         unsafe {
354             let mut result__: u32 = ::std::mem::zeroed();
355             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
356         }
357     }
ShowPrompt(&self) -> ::windows::runtime::Result<bool>358     pub fn ShowPrompt(&self) -> ::windows::runtime::Result<bool> {
359         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
360         unsafe {
361             let mut result__: bool = ::std::mem::zeroed();
362             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
363         }
364     }
UpdateBlocksActivation(&self) -> ::windows::runtime::Result<bool>365     pub fn UpdateBlocksActivation(&self) -> ::windows::runtime::Result<bool> {
366         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
367         unsafe {
368             let mut result__: bool = ::std::mem::zeroed();
369             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
370         }
371     }
AutomaticBackgroundTask(&self) -> ::windows::runtime::Result<bool>372     pub fn AutomaticBackgroundTask(&self) -> ::windows::runtime::Result<bool> {
373         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
374         unsafe {
375             let mut result__: bool = ::std::mem::zeroed();
376             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
377         }
378     }
ForceUpdateFromAnyVersion(&self) -> ::windows::runtime::Result<bool>379     pub fn ForceUpdateFromAnyVersion(&self) -> ::windows::runtime::Result<bool> {
380         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
381         unsafe {
382             let mut result__: bool = ::std::mem::zeroed();
383             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
384         }
385     }
IsAutoRepairEnabled(&self) -> ::windows::runtime::Result<bool>386     pub fn IsAutoRepairEnabled(&self) -> ::windows::runtime::Result<bool> {
387         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
388         unsafe {
389             let mut result__: bool = ::std::mem::zeroed();
390             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
391         }
392     }
Version(&self) -> ::windows::runtime::Result<PackageVersion>393     pub fn Version(&self) -> ::windows::runtime::Result<PackageVersion> {
394         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
395         unsafe {
396             let mut result__: PackageVersion = ::std::mem::zeroed();
397             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageVersion>(result__)
398         }
399     }
400     #[cfg(feature = "Foundation")]
LastChecked(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>401     pub fn LastChecked(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
402         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
403         unsafe {
404             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
405             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
406         }
407     }
408     #[cfg(feature = "Foundation")]
PausedUntil(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::DateTime>>409     pub fn PausedUntil(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::DateTime>> {
410         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
411         unsafe {
412             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
413             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::DateTime>>(result__)
414         }
415     }
416     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
UpdateUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>417     pub fn UpdateUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>> {
418         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
419         unsafe {
420             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
421             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>(result__)
422         }
423     }
424     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RepairUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>425     pub fn RepairUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>> {
426         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
427         unsafe {
428             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
429             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>(result__)
430         }
431     }
432     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
DependencyPackageUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>433     pub fn DependencyPackageUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>> {
434         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
435         unsafe {
436             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
437             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>(result__)
438         }
439     }
440     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
OptionalPackageUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>441     pub fn OptionalPackageUris(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<super::Foundation::Uri>> {
442         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
443         unsafe {
444             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
445             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<super::Foundation::Uri>>(result__)
446         }
447     }
PolicySource(&self) -> ::windows::runtime::Result<AppInstallerPolicySource>448     pub fn PolicySource(&self) -> ::windows::runtime::Result<AppInstallerPolicySource> {
449         let this = &::windows::runtime::Interface::cast::<IAppInstallerInfo2>(self)?;
450         unsafe {
451             let mut result__: AppInstallerPolicySource = ::std::mem::zeroed();
452             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallerPolicySource>(result__)
453         }
454     }
455 }
456 unsafe impl ::windows::runtime::RuntimeType for AppInstallerInfo {
457     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppInstallerInfo;{29ab2ac0-d4f6-42a3-adcd-d6583c659508})");
458 }
459 unsafe impl ::windows::runtime::Interface for AppInstallerInfo {
460     type Vtable = IAppInstallerInfo_abi;
461     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(699083456, 54518, 17059, [173, 205, 214, 88, 60, 101, 149, 8]);
462 }
463 impl ::windows::runtime::RuntimeName for AppInstallerInfo {
464     const NAME: &'static str = "Windows.ApplicationModel.AppInstallerInfo";
465 }
466 impl ::std::convert::From<AppInstallerInfo> for ::windows::runtime::IUnknown {
from(value: AppInstallerInfo) -> Self467     fn from(value: AppInstallerInfo) -> Self {
468         unsafe { ::std::mem::transmute(value) }
469     }
470 }
471 impl ::std::convert::From<&AppInstallerInfo> for ::windows::runtime::IUnknown {
from(value: &AppInstallerInfo) -> Self472     fn from(value: &AppInstallerInfo) -> Self {
473         ::std::convert::From::from(::std::clone::Clone::clone(value))
474     }
475 }
476 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstallerInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>477     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
478         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
479     }
480 }
481 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstallerInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>482     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
483         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
484     }
485 }
486 impl ::std::convert::From<AppInstallerInfo> for ::windows::runtime::IInspectable {
from(value: AppInstallerInfo) -> Self487     fn from(value: AppInstallerInfo) -> Self {
488         value.0
489     }
490 }
491 impl ::std::convert::From<&AppInstallerInfo> for ::windows::runtime::IInspectable {
from(value: &AppInstallerInfo) -> Self492     fn from(value: &AppInstallerInfo) -> Self {
493         value.0.clone()
494     }
495 }
496 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstallerInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>497     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
498         ::windows::runtime::Param::Owned(self.0)
499     }
500 }
501 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstallerInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>502     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
503         ::windows::runtime::Param::Borrowed(&self.0)
504     }
505 }
506 unsafe impl ::std::marker::Send for AppInstallerInfo {}
507 unsafe impl ::std::marker::Sync for AppInstallerInfo {}
508 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
509 #[repr(transparent)]
510 pub struct AppInstallerPolicySource(pub i32);
511 impl AppInstallerPolicySource {
512     pub const Default: AppInstallerPolicySource = AppInstallerPolicySource(0i32);
513     pub const System: AppInstallerPolicySource = AppInstallerPolicySource(1i32);
514 }
515 impl ::std::convert::From<i32> for AppInstallerPolicySource {
from(value: i32) -> Self516     fn from(value: i32) -> Self {
517         Self(value)
518     }
519 }
520 unsafe impl ::windows::runtime::Abi for AppInstallerPolicySource {
521     type Abi = Self;
522     type DefaultType = Self;
523 }
524 unsafe impl ::windows::runtime::RuntimeType for AppInstallerPolicySource {
525     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.AppInstallerPolicySource;i4)");
526 }
527 #[repr(transparent)]
528 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
529 pub struct AppInstance(::windows::runtime::IInspectable);
530 impl AppInstance {
Key(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>531     pub fn Key(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
532         let this = self;
533         unsafe {
534             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
535             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
536         }
537     }
IsCurrentInstance(&self) -> ::windows::runtime::Result<bool>538     pub fn IsCurrentInstance(&self) -> ::windows::runtime::Result<bool> {
539         let this = self;
540         unsafe {
541             let mut result__: bool = ::std::mem::zeroed();
542             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
543         }
544     }
RedirectActivationTo(&self) -> ::windows::runtime::Result<()>545     pub fn RedirectActivationTo(&self) -> ::windows::runtime::Result<()> {
546         let this = self;
547         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
548     }
RecommendedInstance() -> ::windows::runtime::Result<AppInstance>549     pub fn RecommendedInstance() -> ::windows::runtime::Result<AppInstance> {
550         Self::IAppInstanceStatics(|this| unsafe {
551             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
552             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstance>(result__)
553         })
554     }
555     #[cfg(feature = "ApplicationModel_Activation")]
GetActivatedEventArgs() -> ::windows::runtime::Result<Activation::IActivatedEventArgs>556     pub fn GetActivatedEventArgs() -> ::windows::runtime::Result<Activation::IActivatedEventArgs> {
557         Self::IAppInstanceStatics(|this| unsafe {
558             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
559             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Activation::IActivatedEventArgs>(result__)
560         })
561     }
FindOrRegisterInstanceForKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(key: Param0) -> ::windows::runtime::Result<AppInstance>562     pub fn FindOrRegisterInstanceForKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(key: Param0) -> ::windows::runtime::Result<AppInstance> {
563         Self::IAppInstanceStatics(|this| unsafe {
564             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
565             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<AppInstance>(result__)
566         })
567     }
Unregister() -> ::windows::runtime::Result<()>568     pub fn Unregister() -> ::windows::runtime::Result<()> {
569         Self::IAppInstanceStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() })
570     }
571     #[cfg(feature = "Foundation_Collections")]
GetInstances() -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppInstance>>572     pub fn GetInstances() -> ::windows::runtime::Result<super::Foundation::Collections::IVector<AppInstance>> {
573         Self::IAppInstanceStatics(|this| unsafe {
574             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
575             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<AppInstance>>(result__)
576         })
577     }
IAppInstanceStatics<R, F: FnOnce(&IAppInstanceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>578     pub fn IAppInstanceStatics<R, F: FnOnce(&IAppInstanceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
579         static mut SHARED: ::windows::runtime::FactoryCache<AppInstance, IAppInstanceStatics> = ::windows::runtime::FactoryCache::new();
580         unsafe { SHARED.call(callback) }
581     }
582 }
583 unsafe impl ::windows::runtime::RuntimeType for AppInstance {
584     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.AppInstance;{675f2b47-f25f-4532-9fd6-3633e0634d01})");
585 }
586 unsafe impl ::windows::runtime::Interface for AppInstance {
587     type Vtable = IAppInstance_abi;
588     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1734290247, 62047, 17714, [159, 214, 54, 51, 224, 99, 77, 1]);
589 }
590 impl ::windows::runtime::RuntimeName for AppInstance {
591     const NAME: &'static str = "Windows.ApplicationModel.AppInstance";
592 }
593 impl ::std::convert::From<AppInstance> for ::windows::runtime::IUnknown {
from(value: AppInstance) -> Self594     fn from(value: AppInstance) -> Self {
595         unsafe { ::std::mem::transmute(value) }
596     }
597 }
598 impl ::std::convert::From<&AppInstance> for ::windows::runtime::IUnknown {
from(value: &AppInstance) -> Self599     fn from(value: &AppInstance) -> Self {
600         ::std::convert::From::from(::std::clone::Clone::clone(value))
601     }
602 }
603 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstance {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>604     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
605         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
606     }
607 }
608 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstance {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>609     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
610         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
611     }
612 }
613 impl ::std::convert::From<AppInstance> for ::windows::runtime::IInspectable {
from(value: AppInstance) -> Self614     fn from(value: AppInstance) -> Self {
615         value.0
616     }
617 }
618 impl ::std::convert::From<&AppInstance> for ::windows::runtime::IInspectable {
from(value: &AppInstance) -> Self619     fn from(value: &AppInstance) -> Self {
620         value.0.clone()
621     }
622 }
623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstance {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
625         ::windows::runtime::Param::Owned(self.0)
626     }
627 }
628 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstance {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>629     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
630         ::windows::runtime::Param::Borrowed(&self.0)
631     }
632 }
633 unsafe impl ::std::marker::Send for AppInstance {}
634 unsafe impl ::std::marker::Sync for AppInstance {}
635 pub struct CameraApplicationManager {}
636 impl CameraApplicationManager {
ShowInstalledApplicationsUI() -> ::windows::runtime::Result<()>637     pub fn ShowInstalledApplicationsUI() -> ::windows::runtime::Result<()> {
638         Self::ICameraApplicationManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() })
639     }
ICameraApplicationManagerStatics<R, F: FnOnce(&ICameraApplicationManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>640     pub fn ICameraApplicationManagerStatics<R, F: FnOnce(&ICameraApplicationManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
641         static mut SHARED: ::windows::runtime::FactoryCache<CameraApplicationManager, ICameraApplicationManagerStatics> = ::windows::runtime::FactoryCache::new();
642         unsafe { SHARED.call(callback) }
643     }
644 }
645 impl ::windows::runtime::RuntimeName for CameraApplicationManager {
646     const NAME: &'static str = "Windows.ApplicationModel.CameraApplicationManager";
647 }
648 pub struct DesignMode {}
649 impl DesignMode {
DesignModeEnabled() -> ::windows::runtime::Result<bool>650     pub fn DesignModeEnabled() -> ::windows::runtime::Result<bool> {
651         Self::IDesignModeStatics(|this| unsafe {
652             let mut result__: bool = ::std::mem::zeroed();
653             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
654         })
655     }
DesignMode2Enabled() -> ::windows::runtime::Result<bool>656     pub fn DesignMode2Enabled() -> ::windows::runtime::Result<bool> {
657         Self::IDesignModeStatics2(|this| unsafe {
658             let mut result__: bool = ::std::mem::zeroed();
659             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
660         })
661     }
IDesignModeStatics<R, F: FnOnce(&IDesignModeStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>662     pub fn IDesignModeStatics<R, F: FnOnce(&IDesignModeStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
663         static mut SHARED: ::windows::runtime::FactoryCache<DesignMode, IDesignModeStatics> = ::windows::runtime::FactoryCache::new();
664         unsafe { SHARED.call(callback) }
665     }
IDesignModeStatics2<R, F: FnOnce(&IDesignModeStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>666     pub fn IDesignModeStatics2<R, F: FnOnce(&IDesignModeStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
667         static mut SHARED: ::windows::runtime::FactoryCache<DesignMode, IDesignModeStatics2> = ::windows::runtime::FactoryCache::new();
668         unsafe { SHARED.call(callback) }
669     }
670 }
671 impl ::windows::runtime::RuntimeName for DesignMode {
672     const NAME: &'static str = "Windows.ApplicationModel.DesignMode";
673 }
674 #[repr(transparent)]
675 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
676 pub struct EnteredBackgroundEventArgs(::windows::runtime::IInspectable);
677 impl EnteredBackgroundEventArgs {
678     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral>679     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral> {
680         let this = self;
681         unsafe {
682             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
683             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Deferral>(result__)
684         }
685     }
686 }
687 unsafe impl ::windows::runtime::RuntimeType for EnteredBackgroundEventArgs {
688     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.EnteredBackgroundEventArgs;{f722dcc2-9827-403d-aaed-ecca9ac17398})");
689 }
690 unsafe impl ::windows::runtime::Interface for EnteredBackgroundEventArgs {
691     type Vtable = IEnteredBackgroundEventArgs_abi;
692     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146257090, 38951, 16445, [170, 237, 236, 202, 154, 193, 115, 152]);
693 }
694 impl ::windows::runtime::RuntimeName for EnteredBackgroundEventArgs {
695     const NAME: &'static str = "Windows.ApplicationModel.EnteredBackgroundEventArgs";
696 }
697 impl ::std::convert::From<EnteredBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: EnteredBackgroundEventArgs) -> Self698     fn from(value: EnteredBackgroundEventArgs) -> Self {
699         unsafe { ::std::mem::transmute(value) }
700     }
701 }
702 impl ::std::convert::From<&EnteredBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: &EnteredBackgroundEventArgs) -> Self703     fn from(value: &EnteredBackgroundEventArgs) -> Self {
704         ::std::convert::From::from(::std::clone::Clone::clone(value))
705     }
706 }
707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for EnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
710     }
711 }
712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &EnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
715     }
716 }
717 impl ::std::convert::From<EnteredBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: EnteredBackgroundEventArgs) -> Self718     fn from(value: EnteredBackgroundEventArgs) -> Self {
719         value.0
720     }
721 }
722 impl ::std::convert::From<&EnteredBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: &EnteredBackgroundEventArgs) -> Self723     fn from(value: &EnteredBackgroundEventArgs) -> Self {
724         value.0.clone()
725     }
726 }
727 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for EnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>728     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
729         ::windows::runtime::Param::Owned(self.0)
730     }
731 }
732 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a EnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>733     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
734         ::windows::runtime::Param::Borrowed(&self.0)
735     }
736 }
737 impl ::std::convert::From<EnteredBackgroundEventArgs> for IEnteredBackgroundEventArgs {
from(value: EnteredBackgroundEventArgs) -> Self738     fn from(value: EnteredBackgroundEventArgs) -> Self {
739         unsafe { ::std::mem::transmute(value) }
740     }
741 }
742 impl ::std::convert::From<&EnteredBackgroundEventArgs> for IEnteredBackgroundEventArgs {
from(value: &EnteredBackgroundEventArgs) -> Self743     fn from(value: &EnteredBackgroundEventArgs) -> Self {
744         ::std::convert::From::from(::std::clone::Clone::clone(value))
745     }
746 }
747 impl<'a> ::windows::runtime::IntoParam<'a, IEnteredBackgroundEventArgs> for EnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IEnteredBackgroundEventArgs>748     fn into_param(self) -> ::windows::runtime::Param<'a, IEnteredBackgroundEventArgs> {
749         ::windows::runtime::Param::Owned(::std::convert::Into::<IEnteredBackgroundEventArgs>::into(self))
750     }
751 }
752 impl<'a> ::windows::runtime::IntoParam<'a, IEnteredBackgroundEventArgs> for &EnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, IEnteredBackgroundEventArgs>753     fn into_param(self) -> ::windows::runtime::Param<'a, IEnteredBackgroundEventArgs> {
754         ::windows::runtime::Param::Owned(::std::convert::Into::<IEnteredBackgroundEventArgs>::into(::std::clone::Clone::clone(self)))
755     }
756 }
757 unsafe impl ::std::marker::Send for EnteredBackgroundEventArgs {}
758 unsafe impl ::std::marker::Sync for EnteredBackgroundEventArgs {}
759 #[repr(C)]
760 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
761 pub struct FullTrustAppContract(pub u8);
762 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
763 #[repr(transparent)]
764 pub struct FullTrustLaunchResult(pub i32);
765 impl FullTrustLaunchResult {
766     pub const Success: FullTrustLaunchResult = FullTrustLaunchResult(0i32);
767     pub const AccessDenied: FullTrustLaunchResult = FullTrustLaunchResult(1i32);
768     pub const FileNotFound: FullTrustLaunchResult = FullTrustLaunchResult(2i32);
769     pub const Unknown: FullTrustLaunchResult = FullTrustLaunchResult(3i32);
770 }
771 impl ::std::convert::From<i32> for FullTrustLaunchResult {
from(value: i32) -> Self772     fn from(value: i32) -> Self {
773         Self(value)
774     }
775 }
776 unsafe impl ::windows::runtime::Abi for FullTrustLaunchResult {
777     type Abi = Self;
778     type DefaultType = Self;
779 }
780 unsafe impl ::windows::runtime::RuntimeType for FullTrustLaunchResult {
781     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.FullTrustLaunchResult;i4)");
782 }
783 #[repr(transparent)]
784 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
785 pub struct FullTrustProcessLaunchResult(::windows::runtime::IInspectable);
786 impl FullTrustProcessLaunchResult {
LaunchResult(&self) -> ::windows::runtime::Result<FullTrustLaunchResult>787     pub fn LaunchResult(&self) -> ::windows::runtime::Result<FullTrustLaunchResult> {
788         let this = self;
789         unsafe {
790             let mut result__: FullTrustLaunchResult = ::std::mem::zeroed();
791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FullTrustLaunchResult>(result__)
792         }
793     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>794     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
795         let this = self;
796         unsafe {
797             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
798             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
799         }
800     }
801 }
802 unsafe impl ::windows::runtime::RuntimeType for FullTrustProcessLaunchResult {
803     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.FullTrustProcessLaunchResult;{8917d888-edfb-515f-8e22-5ebceb69dfd9})");
804 }
805 unsafe impl ::windows::runtime::Interface for FullTrustProcessLaunchResult {
806     type Vtable = IFullTrustProcessLaunchResult_abi;
807     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2300041352, 60923, 20831, [142, 34, 94, 188, 235, 105, 223, 217]);
808 }
809 impl ::windows::runtime::RuntimeName for FullTrustProcessLaunchResult {
810     const NAME: &'static str = "Windows.ApplicationModel.FullTrustProcessLaunchResult";
811 }
812 impl ::std::convert::From<FullTrustProcessLaunchResult> for ::windows::runtime::IUnknown {
from(value: FullTrustProcessLaunchResult) -> Self813     fn from(value: FullTrustProcessLaunchResult) -> Self {
814         unsafe { ::std::mem::transmute(value) }
815     }
816 }
817 impl ::std::convert::From<&FullTrustProcessLaunchResult> for ::windows::runtime::IUnknown {
from(value: &FullTrustProcessLaunchResult) -> Self818     fn from(value: &FullTrustProcessLaunchResult) -> Self {
819         ::std::convert::From::from(::std::clone::Clone::clone(value))
820     }
821 }
822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for FullTrustProcessLaunchResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>823     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
824         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
825     }
826 }
827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &FullTrustProcessLaunchResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
829         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
830     }
831 }
832 impl ::std::convert::From<FullTrustProcessLaunchResult> for ::windows::runtime::IInspectable {
from(value: FullTrustProcessLaunchResult) -> Self833     fn from(value: FullTrustProcessLaunchResult) -> Self {
834         value.0
835     }
836 }
837 impl ::std::convert::From<&FullTrustProcessLaunchResult> for ::windows::runtime::IInspectable {
from(value: &FullTrustProcessLaunchResult) -> Self838     fn from(value: &FullTrustProcessLaunchResult) -> Self {
839         value.0.clone()
840     }
841 }
842 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for FullTrustProcessLaunchResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>843     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
844         ::windows::runtime::Param::Owned(self.0)
845     }
846 }
847 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a FullTrustProcessLaunchResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>848     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
849         ::windows::runtime::Param::Borrowed(&self.0)
850     }
851 }
852 unsafe impl ::std::marker::Send for FullTrustProcessLaunchResult {}
853 unsafe impl ::std::marker::Sync for FullTrustProcessLaunchResult {}
854 pub struct FullTrustProcessLauncher {}
855 impl FullTrustProcessLauncher {
856     #[cfg(feature = "Foundation")]
LaunchFullTrustProcessForCurrentAppAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncAction>857     pub fn LaunchFullTrustProcessForCurrentAppAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
858         Self::IFullTrustProcessLauncherStatics(|this| unsafe {
859             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
860             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
861         })
862     }
863     #[cfg(feature = "Foundation")]
LaunchFullTrustProcessForCurrentAppWithParametersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(parametergroupid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>864     pub fn LaunchFullTrustProcessForCurrentAppWithParametersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(parametergroupid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
865         Self::IFullTrustProcessLauncherStatics(|this| unsafe {
866             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
867             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), parametergroupid.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
868         })
869     }
870     #[cfg(feature = "Foundation")]
LaunchFullTrustProcessForAppAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fulltrustpackagerelativeappid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>871     pub fn LaunchFullTrustProcessForAppAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fulltrustpackagerelativeappid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
872         Self::IFullTrustProcessLauncherStatics(|this| unsafe {
873             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
874             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), fulltrustpackagerelativeappid.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
875         })
876     }
877     #[cfg(feature = "Foundation")]
LaunchFullTrustProcessForAppWithParametersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fulltrustpackagerelativeappid: Param0, parametergroupid: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>878     pub fn LaunchFullTrustProcessForAppWithParametersAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fulltrustpackagerelativeappid: Param0, parametergroupid: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
879         Self::IFullTrustProcessLauncherStatics(|this| unsafe {
880             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
881             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), fulltrustpackagerelativeappid.into_param().abi(), parametergroupid.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
882         })
883     }
884     #[cfg(feature = "Foundation")]
LaunchFullTrustProcessForCurrentAppWithArgumentsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(commandline: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FullTrustProcessLaunchResult>>885     pub fn LaunchFullTrustProcessForCurrentAppWithArgumentsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(commandline: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FullTrustProcessLaunchResult>> {
886         Self::IFullTrustProcessLauncherStatics2(|this| unsafe {
887             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
888             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), commandline.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FullTrustProcessLaunchResult>>(result__)
889         })
890     }
891     #[cfg(feature = "Foundation")]
LaunchFullTrustProcessForAppWithArgumentsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fulltrustpackagerelativeappid: Param0, commandline: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FullTrustProcessLaunchResult>>892     pub fn LaunchFullTrustProcessForAppWithArgumentsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(fulltrustpackagerelativeappid: Param0, commandline: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FullTrustProcessLaunchResult>> {
893         Self::IFullTrustProcessLauncherStatics2(|this| unsafe {
894             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
895             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), fulltrustpackagerelativeappid.into_param().abi(), commandline.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FullTrustProcessLaunchResult>>(result__)
896         })
897     }
IFullTrustProcessLauncherStatics<R, F: FnOnce(&IFullTrustProcessLauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>898     pub fn IFullTrustProcessLauncherStatics<R, F: FnOnce(&IFullTrustProcessLauncherStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
899         static mut SHARED: ::windows::runtime::FactoryCache<FullTrustProcessLauncher, IFullTrustProcessLauncherStatics> = ::windows::runtime::FactoryCache::new();
900         unsafe { SHARED.call(callback) }
901     }
IFullTrustProcessLauncherStatics2<R, F: FnOnce(&IFullTrustProcessLauncherStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>902     pub fn IFullTrustProcessLauncherStatics2<R, F: FnOnce(&IFullTrustProcessLauncherStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
903         static mut SHARED: ::windows::runtime::FactoryCache<FullTrustProcessLauncher, IFullTrustProcessLauncherStatics2> = ::windows::runtime::FactoryCache::new();
904         unsafe { SHARED.call(callback) }
905     }
906 }
907 impl ::windows::runtime::RuntimeName for FullTrustProcessLauncher {
908     const NAME: &'static str = "Windows.ApplicationModel.FullTrustProcessLauncher";
909 }
910 #[repr(transparent)]
911 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
912 #[doc(hidden)]
913 pub struct IAppDisplayInfo(::windows::runtime::IInspectable);
914 unsafe impl ::windows::runtime::Interface for IAppDisplayInfo {
915     type Vtable = IAppDisplayInfo_abi;
916     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(451612931, 58580, 16810, [164, 246, 196, 162, 118, 231, 158, 172]);
917 }
918 #[repr(C)]
919 #[doc(hidden)]
920 pub struct IAppDisplayInfo_abi(
921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
929     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: super::Foundation::Size, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
930     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
931 );
932 #[repr(transparent)]
933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
934 #[doc(hidden)]
935 pub struct IAppInfo(::windows::runtime::IInspectable);
936 unsafe impl ::windows::runtime::Interface for IAppInfo {
937     type Vtable = IAppInfo_abi;
938     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3481229747, 27145, 19944, [166, 192, 87, 146, 213, 104, 128, 209]);
939 }
940 #[repr(C)]
941 #[doc(hidden)]
942 pub struct IAppInfo_abi(
943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
953 );
954 #[repr(transparent)]
955 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
956 #[doc(hidden)]
957 pub struct IAppInfo2(::windows::runtime::IInspectable);
958 unsafe impl ::windows::runtime::Interface for IAppInfo2 {
959     type Vtable = IAppInfo2_abi;
960     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3192594266, 8344, 17179, [189, 37, 179, 8, 120, 116, 141, 71]);
961 }
962 #[repr(C)]
963 #[doc(hidden)]
964 pub struct IAppInfo2_abi(
965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
972 );
973 #[repr(transparent)]
974 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
975 #[doc(hidden)]
976 pub struct IAppInfo3(::windows::runtime::IInspectable);
977 unsafe impl ::windows::runtime::Interface for IAppInfo3 {
978     type Vtable = IAppInfo3_abi;
979     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(161975878, 37796, 18142, [147, 151, 8, 67, 181, 113, 21, 234]);
980 }
981 #[repr(C)]
982 #[doc(hidden)]
983 pub struct IAppInfo3_abi(
984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppExecutionContext) -> ::windows::runtime::HRESULT,
991 );
992 #[repr(transparent)]
993 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
994 #[doc(hidden)]
995 pub struct IAppInfo4(::windows::runtime::IInspectable);
996 unsafe impl ::windows::runtime::Interface for IAppInfo4 {
997     type Vtable = IAppInfo4_abi;
998     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(791985643, 5641, 17748, [159, 51, 18, 225, 232, 3, 224, 212]);
999 }
1000 #[repr(C)]
1001 #[doc(hidden)]
1002 pub struct IAppInfo4_abi(
1003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result_size__: *mut u32, result__: *mut *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1010 );
1011 #[repr(transparent)]
1012 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1013 #[doc(hidden)]
1014 pub struct IAppInfoStatics(::windows::runtime::IInspectable);
1015 unsafe impl ::windows::runtime::Interface for IAppInfoStatics {
1016     type Vtable = IAppInfoStatics_abi;
1017     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3474946090, 58507, 20236, [155, 11, 121, 195, 248, 149, 125, 215]);
1018 }
1019 #[repr(C)]
1020 #[doc(hidden)]
1021 pub struct IAppInfoStatics_abi(
1022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, appusermodelid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1030     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, appusermodelid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1031     #[cfg(not(feature = "System"))] usize,
1032 );
1033 #[repr(transparent)]
1034 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1035 #[doc(hidden)]
1036 pub struct IAppInstallerInfo(::windows::runtime::IInspectable);
1037 unsafe impl ::windows::runtime::Interface for IAppInstallerInfo {
1038     type Vtable = IAppInstallerInfo_abi;
1039     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(699083456, 54518, 17059, [173, 205, 214, 88, 60, 101, 149, 8]);
1040 }
1041 #[repr(C)]
1042 #[doc(hidden)]
1043 pub struct IAppInstallerInfo_abi(
1044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1050     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1051     #[cfg(not(feature = "Foundation"))] usize,
1052 );
1053 #[repr(transparent)]
1054 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1055 #[doc(hidden)]
1056 pub struct IAppInstallerInfo2(::windows::runtime::IInspectable);
1057 unsafe impl ::windows::runtime::Interface for IAppInstallerInfo2 {
1058     type Vtable = IAppInstallerInfo2_abi;
1059     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3524203400, 33366, 22908, [133, 17, 200, 78, 197, 13, 94, 43]);
1060 }
1061 #[repr(C)]
1062 #[doc(hidden)]
1063 pub struct IAppInstallerInfo2_abi(
1064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PackageVersion) -> ::windows::runtime::HRESULT,
1078     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
1079     #[cfg(not(feature = "Foundation"))] usize,
1080     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1081     #[cfg(not(feature = "Foundation"))] usize,
1082     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1083     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1084     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1085     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1086     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1087     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1088     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1089     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1090     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallerPolicySource) -> ::windows::runtime::HRESULT,
1091 );
1092 #[repr(transparent)]
1093 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1094 #[doc(hidden)]
1095 pub struct IAppInstance(::windows::runtime::IInspectable);
1096 unsafe impl ::windows::runtime::Interface for IAppInstance {
1097     type Vtable = IAppInstance_abi;
1098     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1734290247, 62047, 17714, [159, 214, 54, 51, 224, 99, 77, 1]);
1099 }
1100 #[repr(C)]
1101 #[doc(hidden)]
1102 pub struct IAppInstance_abi(
1103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1106     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1107     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1108     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1112 );
1113 #[repr(transparent)]
1114 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1115 #[doc(hidden)]
1116 pub struct IAppInstanceStatics(::windows::runtime::IInspectable);
1117 unsafe impl ::windows::runtime::Interface for IAppInstanceStatics {
1118     type Vtable = IAppInstanceStatics_abi;
1119     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2635196287, 40614, 18351, [166, 236, 70, 120, 76, 91, 162, 84]);
1120 }
1121 #[repr(C)]
1122 #[doc(hidden)]
1123 pub struct IAppInstanceStatics_abi(
1124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1129     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1130     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1131     #[cfg(feature = "ApplicationModel_Activation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1132     #[cfg(not(feature = "ApplicationModel_Activation"))] usize,
1133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, key: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1135     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1136     #[cfg(not(feature = "Foundation_Collections"))] usize,
1137 );
1138 #[repr(transparent)]
1139 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1140 #[doc(hidden)]
1141 pub struct ICameraApplicationManagerStatics(::windows::runtime::IInspectable);
1142 unsafe impl ::windows::runtime::Interface for ICameraApplicationManagerStatics {
1143     type Vtable = ICameraApplicationManagerStatics_abi;
1144     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2509888974, 39891, 17244, [128, 84, 193, 173, 213, 0, 40, 254]);
1145 }
1146 #[repr(C)]
1147 #[doc(hidden)]
1148 pub struct ICameraApplicationManagerStatics_abi(
1149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1156 );
1157 #[repr(transparent)]
1158 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1159 #[doc(hidden)]
1160 pub struct IDesignModeStatics(::windows::runtime::IInspectable);
1161 unsafe impl ::windows::runtime::Interface for IDesignModeStatics {
1162     type Vtable = IDesignModeStatics_abi;
1163     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(741905356, 63514, 20090, [184, 87, 118, 168, 8, 135, 225, 133]);
1164 }
1165 #[repr(C)]
1166 #[doc(hidden)]
1167 pub struct IDesignModeStatics_abi(
1168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1175 );
1176 #[repr(transparent)]
1177 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1178 #[doc(hidden)]
1179 pub struct IDesignModeStatics2(::windows::runtime::IInspectable);
1180 unsafe impl ::windows::runtime::Interface for IDesignModeStatics2 {
1181     type Vtable = IDesignModeStatics2_abi;
1182     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2161082679, 45156, 18520, [190, 200, 62, 186, 34, 53, 117, 53]);
1183 }
1184 #[repr(C)]
1185 #[doc(hidden)]
1186 pub struct IDesignModeStatics2_abi(
1187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1194 );
1195 #[repr(transparent)]
1196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1197 pub struct IEnteredBackgroundEventArgs(::windows::runtime::IInspectable);
1198 unsafe impl ::windows::runtime::Interface for IEnteredBackgroundEventArgs {
1199     type Vtable = IEnteredBackgroundEventArgs_abi;
1200     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4146257090, 38951, 16445, [170, 237, 236, 202, 154, 193, 115, 152]);
1201 }
1202 impl IEnteredBackgroundEventArgs {
1203     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral>1204     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral> {
1205         let this = self;
1206         unsafe {
1207             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1208             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Deferral>(result__)
1209         }
1210     }
1211 }
1212 unsafe impl ::windows::runtime::RuntimeType for IEnteredBackgroundEventArgs {
1213     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{f722dcc2-9827-403d-aaed-ecca9ac17398}");
1214 }
1215 impl ::std::convert::From<IEnteredBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: IEnteredBackgroundEventArgs) -> Self1216     fn from(value: IEnteredBackgroundEventArgs) -> Self {
1217         unsafe { ::std::mem::transmute(value) }
1218     }
1219 }
1220 impl ::std::convert::From<&IEnteredBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: &IEnteredBackgroundEventArgs) -> Self1221     fn from(value: &IEnteredBackgroundEventArgs) -> Self {
1222         ::std::convert::From::from(::std::clone::Clone::clone(value))
1223     }
1224 }
1225 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IEnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1226     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1227         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1228     }
1229 }
1230 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IEnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1231     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1232         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1233     }
1234 }
1235 impl ::std::convert::From<IEnteredBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: IEnteredBackgroundEventArgs) -> Self1236     fn from(value: IEnteredBackgroundEventArgs) -> Self {
1237         value.0
1238     }
1239 }
1240 impl ::std::convert::From<&IEnteredBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: &IEnteredBackgroundEventArgs) -> Self1241     fn from(value: &IEnteredBackgroundEventArgs) -> Self {
1242         value.0.clone()
1243     }
1244 }
1245 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IEnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1246     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1247         ::windows::runtime::Param::Owned(self.0)
1248     }
1249 }
1250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IEnteredBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1252         ::windows::runtime::Param::Borrowed(&self.0)
1253     }
1254 }
1255 #[repr(C)]
1256 #[doc(hidden)]
1257 pub struct IEnteredBackgroundEventArgs_abi(
1258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1264     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1265     #[cfg(not(feature = "Foundation"))] usize,
1266 );
1267 #[repr(transparent)]
1268 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1269 #[doc(hidden)]
1270 pub struct IFullTrustProcessLaunchResult(::windows::runtime::IInspectable);
1271 unsafe impl ::windows::runtime::Interface for IFullTrustProcessLaunchResult {
1272     type Vtable = IFullTrustProcessLaunchResult_abi;
1273     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2300041352, 60923, 20831, [142, 34, 94, 188, 235, 105, 223, 217]);
1274 }
1275 #[repr(C)]
1276 #[doc(hidden)]
1277 pub struct IFullTrustProcessLaunchResult_abi(
1278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FullTrustLaunchResult) -> ::windows::runtime::HRESULT,
1285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1286 );
1287 #[repr(transparent)]
1288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1289 #[doc(hidden)]
1290 pub struct IFullTrustProcessLauncherStatics(::windows::runtime::IInspectable);
1291 unsafe impl ::windows::runtime::Interface for IFullTrustProcessLauncherStatics {
1292     type Vtable = IFullTrustProcessLauncherStatics_abi;
1293     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3615785855, 4352, 15467, [164, 85, 246, 38, 44, 195, 49, 182]);
1294 }
1295 #[repr(C)]
1296 #[doc(hidden)]
1297 pub struct IFullTrustProcessLauncherStatics_abi(
1298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1304     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1305     #[cfg(not(feature = "Foundation"))] usize,
1306     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parametergroupid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1307     #[cfg(not(feature = "Foundation"))] usize,
1308     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fulltrustpackagerelativeappid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1309     #[cfg(not(feature = "Foundation"))] usize,
1310     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fulltrustpackagerelativeappid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, parametergroupid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1311     #[cfg(not(feature = "Foundation"))] usize,
1312 );
1313 #[repr(transparent)]
1314 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1315 #[doc(hidden)]
1316 pub struct IFullTrustProcessLauncherStatics2(::windows::runtime::IInspectable);
1317 unsafe impl ::windows::runtime::Interface for IFullTrustProcessLauncherStatics2 {
1318     type Vtable = IFullTrustProcessLauncherStatics2_abi;
1319     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2341394223, 46684, 22223, [161, 167, 43, 247, 124, 188, 110, 168]);
1320 }
1321 #[repr(C)]
1322 #[doc(hidden)]
1323 pub struct IFullTrustProcessLauncherStatics2_abi(
1324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1325     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1326     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1327     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1330     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandline: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1331     #[cfg(not(feature = "Foundation"))] usize,
1332     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, fulltrustpackagerelativeappid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, commandline: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1333     #[cfg(not(feature = "Foundation"))] usize,
1334 );
1335 #[repr(transparent)]
1336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1337 pub struct ILeavingBackgroundEventArgs(::windows::runtime::IInspectable);
1338 unsafe impl ::windows::runtime::Interface for ILeavingBackgroundEventArgs {
1339     type Vtable = ILeavingBackgroundEventArgs_abi;
1340     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(969338010, 44654, 18169, [160, 122, 207, 194, 63, 136, 115, 62]);
1341 }
1342 impl ILeavingBackgroundEventArgs {
1343     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral>1344     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral> {
1345         let this = self;
1346         unsafe {
1347             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1348             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Deferral>(result__)
1349         }
1350     }
1351 }
1352 unsafe impl ::windows::runtime::RuntimeType for ILeavingBackgroundEventArgs {
1353     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{39c6ec9a-ae6e-46f9-a07a-cfc23f88733e}");
1354 }
1355 impl ::std::convert::From<ILeavingBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: ILeavingBackgroundEventArgs) -> Self1356     fn from(value: ILeavingBackgroundEventArgs) -> Self {
1357         unsafe { ::std::mem::transmute(value) }
1358     }
1359 }
1360 impl ::std::convert::From<&ILeavingBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: &ILeavingBackgroundEventArgs) -> Self1361     fn from(value: &ILeavingBackgroundEventArgs) -> Self {
1362         ::std::convert::From::from(::std::clone::Clone::clone(value))
1363     }
1364 }
1365 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ILeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1366     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1367         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1368     }
1369 }
1370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ILeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1372         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1373     }
1374 }
1375 impl ::std::convert::From<ILeavingBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: ILeavingBackgroundEventArgs) -> Self1376     fn from(value: ILeavingBackgroundEventArgs) -> Self {
1377         value.0
1378     }
1379 }
1380 impl ::std::convert::From<&ILeavingBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: &ILeavingBackgroundEventArgs) -> Self1381     fn from(value: &ILeavingBackgroundEventArgs) -> Self {
1382         value.0.clone()
1383     }
1384 }
1385 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ILeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1386     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1387         ::windows::runtime::Param::Owned(self.0)
1388     }
1389 }
1390 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ILeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1391     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1392         ::windows::runtime::Param::Borrowed(&self.0)
1393     }
1394 }
1395 #[repr(C)]
1396 #[doc(hidden)]
1397 pub struct ILeavingBackgroundEventArgs_abi(
1398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1401     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1402     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1404     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1405     #[cfg(not(feature = "Foundation"))] usize,
1406 );
1407 #[repr(transparent)]
1408 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1409 #[doc(hidden)]
1410 pub struct ILimitedAccessFeatureRequestResult(::windows::runtime::IInspectable);
1411 unsafe impl ::windows::runtime::Interface for ILimitedAccessFeatureRequestResult {
1412     type Vtable = ILimitedAccessFeatureRequestResult_abi;
1413     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3562100390, 7716, 24029, [171, 180, 97, 136, 171, 164, 213, 191]);
1414 }
1415 #[repr(C)]
1416 #[doc(hidden)]
1417 pub struct ILimitedAccessFeatureRequestResult_abi(
1418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut LimitedAccessFeatureStatus) -> ::windows::runtime::HRESULT,
1426     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1427     #[cfg(not(feature = "Foundation"))] usize,
1428 );
1429 #[repr(transparent)]
1430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1431 #[doc(hidden)]
1432 pub struct ILimitedAccessFeaturesStatics(::windows::runtime::IInspectable);
1433 unsafe impl ::windows::runtime::Interface for ILimitedAccessFeaturesStatics {
1434     type Vtable = ILimitedAccessFeaturesStatics_abi;
1435     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2347111124, 12331, 24511, [166, 50, 26, 153, 228, 62, 137, 37]);
1436 }
1437 #[repr(C)]
1438 #[doc(hidden)]
1439 pub struct ILimitedAccessFeaturesStatics_abi(
1440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, featureid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, token: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, attestation: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1447 );
1448 #[repr(transparent)]
1449 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1450 #[doc(hidden)]
1451 pub struct IPackage(::windows::runtime::IInspectable);
1452 unsafe impl ::windows::runtime::Interface for IPackage {
1453     type Vtable = IPackage_abi;
1454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(373061935, 48501, 16700, [191, 35, 177, 254, 123, 149, 216, 37]);
1455 }
1456 #[repr(C)]
1457 #[doc(hidden)]
1458 pub struct IPackage_abi(
1459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1466     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1467     #[cfg(not(feature = "Storage"))] usize,
1468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1469     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1470     #[cfg(not(feature = "Foundation_Collections"))] usize,
1471 );
1472 #[repr(transparent)]
1473 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1474 #[doc(hidden)]
1475 pub struct IPackage2(::windows::runtime::IInspectable);
1476 unsafe impl ::windows::runtime::Interface for IPackage2 {
1477     type Vtable = IPackage2_abi;
1478     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2791387062, 30344, 19150, [149, 251, 53, 149, 56, 231, 170, 1]);
1479 }
1480 #[repr(C)]
1481 #[doc(hidden)]
1482 pub struct IPackage2_abi(
1483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1492     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1493     #[cfg(not(feature = "Foundation"))] usize,
1494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1497 );
1498 #[repr(transparent)]
1499 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1500 #[doc(hidden)]
1501 pub struct IPackage3(::windows::runtime::IInspectable);
1502 unsafe impl ::windows::runtime::Interface for IPackage3 {
1503     type Vtable = IPackage3_abi;
1504     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1601407841, 63594, 18711, [147, 209, 241, 238, 157, 59, 53, 217]);
1505 }
1506 #[repr(C)]
1507 #[doc(hidden)]
1508 pub struct IPackage3_abi(
1509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1516     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
1517     #[cfg(not(feature = "Foundation"))] usize,
1518     #[cfg(all(feature = "ApplicationModel_Core", feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1519     #[cfg(not(all(feature = "ApplicationModel_Core", feature = "Foundation", feature = "Foundation_Collections")))] usize,
1520 );
1521 #[repr(transparent)]
1522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1523 #[doc(hidden)]
1524 pub struct IPackage4(::windows::runtime::IInspectable);
1525 unsafe impl ::windows::runtime::Interface for IPackage4 {
1526     type Vtable = IPackage4_abi;
1527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1705955758, 47451, 17676, [136, 43, 98, 85, 24, 127, 57, 126]);
1528 }
1529 #[repr(C)]
1530 #[doc(hidden)]
1531 pub struct IPackage4_abi(
1532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PackageSignatureKind) -> ::windows::runtime::HRESULT,
1539     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1540     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1541     #[cfg(not(feature = "Foundation"))] usize,
1542 );
1543 #[repr(transparent)]
1544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1545 #[doc(hidden)]
1546 pub struct IPackage5(::windows::runtime::IInspectable);
1547 unsafe impl ::windows::runtime::Interface for IPackage5 {
1548     type Vtable = IPackage5_abi;
1549     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(243543508, 55724, 17901, [154, 30, 116, 206, 5, 107, 38, 53]);
1550 }
1551 #[repr(C)]
1552 #[doc(hidden)]
1553 pub struct IPackage5_abi(
1554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1560     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1561     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1562     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1563     #[cfg(not(feature = "Foundation"))] usize,
1564     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, names: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1565     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1566     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, names: ::windows::runtime::RawPtr, movetoheadofqueue: bool, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1567     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1568     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, inuse: bool, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1569     #[cfg(not(feature = "Foundation"))] usize,
1570 );
1571 #[repr(transparent)]
1572 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1573 #[doc(hidden)]
1574 pub struct IPackage6(::windows::runtime::IInspectable);
1575 unsafe impl ::windows::runtime::Interface for IPackage6 {
1576     type Vtable = IPackage6_abi;
1577     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2333792578, 4823, 18260, [174, 78, 99, 140, 188, 14, 58, 46]);
1578 }
1579 #[repr(C)]
1580 #[doc(hidden)]
1581 pub struct IPackage6_abi(
1582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1589     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1590     #[cfg(not(feature = "Foundation"))] usize,
1591 );
1592 #[repr(transparent)]
1593 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1594 #[doc(hidden)]
1595 pub struct IPackage7(::windows::runtime::IInspectable);
1596 unsafe impl ::windows::runtime::Interface for IPackage7 {
1597     type Vtable = IPackage7_abi;
1598     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2264894769, 41700, 17888, [151, 50, 40, 58, 109, 136, 253, 225]);
1599 }
1600 #[repr(C)]
1601 #[doc(hidden)]
1602 pub struct IPackage7_abi(
1603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1609     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1610     #[cfg(not(feature = "Storage"))] usize,
1611     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1612     #[cfg(not(feature = "Storage"))] usize,
1613 );
1614 #[repr(transparent)]
1615 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1616 #[doc(hidden)]
1617 pub struct IPackage8(::windows::runtime::IInspectable);
1618 unsafe impl ::windows::runtime::Interface for IPackage8 {
1619     type Vtable = IPackage8_abi;
1620     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(743985019, 52778, 19430, [160, 147, 119, 207, 187, 42, 126, 161]);
1621 }
1622 #[repr(C)]
1623 #[doc(hidden)]
1624 pub struct IPackage8_abi(
1625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1631     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1632     #[cfg(not(feature = "Storage"))] usize,
1633     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1634     #[cfg(not(feature = "Storage"))] usize,
1635     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1636     #[cfg(not(feature = "Storage"))] usize,
1637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1638     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1639     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1643     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: super::Foundation::Size, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1644     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1645     #[cfg(all(feature = "ApplicationModel_Core", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1646     #[cfg(not(all(feature = "ApplicationModel_Core", feature = "Foundation_Collections")))] usize,
1647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1648 );
1649 #[repr(transparent)]
1650 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1651 #[doc(hidden)]
1652 pub struct IPackageCatalog(::windows::runtime::IInspectable);
1653 unsafe impl ::windows::runtime::Interface for IPackageCatalog {
1654     type Vtable = IPackageCatalog_abi;
1655     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587872081, 40419, 17477, [190, 116, 145, 251, 50, 90, 190, 254]);
1656 }
1657 #[repr(C)]
1658 #[doc(hidden)]
1659 pub struct IPackageCatalog_abi(
1660     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1666     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1667     #[cfg(not(feature = "Foundation"))] usize,
1668     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1669     #[cfg(not(feature = "Foundation"))] usize,
1670     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1671     #[cfg(not(feature = "Foundation"))] usize,
1672     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1673     #[cfg(not(feature = "Foundation"))] usize,
1674     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1675     #[cfg(not(feature = "Foundation"))] usize,
1676     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1677     #[cfg(not(feature = "Foundation"))] usize,
1678     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1679     #[cfg(not(feature = "Foundation"))] usize,
1680     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1681     #[cfg(not(feature = "Foundation"))] usize,
1682     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1683     #[cfg(not(feature = "Foundation"))] usize,
1684     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1685     #[cfg(not(feature = "Foundation"))] usize,
1686 );
1687 #[repr(transparent)]
1688 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1689 #[doc(hidden)]
1690 pub struct IPackageCatalog2(::windows::runtime::IInspectable);
1691 unsafe impl ::windows::runtime::Interface for IPackageCatalog2 {
1692     type Vtable = IPackageCatalog2_abi;
1693     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2527464502, 36855, 17220, [182, 191, 238, 100, 194, 32, 126, 210]);
1694 }
1695 #[repr(C)]
1696 #[doc(hidden)]
1697 pub struct IPackageCatalog2_abi(
1698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1704     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1705     #[cfg(not(feature = "Foundation"))] usize,
1706     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1707     #[cfg(not(feature = "Foundation"))] usize,
1708     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, optionalpackagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1709     #[cfg(not(feature = "Foundation"))] usize,
1710 );
1711 #[repr(transparent)]
1712 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1713 #[doc(hidden)]
1714 pub struct IPackageCatalog3(::windows::runtime::IInspectable);
1715 unsafe impl ::windows::runtime::Interface for IPackageCatalog3 {
1716     type Vtable = IPackageCatalog3_abi;
1717     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2531089544, 34871, 17401, [144, 21, 3, 52, 52, 186, 20, 243]);
1718 }
1719 #[repr(C)]
1720 #[doc(hidden)]
1721 pub struct IPackageCatalog3_abi(
1722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1728     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, optionalpackagefamilynames: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1729     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1730 );
1731 #[repr(transparent)]
1732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1733 #[doc(hidden)]
1734 pub struct IPackageCatalog4(::windows::runtime::IInspectable);
1735 unsafe impl ::windows::runtime::Interface for IPackageCatalog4 {
1736     type Vtable = IPackageCatalog4_abi;
1737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3279698331, 17612, 19323, [139, 175, 121, 108, 4, 234, 211, 185]);
1738 }
1739 #[repr(C)]
1740 #[doc(hidden)]
1741 pub struct IPackageCatalog4_abi(
1742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1748     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcepackagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, resourceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: AddResourcePackageOptions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1749     #[cfg(not(feature = "Foundation"))] usize,
1750     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, resourcepackages: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1751     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1752 );
1753 #[repr(transparent)]
1754 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1755 #[doc(hidden)]
1756 pub struct IPackageCatalogAddOptionalPackageResult(::windows::runtime::IInspectable);
1757 unsafe impl ::windows::runtime::Interface for IPackageCatalogAddOptionalPackageResult {
1758     type Vtable = IPackageCatalogAddOptionalPackageResult_abi;
1759     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1005653204, 46303, 18355, [169, 99, 226, 250, 131, 47, 125, 211]);
1760 }
1761 #[repr(C)]
1762 #[doc(hidden)]
1763 pub struct IPackageCatalogAddOptionalPackageResult_abi(
1764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1772 );
1773 #[repr(transparent)]
1774 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1775 #[doc(hidden)]
1776 pub struct IPackageCatalogAddResourcePackageResult(::windows::runtime::IInspectable);
1777 unsafe impl ::windows::runtime::Interface for IPackageCatalogAddResourcePackageResult {
1778     type Vtable = IPackageCatalogAddResourcePackageResult_abi;
1779     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2520174093, 15895, 18751, [170, 8, 204, 236, 111, 222, 246, 153]);
1780 }
1781 #[repr(C)]
1782 #[doc(hidden)]
1783 pub struct IPackageCatalogAddResourcePackageResult_abi(
1784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1793 );
1794 #[repr(transparent)]
1795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1796 #[doc(hidden)]
1797 pub struct IPackageCatalogRemoveOptionalPackagesResult(::windows::runtime::IInspectable);
1798 unsafe impl ::windows::runtime::Interface for IPackageCatalogRemoveOptionalPackagesResult {
1799     type Vtable = IPackageCatalogRemoveOptionalPackagesResult_abi;
1800     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(701692283, 55668, 20068, [147, 89, 34, 202, 223, 215, 152, 40]);
1801 }
1802 #[repr(C)]
1803 #[doc(hidden)]
1804 pub struct IPackageCatalogRemoveOptionalPackagesResult_abi(
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1811     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1812     #[cfg(not(feature = "Foundation_Collections"))] usize,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1814 );
1815 #[repr(transparent)]
1816 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1817 #[doc(hidden)]
1818 pub struct IPackageCatalogRemoveResourcePackagesResult(::windows::runtime::IInspectable);
1819 unsafe impl ::windows::runtime::Interface for IPackageCatalogRemoveResourcePackagesResult {
1820     type Vtable = IPackageCatalogRemoveResourcePackagesResult_abi;
1821     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2926679817, 6738, 17185, [135, 179, 229, 161, 161, 121, 129, 167]);
1822 }
1823 #[repr(C)]
1824 #[doc(hidden)]
1825 pub struct IPackageCatalogRemoveResourcePackagesResult_abi(
1826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1832     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1833     #[cfg(not(feature = "Foundation_Collections"))] usize,
1834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1835 );
1836 #[repr(transparent)]
1837 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1838 #[doc(hidden)]
1839 pub struct IPackageCatalogStatics(::windows::runtime::IInspectable);
1840 unsafe impl ::windows::runtime::Interface for IPackageCatalogStatics {
1841     type Vtable = IPackageCatalogStatics_abi;
1842     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2710345366, 58971, 17972, [186, 33, 94, 99, 235, 114, 68, 167]);
1843 }
1844 #[repr(C)]
1845 #[doc(hidden)]
1846 pub struct IPackageCatalogStatics_abi(
1847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1855 );
1856 #[repr(transparent)]
1857 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1858 #[doc(hidden)]
1859 pub struct IPackageContentGroup(::windows::runtime::IInspectable);
1860 unsafe impl ::windows::runtime::Interface for IPackageContentGroup {
1861     type Vtable = IPackageContentGroup_abi;
1862     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2405591389, 4618, 18328, [181, 225, 88, 0, 221, 168, 242, 225]);
1863 }
1864 #[repr(C)]
1865 #[doc(hidden)]
1866 pub struct IPackageContentGroup_abi(
1867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PackageContentGroupState) -> ::windows::runtime::HRESULT,
1876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1877 );
1878 #[repr(transparent)]
1879 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1880 #[doc(hidden)]
1881 pub struct IPackageContentGroupStagingEventArgs(::windows::runtime::IInspectable);
1882 unsafe impl ::windows::runtime::Interface for IPackageContentGroupStagingEventArgs {
1883     type Vtable = IPackageContentGroupStagingEventArgs_abi;
1884     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1031520894, 28455, 17516, [152, 110, 212, 115, 61, 77, 145, 19]);
1885 }
1886 #[repr(C)]
1887 #[doc(hidden)]
1888 pub struct IPackageContentGroupStagingEventArgs_abi(
1889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1902 );
1903 #[repr(transparent)]
1904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1905 #[doc(hidden)]
1906 pub struct IPackageContentGroupStatics(::windows::runtime::IInspectable);
1907 unsafe impl ::windows::runtime::Interface for IPackageContentGroupStatics {
1908     type Vtable = IPackageContentGroupStatics_abi;
1909     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1894675993, 24338, 19346, [185, 234, 108, 202, 218, 19, 188, 117]);
1910 }
1911 #[repr(C)]
1912 #[doc(hidden)]
1913 pub struct IPackageContentGroupStatics_abi(
1914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1921 );
1922 #[repr(transparent)]
1923 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1924 #[doc(hidden)]
1925 pub struct IPackageId(::windows::runtime::IInspectable);
1926 unsafe impl ::windows::runtime::Interface for IPackageId {
1927     type Vtable = IPackageId_abi;
1928     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(450586206, 14279, 18320, [153, 128, 221, 122, 231, 78, 139, 178]);
1929 }
1930 #[repr(C)]
1931 #[doc(hidden)]
1932 pub struct IPackageId_abi(
1933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PackageVersion) -> ::windows::runtime::HRESULT,
1941     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::System::ProcessorArchitecture) -> ::windows::runtime::HRESULT,
1942     #[cfg(not(feature = "System"))] usize,
1943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1948 );
1949 #[repr(transparent)]
1950 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1951 #[doc(hidden)]
1952 pub struct IPackageIdWithMetadata(::windows::runtime::IInspectable);
1953 unsafe impl ::windows::runtime::Interface for IPackageIdWithMetadata {
1954     type Vtable = IPackageIdWithMetadata_abi;
1955     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1079474812, 3230, 17469, [144, 116, 133, 95, 92, 224, 160, 141]);
1956 }
1957 #[repr(C)]
1958 #[doc(hidden)]
1959 pub struct IPackageIdWithMetadata_abi(
1960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1968 );
1969 #[repr(transparent)]
1970 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1971 #[doc(hidden)]
1972 pub struct IPackageInstallingEventArgs(::windows::runtime::IInspectable);
1973 unsafe impl ::windows::runtime::Interface for IPackageInstallingEventArgs {
1974     type Vtable = IPackageInstallingEventArgs_abi;
1975     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2540969655, 43898, 16410, [139, 97, 235, 14, 127, 175, 242, 55]);
1976 }
1977 #[repr(C)]
1978 #[doc(hidden)]
1979 pub struct IPackageInstallingEventArgs_abi(
1980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1991 );
1992 #[repr(transparent)]
1993 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1994 #[doc(hidden)]
1995 pub struct IPackageStagingEventArgs(::windows::runtime::IInspectable);
1996 unsafe impl ::windows::runtime::Interface for IPackageStagingEventArgs {
1997     type Vtable = IPackageStagingEventArgs_abi;
1998     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(272721965, 21730, 20305, [184, 40, 158, 247, 4, 108, 33, 15]);
1999 }
2000 #[repr(C)]
2001 #[doc(hidden)]
2002 pub struct IPackageStagingEventArgs_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, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2014 );
2015 #[repr(transparent)]
2016 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2017 #[doc(hidden)]
2018 pub struct IPackageStatics(::windows::runtime::IInspectable);
2019 unsafe impl ::windows::runtime::Interface for IPackageStatics {
2020     type Vtable = IPackageStatics_abi;
2021     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1314081759, 10592, 18552, [151, 164, 150, 36, 222, 183, 47, 45]);
2022 }
2023 #[repr(C)]
2024 #[doc(hidden)]
2025 pub struct IPackageStatics_abi(
2026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2033 );
2034 #[repr(transparent)]
2035 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2036 #[doc(hidden)]
2037 pub struct IPackageStatus(::windows::runtime::IInspectable);
2038 unsafe impl ::windows::runtime::Interface for IPackageStatus {
2039     type Vtable = IPackageStatus_abi;
2040     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1608994673, 41829, 19465, [160, 45, 4, 109, 82, 94, 161, 218]);
2041 }
2042 #[repr(C)]
2043 #[doc(hidden)]
2044 pub struct IPackageStatus_abi(
2045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2054     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2055     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2059     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2063 );
2064 #[repr(transparent)]
2065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2066 #[doc(hidden)]
2067 pub struct IPackageStatus2(::windows::runtime::IInspectable);
2068 unsafe impl ::windows::runtime::Interface for IPackageStatus2 {
2069     type Vtable = IPackageStatus2_abi;
2070     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4096326291, 31830, 18530, [172, 250, 171, 174, 220, 192, 105, 77]);
2071 }
2072 #[repr(C)]
2073 #[doc(hidden)]
2074 pub struct IPackageStatus2_abi(
2075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2082 );
2083 #[repr(transparent)]
2084 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2085 #[doc(hidden)]
2086 pub struct IPackageStatusChangedEventArgs(::windows::runtime::IInspectable);
2087 unsafe impl ::windows::runtime::Interface for IPackageStatusChangedEventArgs {
2088     type Vtable = IPackageStatusChangedEventArgs_abi;
2089     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1132294477, 48512, 19056, [188, 80, 246, 231, 150, 80, 149, 117]);
2090 }
2091 #[repr(C)]
2092 #[doc(hidden)]
2093 pub struct IPackageStatusChangedEventArgs_abi(
2094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2101 );
2102 #[repr(transparent)]
2103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2104 #[doc(hidden)]
2105 pub struct IPackageUninstallingEventArgs(::windows::runtime::IInspectable);
2106 unsafe impl ::windows::runtime::Interface for IPackageUninstallingEventArgs {
2107     type Vtable = IPackageUninstallingEventArgs_abi;
2108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1145285202, 43810, 17613, [130, 187, 78, 201, 184, 39, 54, 122]);
2109 }
2110 #[repr(C)]
2111 #[doc(hidden)]
2112 pub struct IPackageUninstallingEventArgs_abi(
2113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2124 );
2125 #[repr(transparent)]
2126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2127 #[doc(hidden)]
2128 pub struct IPackageUpdateAvailabilityResult(::windows::runtime::IInspectable);
2129 unsafe impl ::windows::runtime::Interface for IPackageUpdateAvailabilityResult {
2130     type Vtable = IPackageUpdateAvailabilityResult_abi;
2131     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(290344969, 6554, 18593, [160, 121, 49, 60, 69, 99, 74, 113]);
2132 }
2133 #[repr(C)]
2134 #[doc(hidden)]
2135 pub struct IPackageUpdateAvailabilityResult_abi(
2136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PackageUpdateAvailability) -> ::windows::runtime::HRESULT,
2143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2144 );
2145 #[repr(transparent)]
2146 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2147 #[doc(hidden)]
2148 pub struct IPackageUpdatingEventArgs(::windows::runtime::IInspectable);
2149 unsafe impl ::windows::runtime::Interface for IPackageUpdatingEventArgs {
2150     type Vtable = IPackageUpdatingEventArgs_abi;
2151     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3447407144, 64884, 17470, [177, 20, 35, 230, 119, 176, 232, 111]);
2152 }
2153 #[repr(C)]
2154 #[doc(hidden)]
2155 pub struct IPackageUpdatingEventArgs_abi(
2156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
2166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
2168 );
2169 #[repr(transparent)]
2170 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2171 #[doc(hidden)]
2172 pub struct IPackageWithMetadata(::windows::runtime::IInspectable);
2173 unsafe impl ::windows::runtime::Interface for IPackageWithMetadata {
2174     type Vtable = IPackageWithMetadata_abi;
2175     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2509543296, 7657, 16626, [180, 82, 13, 233, 241, 145, 0, 18]);
2176 }
2177 #[repr(C)]
2178 #[doc(hidden)]
2179 pub struct IPackageWithMetadata_abi(
2180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2186     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
2187     #[cfg(not(feature = "Foundation"))] usize,
2188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, parameters: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2190 );
2191 #[repr(transparent)]
2192 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2193 #[doc(hidden)]
2194 pub struct IStartupTask(::windows::runtime::IInspectable);
2195 unsafe impl ::windows::runtime::Interface for IStartupTask {
2196     type Vtable = IStartupTask_abi;
2197     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4150010824, 46578, 20332, [136, 221, 54, 203, 29, 89, 157, 23]);
2198 }
2199 #[repr(C)]
2200 #[doc(hidden)]
2201 pub struct IStartupTask_abi(
2202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2208     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2209     #[cfg(not(feature = "Foundation"))] usize,
2210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StartupTaskState) -> ::windows::runtime::HRESULT,
2212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2213 );
2214 #[repr(transparent)]
2215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2216 #[doc(hidden)]
2217 pub struct IStartupTaskStatics(::windows::runtime::IInspectable);
2218 unsafe impl ::windows::runtime::Interface for IStartupTaskStatics {
2219     type Vtable = IStartupTaskStatics_abi;
2220     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3998965949, 41288, 16807, [178, 110, 232, 184, 138, 30, 98, 248]);
2221 }
2222 #[repr(C)]
2223 #[doc(hidden)]
2224 pub struct IStartupTaskStatics_abi(
2225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2231     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2232     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2233     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, taskid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2234     #[cfg(not(feature = "Foundation"))] usize,
2235 );
2236 #[repr(transparent)]
2237 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2238 pub struct ISuspendingDeferral(::windows::runtime::IInspectable);
2239 unsafe impl ::windows::runtime::Interface for ISuspendingDeferral {
2240     type Vtable = ISuspendingDeferral_abi;
2241     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1494484233, 35785, 20148, [182, 54, 218, 189, 196, 244, 111, 102]);
2242 }
2243 impl ISuspendingDeferral {
Complete(&self) -> ::windows::runtime::Result<()>2244     pub fn Complete(&self) -> ::windows::runtime::Result<()> {
2245         let this = self;
2246         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2247     }
2248 }
2249 unsafe impl ::windows::runtime::RuntimeType for ISuspendingDeferral {
2250     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{59140509-8bc9-4eb4-b636-dabdc4f46f66}");
2251 }
2252 impl ::std::convert::From<ISuspendingDeferral> for ::windows::runtime::IUnknown {
from(value: ISuspendingDeferral) -> Self2253     fn from(value: ISuspendingDeferral) -> Self {
2254         unsafe { ::std::mem::transmute(value) }
2255     }
2256 }
2257 impl ::std::convert::From<&ISuspendingDeferral> for ::windows::runtime::IUnknown {
from(value: &ISuspendingDeferral) -> Self2258     fn from(value: &ISuspendingDeferral) -> Self {
2259         ::std::convert::From::from(::std::clone::Clone::clone(value))
2260     }
2261 }
2262 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2263     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2264         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2265     }
2266 }
2267 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2268     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2269         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2270     }
2271 }
2272 impl ::std::convert::From<ISuspendingDeferral> for ::windows::runtime::IInspectable {
from(value: ISuspendingDeferral) -> Self2273     fn from(value: ISuspendingDeferral) -> Self {
2274         value.0
2275     }
2276 }
2277 impl ::std::convert::From<&ISuspendingDeferral> for ::windows::runtime::IInspectable {
from(value: &ISuspendingDeferral) -> Self2278     fn from(value: &ISuspendingDeferral) -> Self {
2279         value.0.clone()
2280     }
2281 }
2282 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ISuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2283     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2284         ::windows::runtime::Param::Owned(self.0)
2285     }
2286 }
2287 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ISuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2288     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2289         ::windows::runtime::Param::Borrowed(&self.0)
2290     }
2291 }
2292 #[repr(C)]
2293 #[doc(hidden)]
2294 pub struct ISuspendingDeferral_abi(
2295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2302 );
2303 #[repr(transparent)]
2304 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2305 pub struct ISuspendingEventArgs(::windows::runtime::IInspectable);
2306 unsafe impl ::windows::runtime::Interface for ISuspendingEventArgs {
2307     type Vtable = ISuspendingEventArgs_abi;
2308     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2516982789, 11706, 19720, [176, 189, 43, 48, 161, 49, 198, 170]);
2309 }
2310 impl ISuspendingEventArgs {
SuspendingOperation(&self) -> ::windows::runtime::Result<SuspendingOperation>2311     pub fn SuspendingOperation(&self) -> ::windows::runtime::Result<SuspendingOperation> {
2312         let this = self;
2313         unsafe {
2314             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2315             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SuspendingOperation>(result__)
2316         }
2317     }
2318 }
2319 unsafe impl ::windows::runtime::RuntimeType for ISuspendingEventArgs {
2320     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{96061c05-2dba-4d08-b0bd-2b30a131c6aa}");
2321 }
2322 impl ::std::convert::From<ISuspendingEventArgs> for ::windows::runtime::IUnknown {
from(value: ISuspendingEventArgs) -> Self2323     fn from(value: ISuspendingEventArgs) -> Self {
2324         unsafe { ::std::mem::transmute(value) }
2325     }
2326 }
2327 impl ::std::convert::From<&ISuspendingEventArgs> for ::windows::runtime::IUnknown {
from(value: &ISuspendingEventArgs) -> Self2328     fn from(value: &ISuspendingEventArgs) -> Self {
2329         ::std::convert::From::from(::std::clone::Clone::clone(value))
2330     }
2331 }
2332 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2333     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2334         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2335     }
2336 }
2337 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2338     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2339         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2340     }
2341 }
2342 impl ::std::convert::From<ISuspendingEventArgs> for ::windows::runtime::IInspectable {
from(value: ISuspendingEventArgs) -> Self2343     fn from(value: ISuspendingEventArgs) -> Self {
2344         value.0
2345     }
2346 }
2347 impl ::std::convert::From<&ISuspendingEventArgs> for ::windows::runtime::IInspectable {
from(value: &ISuspendingEventArgs) -> Self2348     fn from(value: &ISuspendingEventArgs) -> Self {
2349         value.0.clone()
2350     }
2351 }
2352 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ISuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2353     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2354         ::windows::runtime::Param::Owned(self.0)
2355     }
2356 }
2357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ISuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2359         ::windows::runtime::Param::Borrowed(&self.0)
2360     }
2361 }
2362 #[repr(C)]
2363 #[doc(hidden)]
2364 pub struct ISuspendingEventArgs_abi(
2365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2372 );
2373 #[repr(transparent)]
2374 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2375 pub struct ISuspendingOperation(::windows::runtime::IInspectable);
2376 unsafe impl ::windows::runtime::Interface for ISuspendingOperation {
2377     type Vtable = ISuspendingOperation_abi;
2378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2644822593, 8417, 20123, [159, 101, 169, 244, 53, 52, 12, 58]);
2379 }
2380 impl ISuspendingOperation {
GetDeferral(&self) -> ::windows::runtime::Result<SuspendingDeferral>2381     pub fn GetDeferral(&self) -> ::windows::runtime::Result<SuspendingDeferral> {
2382         let this = self;
2383         unsafe {
2384             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2385             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SuspendingDeferral>(result__)
2386         }
2387     }
2388     #[cfg(feature = "Foundation")]
Deadline(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>2389     pub fn Deadline(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
2390         let this = self;
2391         unsafe {
2392             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
2393             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
2394         }
2395     }
2396 }
2397 unsafe impl ::windows::runtime::RuntimeType for ISuspendingOperation {
2398     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{9da4ca41-20e1-4e9b-9f65-a9f435340c3a}");
2399 }
2400 impl ::std::convert::From<ISuspendingOperation> for ::windows::runtime::IUnknown {
from(value: ISuspendingOperation) -> Self2401     fn from(value: ISuspendingOperation) -> Self {
2402         unsafe { ::std::mem::transmute(value) }
2403     }
2404 }
2405 impl ::std::convert::From<&ISuspendingOperation> for ::windows::runtime::IUnknown {
from(value: &ISuspendingOperation) -> Self2406     fn from(value: &ISuspendingOperation) -> Self {
2407         ::std::convert::From::from(::std::clone::Clone::clone(value))
2408     }
2409 }
2410 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ISuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2411     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2412         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2413     }
2414 }
2415 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ISuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2416     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2417         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2418     }
2419 }
2420 impl ::std::convert::From<ISuspendingOperation> for ::windows::runtime::IInspectable {
from(value: ISuspendingOperation) -> Self2421     fn from(value: ISuspendingOperation) -> Self {
2422         value.0
2423     }
2424 }
2425 impl ::std::convert::From<&ISuspendingOperation> for ::windows::runtime::IInspectable {
from(value: &ISuspendingOperation) -> Self2426     fn from(value: &ISuspendingOperation) -> Self {
2427         value.0.clone()
2428     }
2429 }
2430 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ISuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2431     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2432         ::windows::runtime::Param::Owned(self.0)
2433     }
2434 }
2435 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ISuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2436     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2437         ::windows::runtime::Param::Borrowed(&self.0)
2438     }
2439 }
2440 #[repr(C)]
2441 #[doc(hidden)]
2442 pub struct ISuspendingOperation_abi(
2443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2450     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
2451     #[cfg(not(feature = "Foundation"))] usize,
2452 );
2453 #[repr(transparent)]
2454 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2455 pub struct LeavingBackgroundEventArgs(::windows::runtime::IInspectable);
2456 impl LeavingBackgroundEventArgs {
2457     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral>2458     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::Foundation::Deferral> {
2459         let this = self;
2460         unsafe {
2461             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2462             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Deferral>(result__)
2463         }
2464     }
2465 }
2466 unsafe impl ::windows::runtime::RuntimeType for LeavingBackgroundEventArgs {
2467     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LeavingBackgroundEventArgs;{39c6ec9a-ae6e-46f9-a07a-cfc23f88733e})");
2468 }
2469 unsafe impl ::windows::runtime::Interface for LeavingBackgroundEventArgs {
2470     type Vtable = ILeavingBackgroundEventArgs_abi;
2471     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(969338010, 44654, 18169, [160, 122, 207, 194, 63, 136, 115, 62]);
2472 }
2473 impl ::windows::runtime::RuntimeName for LeavingBackgroundEventArgs {
2474     const NAME: &'static str = "Windows.ApplicationModel.LeavingBackgroundEventArgs";
2475 }
2476 impl ::std::convert::From<LeavingBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: LeavingBackgroundEventArgs) -> Self2477     fn from(value: LeavingBackgroundEventArgs) -> Self {
2478         unsafe { ::std::mem::transmute(value) }
2479     }
2480 }
2481 impl ::std::convert::From<&LeavingBackgroundEventArgs> for ::windows::runtime::IUnknown {
from(value: &LeavingBackgroundEventArgs) -> Self2482     fn from(value: &LeavingBackgroundEventArgs) -> Self {
2483         ::std::convert::From::from(::std::clone::Clone::clone(value))
2484     }
2485 }
2486 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2487     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2488         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2489     }
2490 }
2491 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2492     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2493         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2494     }
2495 }
2496 impl ::std::convert::From<LeavingBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: LeavingBackgroundEventArgs) -> Self2497     fn from(value: LeavingBackgroundEventArgs) -> Self {
2498         value.0
2499     }
2500 }
2501 impl ::std::convert::From<&LeavingBackgroundEventArgs> for ::windows::runtime::IInspectable {
from(value: &LeavingBackgroundEventArgs) -> Self2502     fn from(value: &LeavingBackgroundEventArgs) -> Self {
2503         value.0.clone()
2504     }
2505 }
2506 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2507     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2508         ::windows::runtime::Param::Owned(self.0)
2509     }
2510 }
2511 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2512     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2513         ::windows::runtime::Param::Borrowed(&self.0)
2514     }
2515 }
2516 impl ::std::convert::From<LeavingBackgroundEventArgs> for ILeavingBackgroundEventArgs {
from(value: LeavingBackgroundEventArgs) -> Self2517     fn from(value: LeavingBackgroundEventArgs) -> Self {
2518         unsafe { ::std::mem::transmute(value) }
2519     }
2520 }
2521 impl ::std::convert::From<&LeavingBackgroundEventArgs> for ILeavingBackgroundEventArgs {
from(value: &LeavingBackgroundEventArgs) -> Self2522     fn from(value: &LeavingBackgroundEventArgs) -> Self {
2523         ::std::convert::From::from(::std::clone::Clone::clone(value))
2524     }
2525 }
2526 impl<'a> ::windows::runtime::IntoParam<'a, ILeavingBackgroundEventArgs> for LeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ILeavingBackgroundEventArgs>2527     fn into_param(self) -> ::windows::runtime::Param<'a, ILeavingBackgroundEventArgs> {
2528         ::windows::runtime::Param::Owned(::std::convert::Into::<ILeavingBackgroundEventArgs>::into(self))
2529     }
2530 }
2531 impl<'a> ::windows::runtime::IntoParam<'a, ILeavingBackgroundEventArgs> for &LeavingBackgroundEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ILeavingBackgroundEventArgs>2532     fn into_param(self) -> ::windows::runtime::Param<'a, ILeavingBackgroundEventArgs> {
2533         ::windows::runtime::Param::Owned(::std::convert::Into::<ILeavingBackgroundEventArgs>::into(::std::clone::Clone::clone(self)))
2534     }
2535 }
2536 unsafe impl ::std::marker::Send for LeavingBackgroundEventArgs {}
2537 unsafe impl ::std::marker::Sync for LeavingBackgroundEventArgs {}
2538 #[repr(transparent)]
2539 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2540 pub struct LimitedAccessFeatureRequestResult(::windows::runtime::IInspectable);
2541 impl LimitedAccessFeatureRequestResult {
FeatureId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2542     pub fn FeatureId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2543         let this = self;
2544         unsafe {
2545             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2546             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2547         }
2548     }
Status(&self) -> ::windows::runtime::Result<LimitedAccessFeatureStatus>2549     pub fn Status(&self) -> ::windows::runtime::Result<LimitedAccessFeatureStatus> {
2550         let this = self;
2551         unsafe {
2552             let mut result__: LimitedAccessFeatureStatus = ::std::mem::zeroed();
2553             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<LimitedAccessFeatureStatus>(result__)
2554         }
2555     }
2556     #[cfg(feature = "Foundation")]
EstimatedRemovalDate(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::DateTime>>2557     pub fn EstimatedRemovalDate(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::DateTime>> {
2558         let this = self;
2559         unsafe {
2560             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2561             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::DateTime>>(result__)
2562         }
2563     }
2564 }
2565 unsafe impl ::windows::runtime::RuntimeType for LimitedAccessFeatureRequestResult {
2566     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.LimitedAccessFeatureRequestResult;{d45156a6-1e24-5ddd-abb4-6188aba4d5bf})");
2567 }
2568 unsafe impl ::windows::runtime::Interface for LimitedAccessFeatureRequestResult {
2569     type Vtable = ILimitedAccessFeatureRequestResult_abi;
2570     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3562100390, 7716, 24029, [171, 180, 97, 136, 171, 164, 213, 191]);
2571 }
2572 impl ::windows::runtime::RuntimeName for LimitedAccessFeatureRequestResult {
2573     const NAME: &'static str = "Windows.ApplicationModel.LimitedAccessFeatureRequestResult";
2574 }
2575 impl ::std::convert::From<LimitedAccessFeatureRequestResult> for ::windows::runtime::IUnknown {
from(value: LimitedAccessFeatureRequestResult) -> Self2576     fn from(value: LimitedAccessFeatureRequestResult) -> Self {
2577         unsafe { ::std::mem::transmute(value) }
2578     }
2579 }
2580 impl ::std::convert::From<&LimitedAccessFeatureRequestResult> for ::windows::runtime::IUnknown {
from(value: &LimitedAccessFeatureRequestResult) -> Self2581     fn from(value: &LimitedAccessFeatureRequestResult) -> Self {
2582         ::std::convert::From::from(::std::clone::Clone::clone(value))
2583     }
2584 }
2585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LimitedAccessFeatureRequestResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2588     }
2589 }
2590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LimitedAccessFeatureRequestResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2592         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2593     }
2594 }
2595 impl ::std::convert::From<LimitedAccessFeatureRequestResult> for ::windows::runtime::IInspectable {
from(value: LimitedAccessFeatureRequestResult) -> Self2596     fn from(value: LimitedAccessFeatureRequestResult) -> Self {
2597         value.0
2598     }
2599 }
2600 impl ::std::convert::From<&LimitedAccessFeatureRequestResult> for ::windows::runtime::IInspectable {
from(value: &LimitedAccessFeatureRequestResult) -> Self2601     fn from(value: &LimitedAccessFeatureRequestResult) -> Self {
2602         value.0.clone()
2603     }
2604 }
2605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LimitedAccessFeatureRequestResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2607         ::windows::runtime::Param::Owned(self.0)
2608     }
2609 }
2610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LimitedAccessFeatureRequestResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2612         ::windows::runtime::Param::Borrowed(&self.0)
2613     }
2614 }
2615 unsafe impl ::std::marker::Send for LimitedAccessFeatureRequestResult {}
2616 unsafe impl ::std::marker::Sync for LimitedAccessFeatureRequestResult {}
2617 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2618 #[repr(transparent)]
2619 pub struct LimitedAccessFeatureStatus(pub i32);
2620 impl LimitedAccessFeatureStatus {
2621     pub const Unavailable: LimitedAccessFeatureStatus = LimitedAccessFeatureStatus(0i32);
2622     pub const Available: LimitedAccessFeatureStatus = LimitedAccessFeatureStatus(1i32);
2623     pub const AvailableWithoutToken: LimitedAccessFeatureStatus = LimitedAccessFeatureStatus(2i32);
2624     pub const Unknown: LimitedAccessFeatureStatus = LimitedAccessFeatureStatus(3i32);
2625 }
2626 impl ::std::convert::From<i32> for LimitedAccessFeatureStatus {
from(value: i32) -> Self2627     fn from(value: i32) -> Self {
2628         Self(value)
2629     }
2630 }
2631 unsafe impl ::windows::runtime::Abi for LimitedAccessFeatureStatus {
2632     type Abi = Self;
2633     type DefaultType = Self;
2634 }
2635 unsafe impl ::windows::runtime::RuntimeType for LimitedAccessFeatureStatus {
2636     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.LimitedAccessFeatureStatus;i4)");
2637 }
2638 pub struct LimitedAccessFeatures {}
2639 impl LimitedAccessFeatures {
TryUnlockFeature<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(featureid: Param0, token: Param1, attestation: Param2) -> ::windows::runtime::Result<LimitedAccessFeatureRequestResult>2640     pub fn TryUnlockFeature<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(featureid: Param0, token: Param1, attestation: Param2) -> ::windows::runtime::Result<LimitedAccessFeatureRequestResult> {
2641         Self::ILimitedAccessFeaturesStatics(|this| unsafe {
2642             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), featureid.into_param().abi(), token.into_param().abi(), attestation.into_param().abi(), &mut result__).from_abi::<LimitedAccessFeatureRequestResult>(result__)
2644         })
2645     }
ILimitedAccessFeaturesStatics<R, F: FnOnce(&ILimitedAccessFeaturesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2646     pub fn ILimitedAccessFeaturesStatics<R, F: FnOnce(&ILimitedAccessFeaturesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2647         static mut SHARED: ::windows::runtime::FactoryCache<LimitedAccessFeatures, ILimitedAccessFeaturesStatics> = ::windows::runtime::FactoryCache::new();
2648         unsafe { SHARED.call(callback) }
2649     }
2650 }
2651 impl ::windows::runtime::RuntimeName for LimitedAccessFeatures {
2652     const NAME: &'static str = "Windows.ApplicationModel.LimitedAccessFeatures";
2653 }
2654 #[repr(transparent)]
2655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2656 pub struct Package(::windows::runtime::IInspectable);
2657 impl Package {
Id(&self) -> ::windows::runtime::Result<PackageId>2658     pub fn Id(&self) -> ::windows::runtime::Result<PackageId> {
2659         let this = self;
2660         unsafe {
2661             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2662             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageId>(result__)
2663         }
2664     }
2665     #[cfg(feature = "Storage")]
InstalledLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder>2666     pub fn InstalledLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder> {
2667         let this = self;
2668         unsafe {
2669             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2670             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::StorageFolder>(result__)
2671         }
2672     }
IsFramework(&self) -> ::windows::runtime::Result<bool>2673     pub fn IsFramework(&self) -> ::windows::runtime::Result<bool> {
2674         let this = self;
2675         unsafe {
2676             let mut result__: bool = ::std::mem::zeroed();
2677             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2678         }
2679     }
2680     #[cfg(feature = "Foundation_Collections")]
Dependencies(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Package>>2681     pub fn Dependencies(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Package>> {
2682         let this = self;
2683         unsafe {
2684             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2685             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<Package>>(result__)
2686         }
2687     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2688     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2689         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2690         unsafe {
2691             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2692             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2693         }
2694     }
PublisherDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2695     pub fn PublisherDisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2696         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2697         unsafe {
2698             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2699             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2700         }
2701     }
Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2702     pub fn Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2703         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2704         unsafe {
2705             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2706             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2707         }
2708     }
2709     #[cfg(feature = "Foundation")]
Logo(&self) -> ::windows::runtime::Result<super::Foundation::Uri>2710     pub fn Logo(&self) -> ::windows::runtime::Result<super::Foundation::Uri> {
2711         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2712         unsafe {
2713             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2714             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Uri>(result__)
2715         }
2716     }
IsResourcePackage(&self) -> ::windows::runtime::Result<bool>2717     pub fn IsResourcePackage(&self) -> ::windows::runtime::Result<bool> {
2718         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2719         unsafe {
2720             let mut result__: bool = ::std::mem::zeroed();
2721             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2722         }
2723     }
IsBundle(&self) -> ::windows::runtime::Result<bool>2724     pub fn IsBundle(&self) -> ::windows::runtime::Result<bool> {
2725         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2726         unsafe {
2727             let mut result__: bool = ::std::mem::zeroed();
2728             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2729         }
2730     }
IsDevelopmentMode(&self) -> ::windows::runtime::Result<bool>2731     pub fn IsDevelopmentMode(&self) -> ::windows::runtime::Result<bool> {
2732         let this = &::windows::runtime::Interface::cast::<IPackage2>(self)?;
2733         unsafe {
2734             let mut result__: bool = ::std::mem::zeroed();
2735             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2736         }
2737     }
Status(&self) -> ::windows::runtime::Result<PackageStatus>2738     pub fn Status(&self) -> ::windows::runtime::Result<PackageStatus> {
2739         let this = &::windows::runtime::Interface::cast::<IPackage3>(self)?;
2740         unsafe {
2741             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2742             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageStatus>(result__)
2743         }
2744     }
2745     #[cfg(feature = "Foundation")]
InstalledDate(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>2746     pub fn InstalledDate(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
2747         let this = &::windows::runtime::Interface::cast::<IPackage3>(self)?;
2748         unsafe {
2749             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
2750             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
2751         }
2752     }
2753     #[cfg(all(feature = "ApplicationModel_Core", feature = "Foundation", feature = "Foundation_Collections"))]
GetAppListEntriesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<Core::AppListEntry>>>2754     pub fn GetAppListEntriesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<Core::AppListEntry>>> {
2755         let this = &::windows::runtime::Interface::cast::<IPackage3>(self)?;
2756         unsafe {
2757             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2758             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<Core::AppListEntry>>>(result__)
2759         }
2760     }
2761     #[cfg(feature = "Foundation")]
InstallDate(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>2762     pub fn InstallDate(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
2763         let this = &::windows::runtime::Interface::cast::<IPackageWithMetadata>(self)?;
2764         unsafe {
2765             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
2766             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
2767         }
2768     }
GetThumbnailToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2769     pub fn GetThumbnailToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2770         let this = &::windows::runtime::Interface::cast::<IPackageWithMetadata>(self)?;
2771         unsafe {
2772             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2773             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2774         }
2775     }
2776     #[cfg(feature = "deprecated")]
Launch<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, parameters: Param0) -> ::windows::runtime::Result<()>2777     pub fn Launch<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, parameters: Param0) -> ::windows::runtime::Result<()> {
2778         let this = &::windows::runtime::Interface::cast::<IPackageWithMetadata>(self)?;
2779         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), parameters.into_param().abi()).ok() }
2780     }
Current() -> ::windows::runtime::Result<Package>2781     pub fn Current() -> ::windows::runtime::Result<Package> {
2782         Self::IPackageStatics(|this| unsafe {
2783             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2784             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
2785         })
2786     }
SignatureKind(&self) -> ::windows::runtime::Result<PackageSignatureKind>2787     pub fn SignatureKind(&self) -> ::windows::runtime::Result<PackageSignatureKind> {
2788         let this = &::windows::runtime::Interface::cast::<IPackage4>(self)?;
2789         unsafe {
2790             let mut result__: PackageSignatureKind = ::std::mem::zeroed();
2791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageSignatureKind>(result__)
2792         }
2793     }
IsOptional(&self) -> ::windows::runtime::Result<bool>2794     pub fn IsOptional(&self) -> ::windows::runtime::Result<bool> {
2795         let this = &::windows::runtime::Interface::cast::<IPackage4>(self)?;
2796         unsafe {
2797             let mut result__: bool = ::std::mem::zeroed();
2798             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2799         }
2800     }
2801     #[cfg(feature = "Foundation")]
VerifyContentIntegrityAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>2802     pub fn VerifyContentIntegrityAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
2803         let this = &::windows::runtime::Interface::cast::<IPackage4>(self)?;
2804         unsafe {
2805             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2806             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
2807         }
2808     }
2809     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetContentGroupsAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>>2810     pub fn GetContentGroupsAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>> {
2811         let this = &::windows::runtime::Interface::cast::<IPackage5>(self)?;
2812         unsafe {
2813             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2814             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>>(result__)
2815         }
2816     }
2817     #[cfg(feature = "Foundation")]
GetContentGroupAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageContentGroup>>2818     pub fn GetContentGroupAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageContentGroup>> {
2819         let this = &::windows::runtime::Interface::cast::<IPackage5>(self)?;
2820         unsafe {
2821             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2822             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<PackageContentGroup>>(result__)
2823         }
2824     }
2825     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
StageContentGroupsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, names: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>>2826     pub fn StageContentGroupsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, names: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>> {
2827         let this = &::windows::runtime::Interface::cast::<IPackage5>(self)?;
2828         unsafe {
2829             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2830             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), names.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>>(result__)
2831         }
2832     }
2833     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
StageContentGroupsWithPriorityAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, names: Param0, movetoheadofqueue: bool) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>>2834     pub fn StageContentGroupsWithPriorityAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, names: Param0, movetoheadofqueue: bool) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>> {
2835         let this = &::windows::runtime::Interface::cast::<IPackage5>(self)?;
2836         unsafe {
2837             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2838             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), names.into_param().abi(), movetoheadofqueue, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<PackageContentGroup>>>(result__)
2839         }
2840     }
2841     #[cfg(feature = "Foundation")]
SetInUseAsync(&self, inuse: bool) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>2842     pub fn SetInUseAsync(&self, inuse: bool) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
2843         let this = &::windows::runtime::Interface::cast::<IPackage5>(self)?;
2844         unsafe {
2845             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2846             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), inuse, &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
2847         }
2848     }
GetAppInstallerInfo(&self) -> ::windows::runtime::Result<AppInstallerInfo>2849     pub fn GetAppInstallerInfo(&self) -> ::windows::runtime::Result<AppInstallerInfo> {
2850         let this = &::windows::runtime::Interface::cast::<IPackage6>(self)?;
2851         unsafe {
2852             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2853             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallerInfo>(result__)
2854         }
2855     }
2856     #[cfg(feature = "Foundation")]
CheckUpdateAvailabilityAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageUpdateAvailabilityResult>>2857     pub fn CheckUpdateAvailabilityAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageUpdateAvailabilityResult>> {
2858         let this = &::windows::runtime::Interface::cast::<IPackage6>(self)?;
2859         unsafe {
2860             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2861             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<PackageUpdateAvailabilityResult>>(result__)
2862         }
2863     }
2864     #[cfg(feature = "Storage")]
MutableLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder>2865     pub fn MutableLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder> {
2866         let this = &::windows::runtime::Interface::cast::<IPackage7>(self)?;
2867         unsafe {
2868             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2869             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::StorageFolder>(result__)
2870         }
2871     }
2872     #[cfg(feature = "Storage")]
EffectiveLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder>2873     pub fn EffectiveLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder> {
2874         let this = &::windows::runtime::Interface::cast::<IPackage7>(self)?;
2875         unsafe {
2876             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2877             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::StorageFolder>(result__)
2878         }
2879     }
2880     #[cfg(feature = "Storage")]
EffectiveExternalLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder>2881     pub fn EffectiveExternalLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder> {
2882         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2883         unsafe {
2884             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2885             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::StorageFolder>(result__)
2886         }
2887     }
2888     #[cfg(feature = "Storage")]
MachineExternalLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder>2889     pub fn MachineExternalLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder> {
2890         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2891         unsafe {
2892             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2893             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::StorageFolder>(result__)
2894         }
2895     }
2896     #[cfg(feature = "Storage")]
UserExternalLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder>2897     pub fn UserExternalLocation(&self) -> ::windows::runtime::Result<super::Storage::StorageFolder> {
2898         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2899         unsafe {
2900             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2901             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::StorageFolder>(result__)
2902         }
2903     }
InstalledPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2904     pub fn InstalledPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2905         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2906         unsafe {
2907             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2908             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2909         }
2910     }
MutablePath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2911     pub fn MutablePath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2912         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2913         unsafe {
2914             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2915             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2916         }
2917     }
EffectivePath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2918     pub fn EffectivePath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2919         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2920         unsafe {
2921             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2922             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2923         }
2924     }
EffectiveExternalPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2925     pub fn EffectiveExternalPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2926         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2927         unsafe {
2928             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2929             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2930         }
2931     }
MachineExternalPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2932     pub fn MachineExternalPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2933         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2934         unsafe {
2935             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2936             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2937         }
2938     }
UserExternalPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2939     pub fn UserExternalPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2940         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2941         unsafe {
2942             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2943             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2944         }
2945     }
2946     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
GetLogoAsRandomAccessStreamReference<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<super::Storage::Streams::RandomAccessStreamReference>2947     pub fn GetLogoAsRandomAccessStreamReference<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<super::Storage::Streams::RandomAccessStreamReference> {
2948         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2949         unsafe {
2950             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2951             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), size.into_param().abi(), &mut result__).from_abi::<super::Storage::Streams::RandomAccessStreamReference>(result__)
2952         }
2953     }
2954     #[cfg(all(feature = "ApplicationModel_Core", feature = "Foundation_Collections"))]
GetAppListEntries(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Core::AppListEntry>>2955     pub fn GetAppListEntries(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Core::AppListEntry>> {
2956         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2957         unsafe {
2958             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2959             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<Core::AppListEntry>>(result__)
2960         }
2961     }
IsStub(&self) -> ::windows::runtime::Result<bool>2962     pub fn IsStub(&self) -> ::windows::runtime::Result<bool> {
2963         let this = &::windows::runtime::Interface::cast::<IPackage8>(self)?;
2964         unsafe {
2965             let mut result__: bool = ::std::mem::zeroed();
2966             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2967         }
2968     }
IPackageStatics<R, F: FnOnce(&IPackageStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2969     pub fn IPackageStatics<R, F: FnOnce(&IPackageStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2970         static mut SHARED: ::windows::runtime::FactoryCache<Package, IPackageStatics> = ::windows::runtime::FactoryCache::new();
2971         unsafe { SHARED.call(callback) }
2972     }
2973 }
2974 unsafe impl ::windows::runtime::RuntimeType for Package {
2975     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Package;{163c792f-bd75-413c-bf23-b1fe7b95d825})");
2976 }
2977 unsafe impl ::windows::runtime::Interface for Package {
2978     type Vtable = IPackage_abi;
2979     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(373061935, 48501, 16700, [191, 35, 177, 254, 123, 149, 216, 37]);
2980 }
2981 impl ::windows::runtime::RuntimeName for Package {
2982     const NAME: &'static str = "Windows.ApplicationModel.Package";
2983 }
2984 impl ::std::convert::From<Package> for ::windows::runtime::IUnknown {
from(value: Package) -> Self2985     fn from(value: Package) -> Self {
2986         unsafe { ::std::mem::transmute(value) }
2987     }
2988 }
2989 impl ::std::convert::From<&Package> for ::windows::runtime::IUnknown {
from(value: &Package) -> Self2990     fn from(value: &Package) -> Self {
2991         ::std::convert::From::from(::std::clone::Clone::clone(value))
2992     }
2993 }
2994 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for Package {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2995     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2996         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2997     }
2998 }
2999 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &Package {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3000     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3001         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3002     }
3003 }
3004 impl ::std::convert::From<Package> for ::windows::runtime::IInspectable {
from(value: Package) -> Self3005     fn from(value: Package) -> Self {
3006         value.0
3007     }
3008 }
3009 impl ::std::convert::From<&Package> for ::windows::runtime::IInspectable {
from(value: &Package) -> Self3010     fn from(value: &Package) -> Self {
3011         value.0.clone()
3012     }
3013 }
3014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for Package {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3016         ::windows::runtime::Param::Owned(self.0)
3017     }
3018 }
3019 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a Package {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3020     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3021         ::windows::runtime::Param::Borrowed(&self.0)
3022     }
3023 }
3024 unsafe impl ::std::marker::Send for Package {}
3025 unsafe impl ::std::marker::Sync for Package {}
3026 #[repr(transparent)]
3027 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3028 pub struct PackageCatalog(::windows::runtime::IInspectable);
3029 impl PackageCatalog {
3030     #[cfg(feature = "Foundation")]
PackageStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageStagingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3031     pub fn PackageStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageStagingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3032         let this = self;
3033         unsafe {
3034             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3035             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3036         }
3037     }
3038     #[cfg(feature = "Foundation")]
RemovePackageStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3039     pub fn RemovePackageStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3040         let this = self;
3041         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3042     }
3043     #[cfg(feature = "Foundation")]
PackageInstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageInstallingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3044     pub fn PackageInstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageInstallingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3045         let this = self;
3046         unsafe {
3047             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3048             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3049         }
3050     }
3051     #[cfg(feature = "Foundation")]
RemovePackageInstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3052     pub fn RemovePackageInstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3053         let this = self;
3054         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3055     }
3056     #[cfg(feature = "Foundation")]
PackageUpdating<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageUpdatingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3057     pub fn PackageUpdating<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageUpdatingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3058         let this = self;
3059         unsafe {
3060             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3061             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3062         }
3063     }
3064     #[cfg(feature = "Foundation")]
RemovePackageUpdating<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3065     pub fn RemovePackageUpdating<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3066         let this = self;
3067         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3068     }
3069     #[cfg(feature = "Foundation")]
PackageUninstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageUninstallingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3070     pub fn PackageUninstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageUninstallingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3071         let this = self;
3072         unsafe {
3073             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3074             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3075         }
3076     }
3077     #[cfg(feature = "Foundation")]
RemovePackageUninstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3078     pub fn RemovePackageUninstalling<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3079         let this = self;
3080         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3081     }
3082     #[cfg(feature = "Foundation")]
PackageStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageStatusChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3083     pub fn PackageStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageStatusChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3084         let this = self;
3085         unsafe {
3086             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3087             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3088         }
3089     }
3090     #[cfg(feature = "Foundation")]
RemovePackageStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3091     pub fn RemovePackageStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3092         let this = self;
3093         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3094     }
OpenForCurrentPackage() -> ::windows::runtime::Result<PackageCatalog>3095     pub fn OpenForCurrentPackage() -> ::windows::runtime::Result<PackageCatalog> {
3096         Self::IPackageCatalogStatics(|this| unsafe {
3097             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3098             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageCatalog>(result__)
3099         })
3100     }
OpenForCurrentUser() -> ::windows::runtime::Result<PackageCatalog>3101     pub fn OpenForCurrentUser() -> ::windows::runtime::Result<PackageCatalog> {
3102         Self::IPackageCatalogStatics(|this| unsafe {
3103             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3104             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageCatalog>(result__)
3105         })
3106     }
3107     #[cfg(feature = "Foundation")]
PackageContentGroupStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageContentGroupStagingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3108     pub fn PackageContentGroupStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<PackageCatalog, PackageContentGroupStagingEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3109         let this = &::windows::runtime::Interface::cast::<IPackageCatalog2>(self)?;
3110         unsafe {
3111             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3112             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3113         }
3114     }
3115     #[cfg(feature = "Foundation")]
RemovePackageContentGroupStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3116     pub fn RemovePackageContentGroupStaging<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3117         let this = &::windows::runtime::Interface::cast::<IPackageCatalog2>(self)?;
3118         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3119     }
3120     #[cfg(feature = "Foundation")]
AddOptionalPackageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, optionalpackagefamilyname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageCatalogAddOptionalPackageResult>>3121     pub fn AddOptionalPackageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, optionalpackagefamilyname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageCatalogAddOptionalPackageResult>> {
3122         let this = &::windows::runtime::Interface::cast::<IPackageCatalog2>(self)?;
3123         unsafe {
3124             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3125             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), optionalpackagefamilyname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<PackageCatalogAddOptionalPackageResult>>(result__)
3126         }
3127     }
3128     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RemoveOptionalPackagesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, optionalpackagefamilynames: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageCatalogRemoveOptionalPackagesResult>>3129     pub fn RemoveOptionalPackagesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(&self, optionalpackagefamilynames: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageCatalogRemoveOptionalPackagesResult>> {
3130         let this = &::windows::runtime::Interface::cast::<IPackageCatalog3>(self)?;
3131         unsafe {
3132             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3133             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), optionalpackagefamilynames.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<PackageCatalogRemoveOptionalPackagesResult>>(result__)
3134         }
3135     }
3136     #[cfg(feature = "Foundation")]
AddResourcePackageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, resourcepackagefamilyname: Param0, resourceid: Param1, options: AddResourcePackageOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperationWithProgress<PackageCatalogAddResourcePackageResult, PackageInstallProgress>>3137     pub fn AddResourcePackageAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, resourcepackagefamilyname: Param0, resourceid: Param1, options: AddResourcePackageOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperationWithProgress<PackageCatalogAddResourcePackageResult, PackageInstallProgress>> {
3138         let this = &::windows::runtime::Interface::cast::<IPackageCatalog4>(self)?;
3139         unsafe {
3140             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3141             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), resourcepackagefamilyname.into_param().abi(), resourceid.into_param().abi(), options, &mut result__).from_abi::<super::Foundation::IAsyncOperationWithProgress<PackageCatalogAddResourcePackageResult, PackageInstallProgress>>(result__)
3142         }
3143     }
3144     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RemoveResourcePackagesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<Package>>>(&self, resourcepackages: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageCatalogRemoveResourcePackagesResult>>3145     pub fn RemoveResourcePackagesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<Package>>>(&self, resourcepackages: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<PackageCatalogRemoveResourcePackagesResult>> {
3146         let this = &::windows::runtime::Interface::cast::<IPackageCatalog4>(self)?;
3147         unsafe {
3148             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3149             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), resourcepackages.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<PackageCatalogRemoveResourcePackagesResult>>(result__)
3150         }
3151     }
IPackageCatalogStatics<R, F: FnOnce(&IPackageCatalogStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3152     pub fn IPackageCatalogStatics<R, F: FnOnce(&IPackageCatalogStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3153         static mut SHARED: ::windows::runtime::FactoryCache<PackageCatalog, IPackageCatalogStatics> = ::windows::runtime::FactoryCache::new();
3154         unsafe { SHARED.call(callback) }
3155     }
3156 }
3157 unsafe impl ::windows::runtime::RuntimeType for PackageCatalog {
3158     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageCatalog;{230a3751-9de3-4445-be74-91fb325abefe})");
3159 }
3160 unsafe impl ::windows::runtime::Interface for PackageCatalog {
3161     type Vtable = IPackageCatalog_abi;
3162     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(587872081, 40419, 17477, [190, 116, 145, 251, 50, 90, 190, 254]);
3163 }
3164 impl ::windows::runtime::RuntimeName for PackageCatalog {
3165     const NAME: &'static str = "Windows.ApplicationModel.PackageCatalog";
3166 }
3167 impl ::std::convert::From<PackageCatalog> for ::windows::runtime::IUnknown {
from(value: PackageCatalog) -> Self3168     fn from(value: PackageCatalog) -> Self {
3169         unsafe { ::std::mem::transmute(value) }
3170     }
3171 }
3172 impl ::std::convert::From<&PackageCatalog> for ::windows::runtime::IUnknown {
from(value: &PackageCatalog) -> Self3173     fn from(value: &PackageCatalog) -> Self {
3174         ::std::convert::From::from(::std::clone::Clone::clone(value))
3175     }
3176 }
3177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageCatalog {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3178     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3179         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3180     }
3181 }
3182 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageCatalog {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3183     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3184         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3185     }
3186 }
3187 impl ::std::convert::From<PackageCatalog> for ::windows::runtime::IInspectable {
from(value: PackageCatalog) -> Self3188     fn from(value: PackageCatalog) -> Self {
3189         value.0
3190     }
3191 }
3192 impl ::std::convert::From<&PackageCatalog> for ::windows::runtime::IInspectable {
from(value: &PackageCatalog) -> Self3193     fn from(value: &PackageCatalog) -> Self {
3194         value.0.clone()
3195     }
3196 }
3197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageCatalog {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3199         ::windows::runtime::Param::Owned(self.0)
3200     }
3201 }
3202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageCatalog {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3204         ::windows::runtime::Param::Borrowed(&self.0)
3205     }
3206 }
3207 #[repr(transparent)]
3208 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3209 pub struct PackageCatalogAddOptionalPackageResult(::windows::runtime::IInspectable);
3210 impl PackageCatalogAddOptionalPackageResult {
Package(&self) -> ::windows::runtime::Result<Package>3211     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
3212         let this = self;
3213         unsafe {
3214             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3215             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
3216         }
3217     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>3218     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
3219         let this = self;
3220         unsafe {
3221             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
3222             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
3223         }
3224     }
3225 }
3226 unsafe impl ::windows::runtime::RuntimeType for PackageCatalogAddOptionalPackageResult {
3227     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageCatalogAddOptionalPackageResult;{3bf10cd4-b4df-47b3-a963-e2fa832f7dd3})");
3228 }
3229 unsafe impl ::windows::runtime::Interface for PackageCatalogAddOptionalPackageResult {
3230     type Vtable = IPackageCatalogAddOptionalPackageResult_abi;
3231     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1005653204, 46303, 18355, [169, 99, 226, 250, 131, 47, 125, 211]);
3232 }
3233 impl ::windows::runtime::RuntimeName for PackageCatalogAddOptionalPackageResult {
3234     const NAME: &'static str = "Windows.ApplicationModel.PackageCatalogAddOptionalPackageResult";
3235 }
3236 impl ::std::convert::From<PackageCatalogAddOptionalPackageResult> for ::windows::runtime::IUnknown {
from(value: PackageCatalogAddOptionalPackageResult) -> Self3237     fn from(value: PackageCatalogAddOptionalPackageResult) -> Self {
3238         unsafe { ::std::mem::transmute(value) }
3239     }
3240 }
3241 impl ::std::convert::From<&PackageCatalogAddOptionalPackageResult> for ::windows::runtime::IUnknown {
from(value: &PackageCatalogAddOptionalPackageResult) -> Self3242     fn from(value: &PackageCatalogAddOptionalPackageResult) -> Self {
3243         ::std::convert::From::from(::std::clone::Clone::clone(value))
3244     }
3245 }
3246 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageCatalogAddOptionalPackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3247     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3248         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3249     }
3250 }
3251 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageCatalogAddOptionalPackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3252     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3253         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3254     }
3255 }
3256 impl ::std::convert::From<PackageCatalogAddOptionalPackageResult> for ::windows::runtime::IInspectable {
from(value: PackageCatalogAddOptionalPackageResult) -> Self3257     fn from(value: PackageCatalogAddOptionalPackageResult) -> Self {
3258         value.0
3259     }
3260 }
3261 impl ::std::convert::From<&PackageCatalogAddOptionalPackageResult> for ::windows::runtime::IInspectable {
from(value: &PackageCatalogAddOptionalPackageResult) -> Self3262     fn from(value: &PackageCatalogAddOptionalPackageResult) -> Self {
3263         value.0.clone()
3264     }
3265 }
3266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageCatalogAddOptionalPackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3268         ::windows::runtime::Param::Owned(self.0)
3269     }
3270 }
3271 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageCatalogAddOptionalPackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3272     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3273         ::windows::runtime::Param::Borrowed(&self.0)
3274     }
3275 }
3276 #[repr(transparent)]
3277 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3278 pub struct PackageCatalogAddResourcePackageResult(::windows::runtime::IInspectable);
3279 impl PackageCatalogAddResourcePackageResult {
Package(&self) -> ::windows::runtime::Result<Package>3280     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
3281         let this = self;
3282         unsafe {
3283             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3284             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
3285         }
3286     }
IsComplete(&self) -> ::windows::runtime::Result<bool>3287     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
3288         let this = self;
3289         unsafe {
3290             let mut result__: bool = ::std::mem::zeroed();
3291             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3292         }
3293     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>3294     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
3295         let this = self;
3296         unsafe {
3297             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
3298             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
3299         }
3300     }
3301 }
3302 unsafe impl ::windows::runtime::RuntimeType for PackageCatalogAddResourcePackageResult {
3303     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageCatalogAddResourcePackageResult;{9636ce0d-3e17-493f-aa08-ccec6fdef699})");
3304 }
3305 unsafe impl ::windows::runtime::Interface for PackageCatalogAddResourcePackageResult {
3306     type Vtable = IPackageCatalogAddResourcePackageResult_abi;
3307     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2520174093, 15895, 18751, [170, 8, 204, 236, 111, 222, 246, 153]);
3308 }
3309 impl ::windows::runtime::RuntimeName for PackageCatalogAddResourcePackageResult {
3310     const NAME: &'static str = "Windows.ApplicationModel.PackageCatalogAddResourcePackageResult";
3311 }
3312 impl ::std::convert::From<PackageCatalogAddResourcePackageResult> for ::windows::runtime::IUnknown {
from(value: PackageCatalogAddResourcePackageResult) -> Self3313     fn from(value: PackageCatalogAddResourcePackageResult) -> Self {
3314         unsafe { ::std::mem::transmute(value) }
3315     }
3316 }
3317 impl ::std::convert::From<&PackageCatalogAddResourcePackageResult> for ::windows::runtime::IUnknown {
from(value: &PackageCatalogAddResourcePackageResult) -> Self3318     fn from(value: &PackageCatalogAddResourcePackageResult) -> Self {
3319         ::std::convert::From::from(::std::clone::Clone::clone(value))
3320     }
3321 }
3322 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageCatalogAddResourcePackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3323     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3324         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3325     }
3326 }
3327 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageCatalogAddResourcePackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3328     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3329         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3330     }
3331 }
3332 impl ::std::convert::From<PackageCatalogAddResourcePackageResult> for ::windows::runtime::IInspectable {
from(value: PackageCatalogAddResourcePackageResult) -> Self3333     fn from(value: PackageCatalogAddResourcePackageResult) -> Self {
3334         value.0
3335     }
3336 }
3337 impl ::std::convert::From<&PackageCatalogAddResourcePackageResult> for ::windows::runtime::IInspectable {
from(value: &PackageCatalogAddResourcePackageResult) -> Self3338     fn from(value: &PackageCatalogAddResourcePackageResult) -> Self {
3339         value.0.clone()
3340     }
3341 }
3342 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageCatalogAddResourcePackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3343     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3344         ::windows::runtime::Param::Owned(self.0)
3345     }
3346 }
3347 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageCatalogAddResourcePackageResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3348     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3349         ::windows::runtime::Param::Borrowed(&self.0)
3350     }
3351 }
3352 unsafe impl ::std::marker::Send for PackageCatalogAddResourcePackageResult {}
3353 unsafe impl ::std::marker::Sync for PackageCatalogAddResourcePackageResult {}
3354 #[repr(transparent)]
3355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3356 pub struct PackageCatalogRemoveOptionalPackagesResult(::windows::runtime::IInspectable);
3357 impl PackageCatalogRemoveOptionalPackagesResult {
3358     #[cfg(feature = "Foundation_Collections")]
PackagesRemoved(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Package>>3359     pub fn PackagesRemoved(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Package>> {
3360         let this = self;
3361         unsafe {
3362             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3363             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<Package>>(result__)
3364         }
3365     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>3366     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
3367         let this = self;
3368         unsafe {
3369             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
3370             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
3371         }
3372     }
3373 }
3374 unsafe impl ::windows::runtime::RuntimeType for PackageCatalogRemoveOptionalPackagesResult {
3375     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageCatalogRemoveOptionalPackagesResult;{29d2f97b-d974-4e64-9359-22cadfd79828})");
3376 }
3377 unsafe impl ::windows::runtime::Interface for PackageCatalogRemoveOptionalPackagesResult {
3378     type Vtable = IPackageCatalogRemoveOptionalPackagesResult_abi;
3379     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(701692283, 55668, 20068, [147, 89, 34, 202, 223, 215, 152, 40]);
3380 }
3381 impl ::windows::runtime::RuntimeName for PackageCatalogRemoveOptionalPackagesResult {
3382     const NAME: &'static str = "Windows.ApplicationModel.PackageCatalogRemoveOptionalPackagesResult";
3383 }
3384 impl ::std::convert::From<PackageCatalogRemoveOptionalPackagesResult> for ::windows::runtime::IUnknown {
from(value: PackageCatalogRemoveOptionalPackagesResult) -> Self3385     fn from(value: PackageCatalogRemoveOptionalPackagesResult) -> Self {
3386         unsafe { ::std::mem::transmute(value) }
3387     }
3388 }
3389 impl ::std::convert::From<&PackageCatalogRemoveOptionalPackagesResult> for ::windows::runtime::IUnknown {
from(value: &PackageCatalogRemoveOptionalPackagesResult) -> Self3390     fn from(value: &PackageCatalogRemoveOptionalPackagesResult) -> Self {
3391         ::std::convert::From::from(::std::clone::Clone::clone(value))
3392     }
3393 }
3394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageCatalogRemoveOptionalPackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3396         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3397     }
3398 }
3399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageCatalogRemoveOptionalPackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3401         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3402     }
3403 }
3404 impl ::std::convert::From<PackageCatalogRemoveOptionalPackagesResult> for ::windows::runtime::IInspectable {
from(value: PackageCatalogRemoveOptionalPackagesResult) -> Self3405     fn from(value: PackageCatalogRemoveOptionalPackagesResult) -> Self {
3406         value.0
3407     }
3408 }
3409 impl ::std::convert::From<&PackageCatalogRemoveOptionalPackagesResult> for ::windows::runtime::IInspectable {
from(value: &PackageCatalogRemoveOptionalPackagesResult) -> Self3410     fn from(value: &PackageCatalogRemoveOptionalPackagesResult) -> Self {
3411         value.0.clone()
3412     }
3413 }
3414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageCatalogRemoveOptionalPackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3416         ::windows::runtime::Param::Owned(self.0)
3417     }
3418 }
3419 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageCatalogRemoveOptionalPackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3420     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3421         ::windows::runtime::Param::Borrowed(&self.0)
3422     }
3423 }
3424 #[repr(transparent)]
3425 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3426 pub struct PackageCatalogRemoveResourcePackagesResult(::windows::runtime::IInspectable);
3427 impl PackageCatalogRemoveResourcePackagesResult {
3428     #[cfg(feature = "Foundation_Collections")]
PackagesRemoved(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Package>>3429     pub fn PackagesRemoved(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<Package>> {
3430         let this = self;
3431         unsafe {
3432             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3433             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<Package>>(result__)
3434         }
3435     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>3436     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
3437         let this = self;
3438         unsafe {
3439             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
3440             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
3441         }
3442     }
3443 }
3444 unsafe impl ::windows::runtime::RuntimeType for PackageCatalogRemoveResourcePackagesResult {
3445     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageCatalogRemoveResourcePackagesResult;{ae719709-1a52-4321-87b3-e5a1a17981a7})");
3446 }
3447 unsafe impl ::windows::runtime::Interface for PackageCatalogRemoveResourcePackagesResult {
3448     type Vtable = IPackageCatalogRemoveResourcePackagesResult_abi;
3449     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2926679817, 6738, 17185, [135, 179, 229, 161, 161, 121, 129, 167]);
3450 }
3451 impl ::windows::runtime::RuntimeName for PackageCatalogRemoveResourcePackagesResult {
3452     const NAME: &'static str = "Windows.ApplicationModel.PackageCatalogRemoveResourcePackagesResult";
3453 }
3454 impl ::std::convert::From<PackageCatalogRemoveResourcePackagesResult> for ::windows::runtime::IUnknown {
from(value: PackageCatalogRemoveResourcePackagesResult) -> Self3455     fn from(value: PackageCatalogRemoveResourcePackagesResult) -> Self {
3456         unsafe { ::std::mem::transmute(value) }
3457     }
3458 }
3459 impl ::std::convert::From<&PackageCatalogRemoveResourcePackagesResult> for ::windows::runtime::IUnknown {
from(value: &PackageCatalogRemoveResourcePackagesResult) -> Self3460     fn from(value: &PackageCatalogRemoveResourcePackagesResult) -> Self {
3461         ::std::convert::From::from(::std::clone::Clone::clone(value))
3462     }
3463 }
3464 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageCatalogRemoveResourcePackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3465     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3466         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3467     }
3468 }
3469 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageCatalogRemoveResourcePackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3470     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3471         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3472     }
3473 }
3474 impl ::std::convert::From<PackageCatalogRemoveResourcePackagesResult> for ::windows::runtime::IInspectable {
from(value: PackageCatalogRemoveResourcePackagesResult) -> Self3475     fn from(value: PackageCatalogRemoveResourcePackagesResult) -> Self {
3476         value.0
3477     }
3478 }
3479 impl ::std::convert::From<&PackageCatalogRemoveResourcePackagesResult> for ::windows::runtime::IInspectable {
from(value: &PackageCatalogRemoveResourcePackagesResult) -> Self3480     fn from(value: &PackageCatalogRemoveResourcePackagesResult) -> Self {
3481         value.0.clone()
3482     }
3483 }
3484 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageCatalogRemoveResourcePackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3485     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3486         ::windows::runtime::Param::Owned(self.0)
3487     }
3488 }
3489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageCatalogRemoveResourcePackagesResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3491         ::windows::runtime::Param::Borrowed(&self.0)
3492     }
3493 }
3494 unsafe impl ::std::marker::Send for PackageCatalogRemoveResourcePackagesResult {}
3495 unsafe impl ::std::marker::Sync for PackageCatalogRemoveResourcePackagesResult {}
3496 #[repr(transparent)]
3497 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3498 pub struct PackageContentGroup(::windows::runtime::IInspectable);
3499 impl PackageContentGroup {
Package(&self) -> ::windows::runtime::Result<Package>3500     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
3501         let this = self;
3502         unsafe {
3503             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3504             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
3505         }
3506     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3507     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3508         let this = self;
3509         unsafe {
3510             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3511             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3512         }
3513     }
State(&self) -> ::windows::runtime::Result<PackageContentGroupState>3514     pub fn State(&self) -> ::windows::runtime::Result<PackageContentGroupState> {
3515         let this = self;
3516         unsafe {
3517             let mut result__: PackageContentGroupState = ::std::mem::zeroed();
3518             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageContentGroupState>(result__)
3519         }
3520     }
IsRequired(&self) -> ::windows::runtime::Result<bool>3521     pub fn IsRequired(&self) -> ::windows::runtime::Result<bool> {
3522         let this = self;
3523         unsafe {
3524             let mut result__: bool = ::std::mem::zeroed();
3525             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3526         }
3527     }
RequiredGroupName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>3528     pub fn RequiredGroupName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3529         Self::IPackageContentGroupStatics(|this| unsafe {
3530             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3531             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3532         })
3533     }
IPackageContentGroupStatics<R, F: FnOnce(&IPackageContentGroupStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3534     pub fn IPackageContentGroupStatics<R, F: FnOnce(&IPackageContentGroupStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3535         static mut SHARED: ::windows::runtime::FactoryCache<PackageContentGroup, IPackageContentGroupStatics> = ::windows::runtime::FactoryCache::new();
3536         unsafe { SHARED.call(callback) }
3537     }
3538 }
3539 unsafe impl ::windows::runtime::RuntimeType for PackageContentGroup {
3540     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageContentGroup;{8f62695d-120a-4798-b5e1-5800dda8f2e1})");
3541 }
3542 unsafe impl ::windows::runtime::Interface for PackageContentGroup {
3543     type Vtable = IPackageContentGroup_abi;
3544     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2405591389, 4618, 18328, [181, 225, 88, 0, 221, 168, 242, 225]);
3545 }
3546 impl ::windows::runtime::RuntimeName for PackageContentGroup {
3547     const NAME: &'static str = "Windows.ApplicationModel.PackageContentGroup";
3548 }
3549 impl ::std::convert::From<PackageContentGroup> for ::windows::runtime::IUnknown {
from(value: PackageContentGroup) -> Self3550     fn from(value: PackageContentGroup) -> Self {
3551         unsafe { ::std::mem::transmute(value) }
3552     }
3553 }
3554 impl ::std::convert::From<&PackageContentGroup> for ::windows::runtime::IUnknown {
from(value: &PackageContentGroup) -> Self3555     fn from(value: &PackageContentGroup) -> Self {
3556         ::std::convert::From::from(::std::clone::Clone::clone(value))
3557     }
3558 }
3559 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageContentGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3560     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3561         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3562     }
3563 }
3564 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageContentGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3565     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3566         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3567     }
3568 }
3569 impl ::std::convert::From<PackageContentGroup> for ::windows::runtime::IInspectable {
from(value: PackageContentGroup) -> Self3570     fn from(value: PackageContentGroup) -> Self {
3571         value.0
3572     }
3573 }
3574 impl ::std::convert::From<&PackageContentGroup> for ::windows::runtime::IInspectable {
from(value: &PackageContentGroup) -> Self3575     fn from(value: &PackageContentGroup) -> Self {
3576         value.0.clone()
3577     }
3578 }
3579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageContentGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3581         ::windows::runtime::Param::Owned(self.0)
3582     }
3583 }
3584 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageContentGroup {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3585     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3586         ::windows::runtime::Param::Borrowed(&self.0)
3587     }
3588 }
3589 unsafe impl ::std::marker::Send for PackageContentGroup {}
3590 unsafe impl ::std::marker::Sync for PackageContentGroup {}
3591 #[repr(transparent)]
3592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3593 pub struct PackageContentGroupStagingEventArgs(::windows::runtime::IInspectable);
3594 impl PackageContentGroupStagingEventArgs {
ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3595     pub fn ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3596         let this = self;
3597         unsafe {
3598             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
3599             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3600         }
3601     }
Package(&self) -> ::windows::runtime::Result<Package>3602     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
3603         let this = self;
3604         unsafe {
3605             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3606             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
3607         }
3608     }
Progress(&self) -> ::windows::runtime::Result<f64>3609     pub fn Progress(&self) -> ::windows::runtime::Result<f64> {
3610         let this = self;
3611         unsafe {
3612             let mut result__: f64 = ::std::mem::zeroed();
3613             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
3614         }
3615     }
IsComplete(&self) -> ::windows::runtime::Result<bool>3616     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
3617         let this = self;
3618         unsafe {
3619             let mut result__: bool = ::std::mem::zeroed();
3620             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3621         }
3622     }
ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>3623     pub fn ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
3624         let this = self;
3625         unsafe {
3626             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
3627             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
3628         }
3629     }
ContentGroupName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3630     pub fn ContentGroupName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3631         let this = self;
3632         unsafe {
3633             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3634             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3635         }
3636     }
IsContentGroupRequired(&self) -> ::windows::runtime::Result<bool>3637     pub fn IsContentGroupRequired(&self) -> ::windows::runtime::Result<bool> {
3638         let this = self;
3639         unsafe {
3640             let mut result__: bool = ::std::mem::zeroed();
3641             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3642         }
3643     }
3644 }
3645 unsafe impl ::windows::runtime::RuntimeType for PackageContentGroupStagingEventArgs {
3646     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageContentGroupStagingEventArgs;{3d7bc27e-6f27-446c-986e-d4733d4d9113})");
3647 }
3648 unsafe impl ::windows::runtime::Interface for PackageContentGroupStagingEventArgs {
3649     type Vtable = IPackageContentGroupStagingEventArgs_abi;
3650     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1031520894, 28455, 17516, [152, 110, 212, 115, 61, 77, 145, 19]);
3651 }
3652 impl ::windows::runtime::RuntimeName for PackageContentGroupStagingEventArgs {
3653     const NAME: &'static str = "Windows.ApplicationModel.PackageContentGroupStagingEventArgs";
3654 }
3655 impl ::std::convert::From<PackageContentGroupStagingEventArgs> for ::windows::runtime::IUnknown {
from(value: PackageContentGroupStagingEventArgs) -> Self3656     fn from(value: PackageContentGroupStagingEventArgs) -> Self {
3657         unsafe { ::std::mem::transmute(value) }
3658     }
3659 }
3660 impl ::std::convert::From<&PackageContentGroupStagingEventArgs> for ::windows::runtime::IUnknown {
from(value: &PackageContentGroupStagingEventArgs) -> Self3661     fn from(value: &PackageContentGroupStagingEventArgs) -> Self {
3662         ::std::convert::From::from(::std::clone::Clone::clone(value))
3663     }
3664 }
3665 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageContentGroupStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3666     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3667         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3668     }
3669 }
3670 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageContentGroupStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3671     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3672         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3673     }
3674 }
3675 impl ::std::convert::From<PackageContentGroupStagingEventArgs> for ::windows::runtime::IInspectable {
from(value: PackageContentGroupStagingEventArgs) -> Self3676     fn from(value: PackageContentGroupStagingEventArgs) -> Self {
3677         value.0
3678     }
3679 }
3680 impl ::std::convert::From<&PackageContentGroupStagingEventArgs> for ::windows::runtime::IInspectable {
from(value: &PackageContentGroupStagingEventArgs) -> Self3681     fn from(value: &PackageContentGroupStagingEventArgs) -> Self {
3682         value.0.clone()
3683     }
3684 }
3685 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageContentGroupStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3686     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3687         ::windows::runtime::Param::Owned(self.0)
3688     }
3689 }
3690 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageContentGroupStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3691     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3692         ::windows::runtime::Param::Borrowed(&self.0)
3693     }
3694 }
3695 unsafe impl ::std::marker::Send for PackageContentGroupStagingEventArgs {}
3696 unsafe impl ::std::marker::Sync for PackageContentGroupStagingEventArgs {}
3697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3698 #[repr(transparent)]
3699 pub struct PackageContentGroupState(pub i32);
3700 impl PackageContentGroupState {
3701     pub const NotStaged: PackageContentGroupState = PackageContentGroupState(0i32);
3702     pub const Queued: PackageContentGroupState = PackageContentGroupState(1i32);
3703     pub const Staging: PackageContentGroupState = PackageContentGroupState(2i32);
3704     pub const Staged: PackageContentGroupState = PackageContentGroupState(3i32);
3705 }
3706 impl ::std::convert::From<i32> for PackageContentGroupState {
from(value: i32) -> Self3707     fn from(value: i32) -> Self {
3708         Self(value)
3709     }
3710 }
3711 unsafe impl ::windows::runtime::Abi for PackageContentGroupState {
3712     type Abi = Self;
3713     type DefaultType = Self;
3714 }
3715 unsafe impl ::windows::runtime::RuntimeType for PackageContentGroupState {
3716     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.PackageContentGroupState;i4)");
3717 }
3718 #[repr(transparent)]
3719 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3720 pub struct PackageId(::windows::runtime::IInspectable);
3721 impl PackageId {
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3722     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3723         let this = self;
3724         unsafe {
3725             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3726             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3727         }
3728     }
Version(&self) -> ::windows::runtime::Result<PackageVersion>3729     pub fn Version(&self) -> ::windows::runtime::Result<PackageVersion> {
3730         let this = self;
3731         unsafe {
3732             let mut result__: PackageVersion = ::std::mem::zeroed();
3733             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageVersion>(result__)
3734         }
3735     }
3736     #[cfg(feature = "System")]
Architecture(&self) -> ::windows::runtime::Result<super::System::ProcessorArchitecture>3737     pub fn Architecture(&self) -> ::windows::runtime::Result<super::System::ProcessorArchitecture> {
3738         let this = self;
3739         unsafe {
3740             let mut result__: super::System::ProcessorArchitecture = ::std::mem::zeroed();
3741             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::System::ProcessorArchitecture>(result__)
3742         }
3743     }
ResourceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3744     pub fn ResourceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3745         let this = self;
3746         unsafe {
3747             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3748             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3749         }
3750     }
Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3751     pub fn Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3752         let this = self;
3753         unsafe {
3754             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3755             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3756         }
3757     }
PublisherId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3758     pub fn PublisherId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3759         let this = self;
3760         unsafe {
3761             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3762             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3763         }
3764     }
FullName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3765     pub fn FullName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3766         let this = self;
3767         unsafe {
3768             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3769             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3770         }
3771     }
FamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3772     pub fn FamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3773         let this = self;
3774         unsafe {
3775             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3776             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3777         }
3778     }
ProductId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3779     pub fn ProductId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3780         let this = &::windows::runtime::Interface::cast::<IPackageIdWithMetadata>(self)?;
3781         unsafe {
3782             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3783             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3784         }
3785     }
Author(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3786     pub fn Author(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3787         let this = &::windows::runtime::Interface::cast::<IPackageIdWithMetadata>(self)?;
3788         unsafe {
3789             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3790             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3791         }
3792     }
3793 }
3794 unsafe impl ::windows::runtime::RuntimeType for PackageId {
3795     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageId;{1adb665e-37c7-4790-9980-dd7ae74e8bb2})");
3796 }
3797 unsafe impl ::windows::runtime::Interface for PackageId {
3798     type Vtable = IPackageId_abi;
3799     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(450586206, 14279, 18320, [153, 128, 221, 122, 231, 78, 139, 178]);
3800 }
3801 impl ::windows::runtime::RuntimeName for PackageId {
3802     const NAME: &'static str = "Windows.ApplicationModel.PackageId";
3803 }
3804 impl ::std::convert::From<PackageId> for ::windows::runtime::IUnknown {
from(value: PackageId) -> Self3805     fn from(value: PackageId) -> Self {
3806         unsafe { ::std::mem::transmute(value) }
3807     }
3808 }
3809 impl ::std::convert::From<&PackageId> for ::windows::runtime::IUnknown {
from(value: &PackageId) -> Self3810     fn from(value: &PackageId) -> Self {
3811         ::std::convert::From::from(::std::clone::Clone::clone(value))
3812     }
3813 }
3814 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3815     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3816         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3817     }
3818 }
3819 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3820     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3821         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3822     }
3823 }
3824 impl ::std::convert::From<PackageId> for ::windows::runtime::IInspectable {
from(value: PackageId) -> Self3825     fn from(value: PackageId) -> Self {
3826         value.0
3827     }
3828 }
3829 impl ::std::convert::From<&PackageId> for ::windows::runtime::IInspectable {
from(value: &PackageId) -> Self3830     fn from(value: &PackageId) -> Self {
3831         value.0.clone()
3832     }
3833 }
3834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3835     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3836         ::windows::runtime::Param::Owned(self.0)
3837     }
3838 }
3839 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3840     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3841         ::windows::runtime::Param::Borrowed(&self.0)
3842     }
3843 }
3844 unsafe impl ::std::marker::Send for PackageId {}
3845 unsafe impl ::std::marker::Sync for PackageId {}
3846 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
3847 #[repr(C)]
3848 pub struct PackageInstallProgress {
3849     pub PercentComplete: u32,
3850 }
3851 impl PackageInstallProgress {}
3852 impl ::std::default::Default for PackageInstallProgress {
default() -> Self3853     fn default() -> Self {
3854         unsafe { ::std::mem::zeroed() }
3855     }
3856 }
3857 impl ::std::fmt::Debug for PackageInstallProgress {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result3858     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3859         fmt.debug_struct("PackageInstallProgress").field("PercentComplete", &self.PercentComplete).finish()
3860     }
3861 }
3862 impl ::std::cmp::PartialEq for PackageInstallProgress {
eq(&self, other: &Self) -> bool3863     fn eq(&self, other: &Self) -> bool {
3864         self.PercentComplete == other.PercentComplete
3865     }
3866 }
3867 impl ::std::cmp::Eq for PackageInstallProgress {}
3868 unsafe impl ::windows::runtime::Abi for PackageInstallProgress {
3869     type Abi = Self;
3870     type DefaultType = Self;
3871 }
3872 unsafe impl ::windows::runtime::RuntimeType for PackageInstallProgress {
3873     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.ApplicationModel.PackageInstallProgress;u4)");
3874 }
3875 #[repr(transparent)]
3876 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3877 pub struct PackageInstallingEventArgs(::windows::runtime::IInspectable);
3878 impl PackageInstallingEventArgs {
ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3879     pub fn ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3880         let this = self;
3881         unsafe {
3882             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
3883             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3884         }
3885     }
Package(&self) -> ::windows::runtime::Result<Package>3886     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
3887         let this = self;
3888         unsafe {
3889             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3890             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
3891         }
3892     }
Progress(&self) -> ::windows::runtime::Result<f64>3893     pub fn Progress(&self) -> ::windows::runtime::Result<f64> {
3894         let this = self;
3895         unsafe {
3896             let mut result__: f64 = ::std::mem::zeroed();
3897             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
3898         }
3899     }
IsComplete(&self) -> ::windows::runtime::Result<bool>3900     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
3901         let this = self;
3902         unsafe {
3903             let mut result__: bool = ::std::mem::zeroed();
3904             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3905         }
3906     }
ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>3907     pub fn ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
3908         let this = self;
3909         unsafe {
3910             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
3911             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
3912         }
3913     }
3914 }
3915 unsafe impl ::windows::runtime::RuntimeType for PackageInstallingEventArgs {
3916     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageInstallingEventArgs;{97741eb7-ab7a-401a-8b61-eb0e7faff237})");
3917 }
3918 unsafe impl ::windows::runtime::Interface for PackageInstallingEventArgs {
3919     type Vtable = IPackageInstallingEventArgs_abi;
3920     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2540969655, 43898, 16410, [139, 97, 235, 14, 127, 175, 242, 55]);
3921 }
3922 impl ::windows::runtime::RuntimeName for PackageInstallingEventArgs {
3923     const NAME: &'static str = "Windows.ApplicationModel.PackageInstallingEventArgs";
3924 }
3925 impl ::std::convert::From<PackageInstallingEventArgs> for ::windows::runtime::IUnknown {
from(value: PackageInstallingEventArgs) -> Self3926     fn from(value: PackageInstallingEventArgs) -> Self {
3927         unsafe { ::std::mem::transmute(value) }
3928     }
3929 }
3930 impl ::std::convert::From<&PackageInstallingEventArgs> for ::windows::runtime::IUnknown {
from(value: &PackageInstallingEventArgs) -> Self3931     fn from(value: &PackageInstallingEventArgs) -> Self {
3932         ::std::convert::From::from(::std::clone::Clone::clone(value))
3933     }
3934 }
3935 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageInstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3936     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3937         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3938     }
3939 }
3940 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageInstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3941     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3942         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3943     }
3944 }
3945 impl ::std::convert::From<PackageInstallingEventArgs> for ::windows::runtime::IInspectable {
from(value: PackageInstallingEventArgs) -> Self3946     fn from(value: PackageInstallingEventArgs) -> Self {
3947         value.0
3948     }
3949 }
3950 impl ::std::convert::From<&PackageInstallingEventArgs> for ::windows::runtime::IInspectable {
from(value: &PackageInstallingEventArgs) -> Self3951     fn from(value: &PackageInstallingEventArgs) -> Self {
3952         value.0.clone()
3953     }
3954 }
3955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageInstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3957         ::windows::runtime::Param::Owned(self.0)
3958     }
3959 }
3960 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageInstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3961     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3962         ::windows::runtime::Param::Borrowed(&self.0)
3963     }
3964 }
3965 unsafe impl ::std::marker::Send for PackageInstallingEventArgs {}
3966 unsafe impl ::std::marker::Sync for PackageInstallingEventArgs {}
3967 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3968 #[repr(transparent)]
3969 pub struct PackageSignatureKind(pub i32);
3970 impl PackageSignatureKind {
3971     pub const None: PackageSignatureKind = PackageSignatureKind(0i32);
3972     pub const Developer: PackageSignatureKind = PackageSignatureKind(1i32);
3973     pub const Enterprise: PackageSignatureKind = PackageSignatureKind(2i32);
3974     pub const Store: PackageSignatureKind = PackageSignatureKind(3i32);
3975     pub const System: PackageSignatureKind = PackageSignatureKind(4i32);
3976 }
3977 impl ::std::convert::From<i32> for PackageSignatureKind {
from(value: i32) -> Self3978     fn from(value: i32) -> Self {
3979         Self(value)
3980     }
3981 }
3982 unsafe impl ::windows::runtime::Abi for PackageSignatureKind {
3983     type Abi = Self;
3984     type DefaultType = Self;
3985 }
3986 unsafe impl ::windows::runtime::RuntimeType for PackageSignatureKind {
3987     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.PackageSignatureKind;i4)");
3988 }
3989 #[repr(transparent)]
3990 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3991 pub struct PackageStagingEventArgs(::windows::runtime::IInspectable);
3992 impl PackageStagingEventArgs {
ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>3993     pub fn ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
3994         let this = self;
3995         unsafe {
3996             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
3997             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
3998         }
3999     }
Package(&self) -> ::windows::runtime::Result<Package>4000     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
4001         let this = self;
4002         unsafe {
4003             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4004             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
4005         }
4006     }
Progress(&self) -> ::windows::runtime::Result<f64>4007     pub fn Progress(&self) -> ::windows::runtime::Result<f64> {
4008         let this = self;
4009         unsafe {
4010             let mut result__: f64 = ::std::mem::zeroed();
4011             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
4012         }
4013     }
IsComplete(&self) -> ::windows::runtime::Result<bool>4014     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
4015         let this = self;
4016         unsafe {
4017             let mut result__: bool = ::std::mem::zeroed();
4018             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4019         }
4020     }
ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>4021     pub fn ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
4022         let this = self;
4023         unsafe {
4024             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
4025             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
4026         }
4027     }
4028 }
4029 unsafe impl ::windows::runtime::RuntimeType for PackageStagingEventArgs {
4030     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageStagingEventArgs;{1041682d-54e2-4f51-b828-9ef7046c210f})");
4031 }
4032 unsafe impl ::windows::runtime::Interface for PackageStagingEventArgs {
4033     type Vtable = IPackageStagingEventArgs_abi;
4034     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(272721965, 21730, 20305, [184, 40, 158, 247, 4, 108, 33, 15]);
4035 }
4036 impl ::windows::runtime::RuntimeName for PackageStagingEventArgs {
4037     const NAME: &'static str = "Windows.ApplicationModel.PackageStagingEventArgs";
4038 }
4039 impl ::std::convert::From<PackageStagingEventArgs> for ::windows::runtime::IUnknown {
from(value: PackageStagingEventArgs) -> Self4040     fn from(value: PackageStagingEventArgs) -> Self {
4041         unsafe { ::std::mem::transmute(value) }
4042     }
4043 }
4044 impl ::std::convert::From<&PackageStagingEventArgs> for ::windows::runtime::IUnknown {
from(value: &PackageStagingEventArgs) -> Self4045     fn from(value: &PackageStagingEventArgs) -> Self {
4046         ::std::convert::From::from(::std::clone::Clone::clone(value))
4047     }
4048 }
4049 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4050     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4051         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4052     }
4053 }
4054 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4055     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4056         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4057     }
4058 }
4059 impl ::std::convert::From<PackageStagingEventArgs> for ::windows::runtime::IInspectable {
from(value: PackageStagingEventArgs) -> Self4060     fn from(value: PackageStagingEventArgs) -> Self {
4061         value.0
4062     }
4063 }
4064 impl ::std::convert::From<&PackageStagingEventArgs> for ::windows::runtime::IInspectable {
from(value: &PackageStagingEventArgs) -> Self4065     fn from(value: &PackageStagingEventArgs) -> Self {
4066         value.0.clone()
4067     }
4068 }
4069 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4070     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4071         ::windows::runtime::Param::Owned(self.0)
4072     }
4073 }
4074 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageStagingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4075     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4076         ::windows::runtime::Param::Borrowed(&self.0)
4077     }
4078 }
4079 unsafe impl ::std::marker::Send for PackageStagingEventArgs {}
4080 unsafe impl ::std::marker::Sync for PackageStagingEventArgs {}
4081 #[repr(transparent)]
4082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4083 pub struct PackageStatus(::windows::runtime::IInspectable);
4084 impl PackageStatus {
VerifyIsOK(&self) -> ::windows::runtime::Result<bool>4085     pub fn VerifyIsOK(&self) -> ::windows::runtime::Result<bool> {
4086         let this = self;
4087         unsafe {
4088             let mut result__: bool = ::std::mem::zeroed();
4089             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4090         }
4091     }
NotAvailable(&self) -> ::windows::runtime::Result<bool>4092     pub fn NotAvailable(&self) -> ::windows::runtime::Result<bool> {
4093         let this = self;
4094         unsafe {
4095             let mut result__: bool = ::std::mem::zeroed();
4096             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4097         }
4098     }
PackageOffline(&self) -> ::windows::runtime::Result<bool>4099     pub fn PackageOffline(&self) -> ::windows::runtime::Result<bool> {
4100         let this = self;
4101         unsafe {
4102             let mut result__: bool = ::std::mem::zeroed();
4103             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4104         }
4105     }
DataOffline(&self) -> ::windows::runtime::Result<bool>4106     pub fn DataOffline(&self) -> ::windows::runtime::Result<bool> {
4107         let this = self;
4108         unsafe {
4109             let mut result__: bool = ::std::mem::zeroed();
4110             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4111         }
4112     }
Disabled(&self) -> ::windows::runtime::Result<bool>4113     pub fn Disabled(&self) -> ::windows::runtime::Result<bool> {
4114         let this = self;
4115         unsafe {
4116             let mut result__: bool = ::std::mem::zeroed();
4117             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4118         }
4119     }
NeedsRemediation(&self) -> ::windows::runtime::Result<bool>4120     pub fn NeedsRemediation(&self) -> ::windows::runtime::Result<bool> {
4121         let this = self;
4122         unsafe {
4123             let mut result__: bool = ::std::mem::zeroed();
4124             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4125         }
4126     }
LicenseIssue(&self) -> ::windows::runtime::Result<bool>4127     pub fn LicenseIssue(&self) -> ::windows::runtime::Result<bool> {
4128         let this = self;
4129         unsafe {
4130             let mut result__: bool = ::std::mem::zeroed();
4131             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4132         }
4133     }
Modified(&self) -> ::windows::runtime::Result<bool>4134     pub fn Modified(&self) -> ::windows::runtime::Result<bool> {
4135         let this = self;
4136         unsafe {
4137             let mut result__: bool = ::std::mem::zeroed();
4138             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4139         }
4140     }
Tampered(&self) -> ::windows::runtime::Result<bool>4141     pub fn Tampered(&self) -> ::windows::runtime::Result<bool> {
4142         let this = self;
4143         unsafe {
4144             let mut result__: bool = ::std::mem::zeroed();
4145             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4146         }
4147     }
DependencyIssue(&self) -> ::windows::runtime::Result<bool>4148     pub fn DependencyIssue(&self) -> ::windows::runtime::Result<bool> {
4149         let this = self;
4150         unsafe {
4151             let mut result__: bool = ::std::mem::zeroed();
4152             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4153         }
4154     }
Servicing(&self) -> ::windows::runtime::Result<bool>4155     pub fn Servicing(&self) -> ::windows::runtime::Result<bool> {
4156         let this = self;
4157         unsafe {
4158             let mut result__: bool = ::std::mem::zeroed();
4159             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4160         }
4161     }
DeploymentInProgress(&self) -> ::windows::runtime::Result<bool>4162     pub fn DeploymentInProgress(&self) -> ::windows::runtime::Result<bool> {
4163         let this = self;
4164         unsafe {
4165             let mut result__: bool = ::std::mem::zeroed();
4166             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4167         }
4168     }
IsPartiallyStaged(&self) -> ::windows::runtime::Result<bool>4169     pub fn IsPartiallyStaged(&self) -> ::windows::runtime::Result<bool> {
4170         let this = &::windows::runtime::Interface::cast::<IPackageStatus2>(self)?;
4171         unsafe {
4172             let mut result__: bool = ::std::mem::zeroed();
4173             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4174         }
4175     }
4176 }
4177 unsafe impl ::windows::runtime::RuntimeType for PackageStatus {
4178     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageStatus;{5fe74f71-a365-4c09-a02d-046d525ea1da})");
4179 }
4180 unsafe impl ::windows::runtime::Interface for PackageStatus {
4181     type Vtable = IPackageStatus_abi;
4182     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1608994673, 41829, 19465, [160, 45, 4, 109, 82, 94, 161, 218]);
4183 }
4184 impl ::windows::runtime::RuntimeName for PackageStatus {
4185     const NAME: &'static str = "Windows.ApplicationModel.PackageStatus";
4186 }
4187 impl ::std::convert::From<PackageStatus> for ::windows::runtime::IUnknown {
from(value: PackageStatus) -> Self4188     fn from(value: PackageStatus) -> Self {
4189         unsafe { ::std::mem::transmute(value) }
4190     }
4191 }
4192 impl ::std::convert::From<&PackageStatus> for ::windows::runtime::IUnknown {
from(value: &PackageStatus) -> Self4193     fn from(value: &PackageStatus) -> Self {
4194         ::std::convert::From::from(::std::clone::Clone::clone(value))
4195     }
4196 }
4197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4198     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4199         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4200     }
4201 }
4202 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4203     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4204         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4205     }
4206 }
4207 impl ::std::convert::From<PackageStatus> for ::windows::runtime::IInspectable {
from(value: PackageStatus) -> Self4208     fn from(value: PackageStatus) -> Self {
4209         value.0
4210     }
4211 }
4212 impl ::std::convert::From<&PackageStatus> for ::windows::runtime::IInspectable {
from(value: &PackageStatus) -> Self4213     fn from(value: &PackageStatus) -> Self {
4214         value.0.clone()
4215     }
4216 }
4217 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4218     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4219         ::windows::runtime::Param::Owned(self.0)
4220     }
4221 }
4222 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4223     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4224         ::windows::runtime::Param::Borrowed(&self.0)
4225     }
4226 }
4227 unsafe impl ::std::marker::Send for PackageStatus {}
4228 unsafe impl ::std::marker::Sync for PackageStatus {}
4229 #[repr(transparent)]
4230 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4231 pub struct PackageStatusChangedEventArgs(::windows::runtime::IInspectable);
4232 impl PackageStatusChangedEventArgs {
Package(&self) -> ::windows::runtime::Result<Package>4233     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
4234         let this = self;
4235         unsafe {
4236             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4237             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
4238         }
4239     }
4240 }
4241 unsafe impl ::windows::runtime::RuntimeType for PackageStatusChangedEventArgs {
4242     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageStatusChangedEventArgs;{437d714d-bd80-4a70-bc50-f6e796509575})");
4243 }
4244 unsafe impl ::windows::runtime::Interface for PackageStatusChangedEventArgs {
4245     type Vtable = IPackageStatusChangedEventArgs_abi;
4246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1132294477, 48512, 19056, [188, 80, 246, 231, 150, 80, 149, 117]);
4247 }
4248 impl ::windows::runtime::RuntimeName for PackageStatusChangedEventArgs {
4249     const NAME: &'static str = "Windows.ApplicationModel.PackageStatusChangedEventArgs";
4250 }
4251 impl ::std::convert::From<PackageStatusChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: PackageStatusChangedEventArgs) -> Self4252     fn from(value: PackageStatusChangedEventArgs) -> Self {
4253         unsafe { ::std::mem::transmute(value) }
4254     }
4255 }
4256 impl ::std::convert::From<&PackageStatusChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &PackageStatusChangedEventArgs) -> Self4257     fn from(value: &PackageStatusChangedEventArgs) -> Self {
4258         ::std::convert::From::from(::std::clone::Clone::clone(value))
4259     }
4260 }
4261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageStatusChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4263         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4264     }
4265 }
4266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageStatusChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4268         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4269     }
4270 }
4271 impl ::std::convert::From<PackageStatusChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: PackageStatusChangedEventArgs) -> Self4272     fn from(value: PackageStatusChangedEventArgs) -> Self {
4273         value.0
4274     }
4275 }
4276 impl ::std::convert::From<&PackageStatusChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &PackageStatusChangedEventArgs) -> Self4277     fn from(value: &PackageStatusChangedEventArgs) -> Self {
4278         value.0.clone()
4279     }
4280 }
4281 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageStatusChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4282     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4283         ::windows::runtime::Param::Owned(self.0)
4284     }
4285 }
4286 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageStatusChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4287     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4288         ::windows::runtime::Param::Borrowed(&self.0)
4289     }
4290 }
4291 unsafe impl ::std::marker::Send for PackageStatusChangedEventArgs {}
4292 unsafe impl ::std::marker::Sync for PackageStatusChangedEventArgs {}
4293 #[repr(transparent)]
4294 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4295 pub struct PackageUninstallingEventArgs(::windows::runtime::IInspectable);
4296 impl PackageUninstallingEventArgs {
ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4297     pub fn ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4298         let this = self;
4299         unsafe {
4300             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
4301             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4302         }
4303     }
Package(&self) -> ::windows::runtime::Result<Package>4304     pub fn Package(&self) -> ::windows::runtime::Result<Package> {
4305         let this = self;
4306         unsafe {
4307             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4308             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
4309         }
4310     }
Progress(&self) -> ::windows::runtime::Result<f64>4311     pub fn Progress(&self) -> ::windows::runtime::Result<f64> {
4312         let this = self;
4313         unsafe {
4314             let mut result__: f64 = ::std::mem::zeroed();
4315             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
4316         }
4317     }
IsComplete(&self) -> ::windows::runtime::Result<bool>4318     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
4319         let this = self;
4320         unsafe {
4321             let mut result__: bool = ::std::mem::zeroed();
4322             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4323         }
4324     }
ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>4325     pub fn ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
4326         let this = self;
4327         unsafe {
4328             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
4329             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
4330         }
4331     }
4332 }
4333 unsafe impl ::windows::runtime::RuntimeType for PackageUninstallingEventArgs {
4334     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageUninstallingEventArgs;{4443aa52-ab22-44cd-82bb-4ec9b827367a})");
4335 }
4336 unsafe impl ::windows::runtime::Interface for PackageUninstallingEventArgs {
4337     type Vtable = IPackageUninstallingEventArgs_abi;
4338     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1145285202, 43810, 17613, [130, 187, 78, 201, 184, 39, 54, 122]);
4339 }
4340 impl ::windows::runtime::RuntimeName for PackageUninstallingEventArgs {
4341     const NAME: &'static str = "Windows.ApplicationModel.PackageUninstallingEventArgs";
4342 }
4343 impl ::std::convert::From<PackageUninstallingEventArgs> for ::windows::runtime::IUnknown {
from(value: PackageUninstallingEventArgs) -> Self4344     fn from(value: PackageUninstallingEventArgs) -> Self {
4345         unsafe { ::std::mem::transmute(value) }
4346     }
4347 }
4348 impl ::std::convert::From<&PackageUninstallingEventArgs> for ::windows::runtime::IUnknown {
from(value: &PackageUninstallingEventArgs) -> Self4349     fn from(value: &PackageUninstallingEventArgs) -> Self {
4350         ::std::convert::From::from(::std::clone::Clone::clone(value))
4351     }
4352 }
4353 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageUninstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4354     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4355         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4356     }
4357 }
4358 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageUninstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4359     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4360         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4361     }
4362 }
4363 impl ::std::convert::From<PackageUninstallingEventArgs> for ::windows::runtime::IInspectable {
from(value: PackageUninstallingEventArgs) -> Self4364     fn from(value: PackageUninstallingEventArgs) -> Self {
4365         value.0
4366     }
4367 }
4368 impl ::std::convert::From<&PackageUninstallingEventArgs> for ::windows::runtime::IInspectable {
from(value: &PackageUninstallingEventArgs) -> Self4369     fn from(value: &PackageUninstallingEventArgs) -> Self {
4370         value.0.clone()
4371     }
4372 }
4373 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageUninstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4374     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4375         ::windows::runtime::Param::Owned(self.0)
4376     }
4377 }
4378 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageUninstallingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4379     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4380         ::windows::runtime::Param::Borrowed(&self.0)
4381     }
4382 }
4383 unsafe impl ::std::marker::Send for PackageUninstallingEventArgs {}
4384 unsafe impl ::std::marker::Sync for PackageUninstallingEventArgs {}
4385 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4386 #[repr(transparent)]
4387 pub struct PackageUpdateAvailability(pub i32);
4388 impl PackageUpdateAvailability {
4389     pub const Unknown: PackageUpdateAvailability = PackageUpdateAvailability(0i32);
4390     pub const NoUpdates: PackageUpdateAvailability = PackageUpdateAvailability(1i32);
4391     pub const Available: PackageUpdateAvailability = PackageUpdateAvailability(2i32);
4392     pub const Required: PackageUpdateAvailability = PackageUpdateAvailability(3i32);
4393     pub const Error: PackageUpdateAvailability = PackageUpdateAvailability(4i32);
4394 }
4395 impl ::std::convert::From<i32> for PackageUpdateAvailability {
from(value: i32) -> Self4396     fn from(value: i32) -> Self {
4397         Self(value)
4398     }
4399 }
4400 unsafe impl ::windows::runtime::Abi for PackageUpdateAvailability {
4401     type Abi = Self;
4402     type DefaultType = Self;
4403 }
4404 unsafe impl ::windows::runtime::RuntimeType for PackageUpdateAvailability {
4405     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.PackageUpdateAvailability;i4)");
4406 }
4407 #[repr(transparent)]
4408 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4409 pub struct PackageUpdateAvailabilityResult(::windows::runtime::IInspectable);
4410 impl PackageUpdateAvailabilityResult {
Availability(&self) -> ::windows::runtime::Result<PackageUpdateAvailability>4411     pub fn Availability(&self) -> ::windows::runtime::Result<PackageUpdateAvailability> {
4412         let this = self;
4413         unsafe {
4414             let mut result__: PackageUpdateAvailability = ::std::mem::zeroed();
4415             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PackageUpdateAvailability>(result__)
4416         }
4417     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>4418     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
4419         let this = self;
4420         unsafe {
4421             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
4422             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
4423         }
4424     }
4425 }
4426 unsafe impl ::windows::runtime::RuntimeType for PackageUpdateAvailabilityResult {
4427     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageUpdateAvailabilityResult;{114e5009-199a-48a1-a079-313c45634a71})");
4428 }
4429 unsafe impl ::windows::runtime::Interface for PackageUpdateAvailabilityResult {
4430     type Vtable = IPackageUpdateAvailabilityResult_abi;
4431     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(290344969, 6554, 18593, [160, 121, 49, 60, 69, 99, 74, 113]);
4432 }
4433 impl ::windows::runtime::RuntimeName for PackageUpdateAvailabilityResult {
4434     const NAME: &'static str = "Windows.ApplicationModel.PackageUpdateAvailabilityResult";
4435 }
4436 impl ::std::convert::From<PackageUpdateAvailabilityResult> for ::windows::runtime::IUnknown {
from(value: PackageUpdateAvailabilityResult) -> Self4437     fn from(value: PackageUpdateAvailabilityResult) -> Self {
4438         unsafe { ::std::mem::transmute(value) }
4439     }
4440 }
4441 impl ::std::convert::From<&PackageUpdateAvailabilityResult> for ::windows::runtime::IUnknown {
from(value: &PackageUpdateAvailabilityResult) -> Self4442     fn from(value: &PackageUpdateAvailabilityResult) -> Self {
4443         ::std::convert::From::from(::std::clone::Clone::clone(value))
4444     }
4445 }
4446 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageUpdateAvailabilityResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4447     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4448         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4449     }
4450 }
4451 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageUpdateAvailabilityResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4452     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4453         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4454     }
4455 }
4456 impl ::std::convert::From<PackageUpdateAvailabilityResult> for ::windows::runtime::IInspectable {
from(value: PackageUpdateAvailabilityResult) -> Self4457     fn from(value: PackageUpdateAvailabilityResult) -> Self {
4458         value.0
4459     }
4460 }
4461 impl ::std::convert::From<&PackageUpdateAvailabilityResult> for ::windows::runtime::IInspectable {
from(value: &PackageUpdateAvailabilityResult) -> Self4462     fn from(value: &PackageUpdateAvailabilityResult) -> Self {
4463         value.0.clone()
4464     }
4465 }
4466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageUpdateAvailabilityResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4468         ::windows::runtime::Param::Owned(self.0)
4469     }
4470 }
4471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageUpdateAvailabilityResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4473         ::windows::runtime::Param::Borrowed(&self.0)
4474     }
4475 }
4476 unsafe impl ::std::marker::Send for PackageUpdateAvailabilityResult {}
4477 unsafe impl ::std::marker::Sync for PackageUpdateAvailabilityResult {}
4478 #[repr(transparent)]
4479 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4480 pub struct PackageUpdatingEventArgs(::windows::runtime::IInspectable);
4481 impl PackageUpdatingEventArgs {
ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4482     pub fn ActivityId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4483         let this = self;
4484         unsafe {
4485             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
4486             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4487         }
4488     }
SourcePackage(&self) -> ::windows::runtime::Result<Package>4489     pub fn SourcePackage(&self) -> ::windows::runtime::Result<Package> {
4490         let this = self;
4491         unsafe {
4492             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4493             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
4494         }
4495     }
TargetPackage(&self) -> ::windows::runtime::Result<Package>4496     pub fn TargetPackage(&self) -> ::windows::runtime::Result<Package> {
4497         let this = self;
4498         unsafe {
4499             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4500             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Package>(result__)
4501         }
4502     }
Progress(&self) -> ::windows::runtime::Result<f64>4503     pub fn Progress(&self) -> ::windows::runtime::Result<f64> {
4504         let this = self;
4505         unsafe {
4506             let mut result__: f64 = ::std::mem::zeroed();
4507             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
4508         }
4509     }
IsComplete(&self) -> ::windows::runtime::Result<bool>4510     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
4511         let this = self;
4512         unsafe {
4513             let mut result__: bool = ::std::mem::zeroed();
4514             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4515         }
4516     }
ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>4517     pub fn ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
4518         let this = self;
4519         unsafe {
4520             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
4521             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
4522         }
4523     }
4524 }
4525 unsafe impl ::windows::runtime::RuntimeType for PackageUpdatingEventArgs {
4526     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.PackageUpdatingEventArgs;{cd7b4228-fd74-443e-b114-23e677b0e86f})");
4527 }
4528 unsafe impl ::windows::runtime::Interface for PackageUpdatingEventArgs {
4529     type Vtable = IPackageUpdatingEventArgs_abi;
4530     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3447407144, 64884, 17470, [177, 20, 35, 230, 119, 176, 232, 111]);
4531 }
4532 impl ::windows::runtime::RuntimeName for PackageUpdatingEventArgs {
4533     const NAME: &'static str = "Windows.ApplicationModel.PackageUpdatingEventArgs";
4534 }
4535 impl ::std::convert::From<PackageUpdatingEventArgs> for ::windows::runtime::IUnknown {
from(value: PackageUpdatingEventArgs) -> Self4536     fn from(value: PackageUpdatingEventArgs) -> Self {
4537         unsafe { ::std::mem::transmute(value) }
4538     }
4539 }
4540 impl ::std::convert::From<&PackageUpdatingEventArgs> for ::windows::runtime::IUnknown {
from(value: &PackageUpdatingEventArgs) -> Self4541     fn from(value: &PackageUpdatingEventArgs) -> Self {
4542         ::std::convert::From::from(::std::clone::Clone::clone(value))
4543     }
4544 }
4545 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PackageUpdatingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4546     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4547         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4548     }
4549 }
4550 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PackageUpdatingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4551     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4552         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4553     }
4554 }
4555 impl ::std::convert::From<PackageUpdatingEventArgs> for ::windows::runtime::IInspectable {
from(value: PackageUpdatingEventArgs) -> Self4556     fn from(value: PackageUpdatingEventArgs) -> Self {
4557         value.0
4558     }
4559 }
4560 impl ::std::convert::From<&PackageUpdatingEventArgs> for ::windows::runtime::IInspectable {
from(value: &PackageUpdatingEventArgs) -> Self4561     fn from(value: &PackageUpdatingEventArgs) -> Self {
4562         value.0.clone()
4563     }
4564 }
4565 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PackageUpdatingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4566     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4567         ::windows::runtime::Param::Owned(self.0)
4568     }
4569 }
4570 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PackageUpdatingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4571     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4572         ::windows::runtime::Param::Borrowed(&self.0)
4573     }
4574 }
4575 unsafe impl ::std::marker::Send for PackageUpdatingEventArgs {}
4576 unsafe impl ::std::marker::Sync for PackageUpdatingEventArgs {}
4577 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
4578 #[repr(C)]
4579 pub struct PackageVersion {
4580     pub Major: u16,
4581     pub Minor: u16,
4582     pub Build: u16,
4583     pub Revision: u16,
4584 }
4585 impl PackageVersion {}
4586 impl ::std::default::Default for PackageVersion {
default() -> Self4587     fn default() -> Self {
4588         unsafe { ::std::mem::zeroed() }
4589     }
4590 }
4591 impl ::std::fmt::Debug for PackageVersion {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result4592     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4593         fmt.debug_struct("PackageVersion").field("Major", &self.Major).field("Minor", &self.Minor).field("Build", &self.Build).field("Revision", &self.Revision).finish()
4594     }
4595 }
4596 impl ::std::cmp::PartialEq for PackageVersion {
eq(&self, other: &Self) -> bool4597     fn eq(&self, other: &Self) -> bool {
4598         self.Major == other.Major && self.Minor == other.Minor && self.Build == other.Build && self.Revision == other.Revision
4599     }
4600 }
4601 impl ::std::cmp::Eq for PackageVersion {}
4602 unsafe impl ::windows::runtime::Abi for PackageVersion {
4603     type Abi = Self;
4604     type DefaultType = Self;
4605 }
4606 unsafe impl ::windows::runtime::RuntimeType for PackageVersion {
4607     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.ApplicationModel.PackageVersion;u2;u2;u2;u2)");
4608 }
4609 #[repr(transparent)]
4610 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4611 pub struct StartupTask(::windows::runtime::IInspectable);
4612 impl StartupTask {
4613     #[cfg(feature = "Foundation")]
RequestEnableAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StartupTaskState>>4614     pub fn RequestEnableAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StartupTaskState>> {
4615         let this = self;
4616         unsafe {
4617             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4618             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StartupTaskState>>(result__)
4619         }
4620     }
Disable(&self) -> ::windows::runtime::Result<()>4621     pub fn Disable(&self) -> ::windows::runtime::Result<()> {
4622         let this = self;
4623         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
4624     }
State(&self) -> ::windows::runtime::Result<StartupTaskState>4625     pub fn State(&self) -> ::windows::runtime::Result<StartupTaskState> {
4626         let this = self;
4627         unsafe {
4628             let mut result__: StartupTaskState = ::std::mem::zeroed();
4629             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StartupTaskState>(result__)
4630         }
4631     }
TaskId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4632     pub fn TaskId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4633         let this = self;
4634         unsafe {
4635             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4636             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4637         }
4638     }
4639     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetForCurrentPackageAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StartupTask>>>4640     pub fn GetForCurrentPackageAsync() -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StartupTask>>> {
4641         Self::IStartupTaskStatics(|this| unsafe {
4642             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StartupTask>>>(result__)
4644         })
4645     }
4646     #[cfg(feature = "Foundation")]
GetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(taskid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StartupTask>>4647     pub fn GetAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(taskid: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StartupTask>> {
4648         Self::IStartupTaskStatics(|this| unsafe {
4649             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4650             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), taskid.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StartupTask>>(result__)
4651         })
4652     }
IStartupTaskStatics<R, F: FnOnce(&IStartupTaskStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4653     pub fn IStartupTaskStatics<R, F: FnOnce(&IStartupTaskStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4654         static mut SHARED: ::windows::runtime::FactoryCache<StartupTask, IStartupTaskStatics> = ::windows::runtime::FactoryCache::new();
4655         unsafe { SHARED.call(callback) }
4656     }
4657 }
4658 unsafe impl ::windows::runtime::RuntimeType for StartupTask {
4659     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.StartupTask;{f75c23c8-b5f2-4f6c-88dd-36cb1d599d17})");
4660 }
4661 unsafe impl ::windows::runtime::Interface for StartupTask {
4662     type Vtable = IStartupTask_abi;
4663     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4150010824, 46578, 20332, [136, 221, 54, 203, 29, 89, 157, 23]);
4664 }
4665 impl ::windows::runtime::RuntimeName for StartupTask {
4666     const NAME: &'static str = "Windows.ApplicationModel.StartupTask";
4667 }
4668 impl ::std::convert::From<StartupTask> for ::windows::runtime::IUnknown {
from(value: StartupTask) -> Self4669     fn from(value: StartupTask) -> Self {
4670         unsafe { ::std::mem::transmute(value) }
4671     }
4672 }
4673 impl ::std::convert::From<&StartupTask> for ::windows::runtime::IUnknown {
from(value: &StartupTask) -> Self4674     fn from(value: &StartupTask) -> Self {
4675         ::std::convert::From::from(::std::clone::Clone::clone(value))
4676     }
4677 }
4678 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StartupTask {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4679     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4680         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4681     }
4682 }
4683 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StartupTask {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4684     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4685         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4686     }
4687 }
4688 impl ::std::convert::From<StartupTask> for ::windows::runtime::IInspectable {
from(value: StartupTask) -> Self4689     fn from(value: StartupTask) -> Self {
4690         value.0
4691     }
4692 }
4693 impl ::std::convert::From<&StartupTask> for ::windows::runtime::IInspectable {
from(value: &StartupTask) -> Self4694     fn from(value: &StartupTask) -> Self {
4695         value.0.clone()
4696     }
4697 }
4698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StartupTask {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4699     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4700         ::windows::runtime::Param::Owned(self.0)
4701     }
4702 }
4703 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StartupTask {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4704     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4705         ::windows::runtime::Param::Borrowed(&self.0)
4706     }
4707 }
4708 unsafe impl ::std::marker::Send for StartupTask {}
4709 unsafe impl ::std::marker::Sync for StartupTask {}
4710 #[repr(C)]
4711 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
4712 pub struct StartupTaskContract(pub u8);
4713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4714 #[repr(transparent)]
4715 pub struct StartupTaskState(pub i32);
4716 impl StartupTaskState {
4717     pub const Disabled: StartupTaskState = StartupTaskState(0i32);
4718     pub const DisabledByUser: StartupTaskState = StartupTaskState(1i32);
4719     pub const Enabled: StartupTaskState = StartupTaskState(2i32);
4720     pub const DisabledByPolicy: StartupTaskState = StartupTaskState(3i32);
4721     pub const EnabledByPolicy: StartupTaskState = StartupTaskState(4i32);
4722 }
4723 impl ::std::convert::From<i32> for StartupTaskState {
from(value: i32) -> Self4724     fn from(value: i32) -> Self {
4725         Self(value)
4726     }
4727 }
4728 unsafe impl ::windows::runtime::Abi for StartupTaskState {
4729     type Abi = Self;
4730     type DefaultType = Self;
4731 }
4732 unsafe impl ::windows::runtime::RuntimeType for StartupTaskState {
4733     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.StartupTaskState;i4)");
4734 }
4735 #[repr(transparent)]
4736 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4737 pub struct SuspendingDeferral(::windows::runtime::IInspectable);
4738 impl SuspendingDeferral {
Complete(&self) -> ::windows::runtime::Result<()>4739     pub fn Complete(&self) -> ::windows::runtime::Result<()> {
4740         let this = self;
4741         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4742     }
4743 }
4744 unsafe impl ::windows::runtime::RuntimeType for SuspendingDeferral {
4745     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.SuspendingDeferral;{59140509-8bc9-4eb4-b636-dabdc4f46f66})");
4746 }
4747 unsafe impl ::windows::runtime::Interface for SuspendingDeferral {
4748     type Vtable = ISuspendingDeferral_abi;
4749     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1494484233, 35785, 20148, [182, 54, 218, 189, 196, 244, 111, 102]);
4750 }
4751 impl ::windows::runtime::RuntimeName for SuspendingDeferral {
4752     const NAME: &'static str = "Windows.ApplicationModel.SuspendingDeferral";
4753 }
4754 impl ::std::convert::From<SuspendingDeferral> for ::windows::runtime::IUnknown {
from(value: SuspendingDeferral) -> Self4755     fn from(value: SuspendingDeferral) -> Self {
4756         unsafe { ::std::mem::transmute(value) }
4757     }
4758 }
4759 impl ::std::convert::From<&SuspendingDeferral> for ::windows::runtime::IUnknown {
from(value: &SuspendingDeferral) -> Self4760     fn from(value: &SuspendingDeferral) -> Self {
4761         ::std::convert::From::from(::std::clone::Clone::clone(value))
4762     }
4763 }
4764 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4765     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4766         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4767     }
4768 }
4769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4770     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4771         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4772     }
4773 }
4774 impl ::std::convert::From<SuspendingDeferral> for ::windows::runtime::IInspectable {
from(value: SuspendingDeferral) -> Self4775     fn from(value: SuspendingDeferral) -> Self {
4776         value.0
4777     }
4778 }
4779 impl ::std::convert::From<&SuspendingDeferral> for ::windows::runtime::IInspectable {
from(value: &SuspendingDeferral) -> Self4780     fn from(value: &SuspendingDeferral) -> Self {
4781         value.0.clone()
4782     }
4783 }
4784 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4785     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4786         ::windows::runtime::Param::Owned(self.0)
4787     }
4788 }
4789 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4790     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4791         ::windows::runtime::Param::Borrowed(&self.0)
4792     }
4793 }
4794 impl ::std::convert::From<SuspendingDeferral> for ISuspendingDeferral {
from(value: SuspendingDeferral) -> Self4795     fn from(value: SuspendingDeferral) -> Self {
4796         unsafe { ::std::mem::transmute(value) }
4797     }
4798 }
4799 impl ::std::convert::From<&SuspendingDeferral> for ISuspendingDeferral {
from(value: &SuspendingDeferral) -> Self4800     fn from(value: &SuspendingDeferral) -> Self {
4801         ::std::convert::From::from(::std::clone::Clone::clone(value))
4802     }
4803 }
4804 impl<'a> ::windows::runtime::IntoParam<'a, ISuspendingDeferral> for SuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ISuspendingDeferral>4805     fn into_param(self) -> ::windows::runtime::Param<'a, ISuspendingDeferral> {
4806         ::windows::runtime::Param::Owned(::std::convert::Into::<ISuspendingDeferral>::into(self))
4807     }
4808 }
4809 impl<'a> ::windows::runtime::IntoParam<'a, ISuspendingDeferral> for &SuspendingDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ISuspendingDeferral>4810     fn into_param(self) -> ::windows::runtime::Param<'a, ISuspendingDeferral> {
4811         ::windows::runtime::Param::Owned(::std::convert::Into::<ISuspendingDeferral>::into(::std::clone::Clone::clone(self)))
4812     }
4813 }
4814 unsafe impl ::std::marker::Send for SuspendingDeferral {}
4815 unsafe impl ::std::marker::Sync for SuspendingDeferral {}
4816 #[repr(transparent)]
4817 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4818 pub struct SuspendingEventArgs(::windows::runtime::IInspectable);
4819 impl SuspendingEventArgs {
SuspendingOperation(&self) -> ::windows::runtime::Result<SuspendingOperation>4820     pub fn SuspendingOperation(&self) -> ::windows::runtime::Result<SuspendingOperation> {
4821         let this = self;
4822         unsafe {
4823             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4824             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SuspendingOperation>(result__)
4825         }
4826     }
4827 }
4828 unsafe impl ::windows::runtime::RuntimeType for SuspendingEventArgs {
4829     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.SuspendingEventArgs;{96061c05-2dba-4d08-b0bd-2b30a131c6aa})");
4830 }
4831 unsafe impl ::windows::runtime::Interface for SuspendingEventArgs {
4832     type Vtable = ISuspendingEventArgs_abi;
4833     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2516982789, 11706, 19720, [176, 189, 43, 48, 161, 49, 198, 170]);
4834 }
4835 impl ::windows::runtime::RuntimeName for SuspendingEventArgs {
4836     const NAME: &'static str = "Windows.ApplicationModel.SuspendingEventArgs";
4837 }
4838 impl ::std::convert::From<SuspendingEventArgs> for ::windows::runtime::IUnknown {
from(value: SuspendingEventArgs) -> Self4839     fn from(value: SuspendingEventArgs) -> Self {
4840         unsafe { ::std::mem::transmute(value) }
4841     }
4842 }
4843 impl ::std::convert::From<&SuspendingEventArgs> for ::windows::runtime::IUnknown {
from(value: &SuspendingEventArgs) -> Self4844     fn from(value: &SuspendingEventArgs) -> Self {
4845         ::std::convert::From::from(::std::clone::Clone::clone(value))
4846     }
4847 }
4848 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4849     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4850         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4851     }
4852 }
4853 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4854     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4855         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4856     }
4857 }
4858 impl ::std::convert::From<SuspendingEventArgs> for ::windows::runtime::IInspectable {
from(value: SuspendingEventArgs) -> Self4859     fn from(value: SuspendingEventArgs) -> Self {
4860         value.0
4861     }
4862 }
4863 impl ::std::convert::From<&SuspendingEventArgs> for ::windows::runtime::IInspectable {
from(value: &SuspendingEventArgs) -> Self4864     fn from(value: &SuspendingEventArgs) -> Self {
4865         value.0.clone()
4866     }
4867 }
4868 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4869     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4870         ::windows::runtime::Param::Owned(self.0)
4871     }
4872 }
4873 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4874     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4875         ::windows::runtime::Param::Borrowed(&self.0)
4876     }
4877 }
4878 impl ::std::convert::From<SuspendingEventArgs> for ISuspendingEventArgs {
from(value: SuspendingEventArgs) -> Self4879     fn from(value: SuspendingEventArgs) -> Self {
4880         unsafe { ::std::mem::transmute(value) }
4881     }
4882 }
4883 impl ::std::convert::From<&SuspendingEventArgs> for ISuspendingEventArgs {
from(value: &SuspendingEventArgs) -> Self4884     fn from(value: &SuspendingEventArgs) -> Self {
4885         ::std::convert::From::from(::std::clone::Clone::clone(value))
4886     }
4887 }
4888 impl<'a> ::windows::runtime::IntoParam<'a, ISuspendingEventArgs> for SuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ISuspendingEventArgs>4889     fn into_param(self) -> ::windows::runtime::Param<'a, ISuspendingEventArgs> {
4890         ::windows::runtime::Param::Owned(::std::convert::Into::<ISuspendingEventArgs>::into(self))
4891     }
4892 }
4893 impl<'a> ::windows::runtime::IntoParam<'a, ISuspendingEventArgs> for &SuspendingEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ISuspendingEventArgs>4894     fn into_param(self) -> ::windows::runtime::Param<'a, ISuspendingEventArgs> {
4895         ::windows::runtime::Param::Owned(::std::convert::Into::<ISuspendingEventArgs>::into(::std::clone::Clone::clone(self)))
4896     }
4897 }
4898 unsafe impl ::std::marker::Send for SuspendingEventArgs {}
4899 unsafe impl ::std::marker::Sync for SuspendingEventArgs {}
4900 #[repr(transparent)]
4901 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4902 pub struct SuspendingOperation(::windows::runtime::IInspectable);
4903 impl SuspendingOperation {
GetDeferral(&self) -> ::windows::runtime::Result<SuspendingDeferral>4904     pub fn GetDeferral(&self) -> ::windows::runtime::Result<SuspendingDeferral> {
4905         let this = self;
4906         unsafe {
4907             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4908             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SuspendingDeferral>(result__)
4909         }
4910     }
4911     #[cfg(feature = "Foundation")]
Deadline(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>4912     pub fn Deadline(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
4913         let this = self;
4914         unsafe {
4915             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
4916             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
4917         }
4918     }
4919 }
4920 unsafe impl ::windows::runtime::RuntimeType for SuspendingOperation {
4921     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.SuspendingOperation;{9da4ca41-20e1-4e9b-9f65-a9f435340c3a})");
4922 }
4923 unsafe impl ::windows::runtime::Interface for SuspendingOperation {
4924     type Vtable = ISuspendingOperation_abi;
4925     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2644822593, 8417, 20123, [159, 101, 169, 244, 53, 52, 12, 58]);
4926 }
4927 impl ::windows::runtime::RuntimeName for SuspendingOperation {
4928     const NAME: &'static str = "Windows.ApplicationModel.SuspendingOperation";
4929 }
4930 impl ::std::convert::From<SuspendingOperation> for ::windows::runtime::IUnknown {
from(value: SuspendingOperation) -> Self4931     fn from(value: SuspendingOperation) -> Self {
4932         unsafe { ::std::mem::transmute(value) }
4933     }
4934 }
4935 impl ::std::convert::From<&SuspendingOperation> for ::windows::runtime::IUnknown {
from(value: &SuspendingOperation) -> Self4936     fn from(value: &SuspendingOperation) -> Self {
4937         ::std::convert::From::from(::std::clone::Clone::clone(value))
4938     }
4939 }
4940 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4941     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4942         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4943     }
4944 }
4945 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4946     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4947         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4948     }
4949 }
4950 impl ::std::convert::From<SuspendingOperation> for ::windows::runtime::IInspectable {
from(value: SuspendingOperation) -> Self4951     fn from(value: SuspendingOperation) -> Self {
4952         value.0
4953     }
4954 }
4955 impl ::std::convert::From<&SuspendingOperation> for ::windows::runtime::IInspectable {
from(value: &SuspendingOperation) -> Self4956     fn from(value: &SuspendingOperation) -> Self {
4957         value.0.clone()
4958     }
4959 }
4960 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4961     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4962         ::windows::runtime::Param::Owned(self.0)
4963     }
4964 }
4965 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4966     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4967         ::windows::runtime::Param::Borrowed(&self.0)
4968     }
4969 }
4970 impl ::std::convert::From<SuspendingOperation> for ISuspendingOperation {
from(value: SuspendingOperation) -> Self4971     fn from(value: SuspendingOperation) -> Self {
4972         unsafe { ::std::mem::transmute(value) }
4973     }
4974 }
4975 impl ::std::convert::From<&SuspendingOperation> for ISuspendingOperation {
from(value: &SuspendingOperation) -> Self4976     fn from(value: &SuspendingOperation) -> Self {
4977         ::std::convert::From::from(::std::clone::Clone::clone(value))
4978     }
4979 }
4980 impl<'a> ::windows::runtime::IntoParam<'a, ISuspendingOperation> for SuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ISuspendingOperation>4981     fn into_param(self) -> ::windows::runtime::Param<'a, ISuspendingOperation> {
4982         ::windows::runtime::Param::Owned(::std::convert::Into::<ISuspendingOperation>::into(self))
4983     }
4984 }
4985 impl<'a> ::windows::runtime::IntoParam<'a, ISuspendingOperation> for &SuspendingOperation {
into_param(self) -> ::windows::runtime::Param<'a, ISuspendingOperation>4986     fn into_param(self) -> ::windows::runtime::Param<'a, ISuspendingOperation> {
4987         ::windows::runtime::Param::Owned(::std::convert::Into::<ISuspendingOperation>::into(::std::clone::Clone::clone(self)))
4988     }
4989 }
4990 unsafe impl ::std::marker::Send for SuspendingOperation {}
4991 unsafe impl ::std::marker::Sync for SuspendingOperation {}
4992