1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 pub struct AppInstallItem(::windows::runtime::IInspectable);
5 impl AppInstallItem {
ProductId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6     pub fn ProductId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7         let this = self;
8         unsafe {
9             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
11         }
12     }
PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>13     pub fn PackageFamilyName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
14         let this = self;
15         unsafe {
16             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
17             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
18         }
19     }
InstallType(&self) -> ::windows::runtime::Result<AppInstallType>20     pub fn InstallType(&self) -> ::windows::runtime::Result<AppInstallType> {
21         let this = self;
22         unsafe {
23             let mut result__: AppInstallType = ::std::mem::zeroed();
24             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallType>(result__)
25         }
26     }
IsUserInitiated(&self) -> ::windows::runtime::Result<bool>27     pub fn IsUserInitiated(&self) -> ::windows::runtime::Result<bool> {
28         let this = self;
29         unsafe {
30             let mut result__: bool = ::std::mem::zeroed();
31             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
32         }
33     }
GetCurrentStatus(&self) -> ::windows::runtime::Result<AppInstallStatus>34     pub fn GetCurrentStatus(&self) -> ::windows::runtime::Result<AppInstallStatus> {
35         let this = self;
36         unsafe {
37             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
38             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallStatus>(result__)
39         }
40     }
Cancel(&self) -> ::windows::runtime::Result<()>41     pub fn Cancel(&self) -> ::windows::runtime::Result<()> {
42         let this = self;
43         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() }
44     }
Pause(&self) -> ::windows::runtime::Result<()>45     pub fn Pause(&self) -> ::windows::runtime::Result<()> {
46         let this = self;
47         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
48     }
Restart(&self) -> ::windows::runtime::Result<()>49     pub fn Restart(&self) -> ::windows::runtime::Result<()> {
50         let this = self;
51         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this)).ok() }
52     }
53     #[cfg(feature = "Foundation")]
Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallItem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken>54     pub fn Completed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallItem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken> {
55         let this = self;
56         unsafe {
57             let mut result__: super::super::super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
58             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::EventRegistrationToken>(result__)
59         }
60     }
61     #[cfg(feature = "Foundation")]
RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>62     pub fn RemoveCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
63         let this = self;
64         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
65     }
66     #[cfg(feature = "Foundation")]
StatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallItem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken>67     pub fn StatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallItem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken> {
68         let this = self;
69         unsafe {
70             let mut result__: super::super::super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
71             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::EventRegistrationToken>(result__)
72         }
73     }
74     #[cfg(feature = "Foundation")]
RemoveStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>75     pub fn RemoveStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
76         let this = self;
77         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
78     }
CancelWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<()>79     pub fn CancelWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<()> {
80         let this = &::windows::runtime::Interface::cast::<IAppInstallItem2>(self)?;
81         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), correlationvector.into_param().abi()).ok() }
82     }
PauseWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<()>83     pub fn PauseWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<()> {
84         let this = &::windows::runtime::Interface::cast::<IAppInstallItem2>(self)?;
85         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), correlationvector.into_param().abi()).ok() }
86     }
RestartWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<()>87     pub fn RestartWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<()> {
88         let this = &::windows::runtime::Interface::cast::<IAppInstallItem2>(self)?;
89         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), correlationvector.into_param().abi()).ok() }
90     }
91     #[cfg(feature = "Foundation_Collections")]
Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>92     pub fn Children(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>> {
93         let this = &::windows::runtime::Interface::cast::<IAppInstallItem3>(self)?;
94         unsafe {
95             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
96             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>(result__)
97         }
98     }
ItemOperationsMightAffectOtherItems(&self) -> ::windows::runtime::Result<bool>99     pub fn ItemOperationsMightAffectOtherItems(&self) -> ::windows::runtime::Result<bool> {
100         let this = &::windows::runtime::Interface::cast::<IAppInstallItem3>(self)?;
101         unsafe {
102             let mut result__: bool = ::std::mem::zeroed();
103             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
104         }
105     }
LaunchAfterInstall(&self) -> ::windows::runtime::Result<bool>106     pub fn LaunchAfterInstall(&self) -> ::windows::runtime::Result<bool> {
107         let this = &::windows::runtime::Interface::cast::<IAppInstallItem4>(self)?;
108         unsafe {
109             let mut result__: bool = ::std::mem::zeroed();
110             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
111         }
112     }
SetLaunchAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>113     pub fn SetLaunchAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
114         let this = &::windows::runtime::Interface::cast::<IAppInstallItem4>(self)?;
115         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
116     }
PinToDesktopAfterInstall(&self) -> ::windows::runtime::Result<bool>117     pub fn PinToDesktopAfterInstall(&self) -> ::windows::runtime::Result<bool> {
118         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
119         unsafe {
120             let mut result__: bool = ::std::mem::zeroed();
121             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
122         }
123     }
SetPinToDesktopAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>124     pub fn SetPinToDesktopAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
125         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
126         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
127     }
PinToStartAfterInstall(&self) -> ::windows::runtime::Result<bool>128     pub fn PinToStartAfterInstall(&self) -> ::windows::runtime::Result<bool> {
129         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
130         unsafe {
131             let mut result__: bool = ::std::mem::zeroed();
132             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
133         }
134     }
SetPinToStartAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>135     pub fn SetPinToStartAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
136         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
137         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
138     }
PinToTaskbarAfterInstall(&self) -> ::windows::runtime::Result<bool>139     pub fn PinToTaskbarAfterInstall(&self) -> ::windows::runtime::Result<bool> {
140         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
141         unsafe {
142             let mut result__: bool = ::std::mem::zeroed();
143             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
144         }
145     }
SetPinToTaskbarAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>146     pub fn SetPinToTaskbarAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
147         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
148         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
149     }
CompletedInstallToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode>150     pub fn CompletedInstallToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode> {
151         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
152         unsafe {
153             let mut result__: AppInstallationToastNotificationMode = ::std::mem::zeroed();
154             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallationToastNotificationMode>(result__)
155         }
156     }
SetCompletedInstallToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()>157     pub fn SetCompletedInstallToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()> {
158         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
159         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
160     }
InstallInProgressToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode>161     pub fn InstallInProgressToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode> {
162         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
163         unsafe {
164             let mut result__: AppInstallationToastNotificationMode = ::std::mem::zeroed();
165             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallationToastNotificationMode>(result__)
166         }
167     }
SetInstallInProgressToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()>168     pub fn SetInstallInProgressToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()> {
169         let this = &::windows::runtime::Interface::cast::<IAppInstallItem5>(self)?;
170         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
171     }
172 }
173 unsafe impl ::windows::runtime::RuntimeType for AppInstallItem {
174     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallItem;{49d3dfab-168a-4cbf-a93a-9e448c82737d})");
175 }
176 unsafe impl ::windows::runtime::Interface for AppInstallItem {
177     type Vtable = IAppInstallItem_abi;
178     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1238622123, 5770, 19647, [169, 58, 158, 68, 140, 130, 115, 125]);
179 }
180 impl ::windows::runtime::RuntimeName for AppInstallItem {
181     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallItem";
182 }
183 impl ::std::convert::From<AppInstallItem> for ::windows::runtime::IUnknown {
from(value: AppInstallItem) -> Self184     fn from(value: AppInstallItem) -> Self {
185         unsafe { ::std::mem::transmute(value) }
186     }
187 }
188 impl ::std::convert::From<&AppInstallItem> for ::windows::runtime::IUnknown {
from(value: &AppInstallItem) -> Self189     fn from(value: &AppInstallItem) -> Self {
190         ::std::convert::From::from(::std::clone::Clone::clone(value))
191     }
192 }
193 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstallItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>194     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
195         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
196     }
197 }
198 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstallItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>199     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
200         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
201     }
202 }
203 impl ::std::convert::From<AppInstallItem> for ::windows::runtime::IInspectable {
from(value: AppInstallItem) -> Self204     fn from(value: AppInstallItem) -> Self {
205         value.0
206     }
207 }
208 impl ::std::convert::From<&AppInstallItem> for ::windows::runtime::IInspectable {
from(value: &AppInstallItem) -> Self209     fn from(value: &AppInstallItem) -> Self {
210         value.0.clone()
211     }
212 }
213 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstallItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>214     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
215         ::windows::runtime::Param::Owned(self.0)
216     }
217 }
218 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstallItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>219     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
220         ::windows::runtime::Param::Borrowed(&self.0)
221     }
222 }
223 unsafe impl ::std::marker::Send for AppInstallItem {}
224 unsafe impl ::std::marker::Sync for AppInstallItem {}
225 #[repr(transparent)]
226 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
227 pub struct AppInstallManager(::windows::runtime::IInspectable);
228 impl AppInstallManager {
new() -> ::windows::runtime::Result<Self>229     pub fn new() -> ::windows::runtime::Result<Self> {
230         Self::IActivationFactory(|f| f.activate_instance::<Self>())
231     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>232     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
233         static mut SHARED: ::windows::runtime::FactoryCache<AppInstallManager, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
234         unsafe { SHARED.call(callback) }
235     }
236     #[cfg(feature = "Foundation_Collections")]
AppInstallItems(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>237     pub fn AppInstallItems(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>> {
238         let this = self;
239         unsafe {
240             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
241             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>(result__)
242         }
243     }
Cancel<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<()>244     pub fn Cancel<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<()> {
245         let this = self;
246         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), productid.into_param().abi()).ok() }
247     }
Pause<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<()>248     pub fn Pause<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<()> {
249         let this = self;
250         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), productid.into_param().abi()).ok() }
251     }
Restart<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<()>252     pub fn Restart<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<()> {
253         let this = self;
254         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), productid.into_param().abi()).ok() }
255     }
256     #[cfg(feature = "Foundation")]
ItemCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallManager, AppInstallManagerItemEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken>257     pub fn ItemCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallManager, AppInstallManagerItemEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken> {
258         let this = self;
259         unsafe {
260             let mut result__: super::super::super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
261             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::EventRegistrationToken>(result__)
262         }
263     }
264     #[cfg(feature = "Foundation")]
RemoveItemCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>265     pub fn RemoveItemCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
266         let this = self;
267         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
268     }
269     #[cfg(feature = "Foundation")]
ItemStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallManager, AppInstallManagerItemEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken>270     pub fn ItemStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::TypedEventHandler<AppInstallManager, AppInstallManagerItemEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::EventRegistrationToken> {
271         let this = self;
272         unsafe {
273             let mut result__: super::super::super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
274             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::EventRegistrationToken>(result__)
275         }
276     }
277     #[cfg(feature = "Foundation")]
RemoveItemStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>278     pub fn RemoveItemStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
279         let this = self;
280         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
281     }
AutoUpdateSetting(&self) -> ::windows::runtime::Result<AutoUpdateSetting>282     pub fn AutoUpdateSetting(&self) -> ::windows::runtime::Result<AutoUpdateSetting> {
283         let this = self;
284         unsafe {
285             let mut result__: AutoUpdateSetting = ::std::mem::zeroed();
286             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AutoUpdateSetting>(result__)
287         }
288     }
SetAutoUpdateSetting(&self, value: AutoUpdateSetting) -> ::windows::runtime::Result<()>289     pub fn SetAutoUpdateSetting(&self, value: AutoUpdateSetting) -> ::windows::runtime::Result<()> {
290         let this = self;
291         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
292     }
AcquisitionIdentity(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>293     pub fn AcquisitionIdentity(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
294         let this = self;
295         unsafe {
296             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
297             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
298         }
299     }
SetAcquisitionIdentity<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>300     pub fn SetAcquisitionIdentity<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
301         let this = self;
302         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
303     }
304     #[cfg(feature = "Foundation")]
GetIsApplicableAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, skuid: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>305     pub fn GetIsApplicableAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, skuid: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
306         let this = self;
307         unsafe {
308             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
309             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
310         }
311     }
312     #[cfg(feature = "Foundation")]
StartAppInstallAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, skuid: Param1, repair: bool, forceuseofnonremovablestorage: bool) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>313     pub fn StartAppInstallAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, skuid: Param1, repair: bool, forceuseofnonremovablestorage: bool) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
314         let this = self;
315         unsafe {
316             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
317             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), repair, forceuseofnonremovablestorage, &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
318         }
319     }
320     #[cfg(feature = "Foundation")]
UpdateAppByPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, packagefamilyname: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>321     pub fn UpdateAppByPackageFamilyNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, packagefamilyname: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
322         let this = self;
323         unsafe {
324             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
325             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), packagefamilyname.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
326         }
327     }
328     #[cfg(feature = "Foundation")]
SearchForUpdatesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, skuid: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>329     pub fn SearchForUpdatesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, skuid: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
330         let this = self;
331         unsafe {
332             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
333             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
334         }
335     }
336     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SearchForAllUpdatesAsync(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>337     pub fn SearchForAllUpdatesAsync(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
338         let this = self;
339         unsafe {
340             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
341             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
342         }
343     }
344     #[cfg(feature = "Foundation")]
IsStoreBlockedByPolicyAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, storeclientname: Param0, storeclientpublisher: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>345     pub fn IsStoreBlockedByPolicyAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, storeclientname: Param0, storeclientpublisher: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
346         let this = self;
347         unsafe {
348             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
349             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), storeclientname.into_param().abi(), storeclientpublisher.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
350         }
351     }
352     #[cfg(feature = "Foundation")]
GetIsAppAllowedToInstallAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>353     pub fn GetIsAppAllowedToInstallAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
354         let this = self;
355         unsafe {
356             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
357             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), productid.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
358         }
359     }
360     #[cfg(feature = "Foundation")]
StartAppInstallWithTelemetryAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param6: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, productid: Param0, skuid: Param1, repair: bool, forceuseofnonremovablestorage: bool, catalogid: Param4, bundleid: Param5, correlationvector: Param6, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>361     pub fn StartAppInstallWithTelemetryAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param6: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
362         &self,
363         productid: Param0,
364         skuid: Param1,
365         repair: bool,
366         forceuseofnonremovablestorage: bool,
367         catalogid: Param4,
368         bundleid: Param5,
369         correlationvector: Param6,
370     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
371         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
372         unsafe {
373             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
374             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), repair, forceuseofnonremovablestorage, catalogid.into_param().abi(), bundleid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
375         }
376     }
377     #[cfg(feature = "Foundation")]
UpdateAppByPackageFamilyNameWithTelemetryAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, packagefamilyname: Param0, correlationvector: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>378     pub fn UpdateAppByPackageFamilyNameWithTelemetryAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, packagefamilyname: Param0, correlationvector: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
379         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
380         unsafe {
381             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
382             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), packagefamilyname.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
383         }
384     }
385     #[cfg(feature = "Foundation")]
SearchForUpdatesWithTelemetryAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, productid: Param0, skuid: Param1, catalogid: Param2, correlationvector: Param3, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>386     pub fn SearchForUpdatesWithTelemetryAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
387         &self,
388         productid: Param0,
389         skuid: Param1,
390         catalogid: Param2,
391         correlationvector: Param3,
392     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
393         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
394         unsafe {
395             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
396             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), catalogid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
397         }
398     }
399     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SearchForAllUpdatesWithTelemetryAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>400     pub fn SearchForAllUpdatesWithTelemetryAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, correlationvector: Param0) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
401         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
402         unsafe {
403             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
404             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
405         }
406     }
407     #[cfg(feature = "Foundation")]
GetIsAppAllowedToInstallWithTelemetryAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, productid: Param0, skuid: Param1, catalogid: Param2, correlationvector: Param3, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>408     pub fn GetIsAppAllowedToInstallWithTelemetryAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
409         &self,
410         productid: Param0,
411         skuid: Param1,
412         catalogid: Param2,
413         correlationvector: Param3,
414     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
415         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
416         unsafe {
417             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
418             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), catalogid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
419         }
420     }
CancelWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()>421     pub fn CancelWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()> {
422         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
423         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), productid.into_param().abi(), correlationvector.into_param().abi()).ok() }
424     }
PauseWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()>425     pub fn PauseWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()> {
426         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
427         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), productid.into_param().abi(), correlationvector.into_param().abi()).ok() }
428     }
RestartWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()>429     pub fn RestartWithTelemetry<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()> {
430         let this = &::windows::runtime::Interface::cast::<IAppInstallManager2>(self)?;
431         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), productid.into_param().abi(), correlationvector.into_param().abi()).ok() }
432     }
433     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Management_Deployment"))]
StartProductInstallAsync< '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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param6: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param7: ::windows::runtime::IntoParam<'a, super::super::super::super::Management::Deployment::PackageVolume>, >( &self, productid: Param0, catalogid: Param1, flightid: Param2, clientid: Param3, repair: bool, forceuseofnonremovablestorage: bool, correlationvector: Param6, targetvolume: Param7, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>434     pub fn StartProductInstallAsync<
435         'a,
436         Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
437         Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
438         Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
439         Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
440         Param6: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
441         Param7: ::windows::runtime::IntoParam<'a, super::super::super::super::Management::Deployment::PackageVolume>,
442     >(
443         &self,
444         productid: Param0,
445         catalogid: Param1,
446         flightid: Param2,
447         clientid: Param3,
448         repair: bool,
449         forceuseofnonremovablestorage: bool,
450         correlationvector: Param6,
451         targetvolume: Param7,
452     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
453         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
454         unsafe {
455             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
456             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), productid.into_param().abi(), catalogid.into_param().abi(), flightid.into_param().abi(), clientid.into_param().abi(), repair, forceuseofnonremovablestorage, correlationvector.into_param().abi(), targetvolume.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
457         }
458     }
459     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Management_Deployment", feature = "System"))]
StartProductInstallForUserAsync< 'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param7: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param8: ::windows::runtime::IntoParam<'a, super::super::super::super::Management::Deployment::PackageVolume>, >( &self, user: Param0, productid: Param1, catalogid: Param2, flightid: Param3, clientid: Param4, repair: bool, forceuseofnonremovablestorage: bool, correlationvector: Param7, targetvolume: Param8, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>460     pub fn StartProductInstallForUserAsync<
461         'a,
462         Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>,
463         Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
464         Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
465         Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
466         Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
467         Param7: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>,
468         Param8: ::windows::runtime::IntoParam<'a, super::super::super::super::Management::Deployment::PackageVolume>,
469     >(
470         &self,
471         user: Param0,
472         productid: Param1,
473         catalogid: Param2,
474         flightid: Param3,
475         clientid: Param4,
476         repair: bool,
477         forceuseofnonremovablestorage: bool,
478         correlationvector: Param7,
479         targetvolume: Param8,
480     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
481         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
482         unsafe {
483             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
484             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), productid.into_param().abi(), catalogid.into_param().abi(), flightid.into_param().abi(), clientid.into_param().abi(), repair, forceuseofnonremovablestorage, correlationvector.into_param().abi(), targetvolume.into_param().abi(), &mut result__)
485                 .from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
486         }
487     }
488     #[cfg(all(feature = "Foundation", feature = "System"))]
UpdateAppByPackageFamilyNameForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, user: Param0, packagefamilyname: Param1, correlationvector: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>489     pub fn UpdateAppByPackageFamilyNameForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, user: Param0, packagefamilyname: Param1, correlationvector: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
490         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
491         unsafe {
492             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
493             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), user.into_param().abi(), packagefamilyname.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
494         }
495     }
496     #[cfg(all(feature = "Foundation", feature = "System"))]
SearchForUpdatesForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, user: Param0, productid: Param1, skuid: Param2, catalogid: Param3, correlationvector: Param4, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>497     pub fn SearchForUpdatesForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
498         &self,
499         user: Param0,
500         productid: Param1,
501         skuid: Param2,
502         catalogid: Param3,
503         correlationvector: Param4,
504     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
505         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
506         unsafe {
507             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
508             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), user.into_param().abi(), productid.into_param().abi(), skuid.into_param().abi(), catalogid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
509         }
510     }
511     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System"))]
SearchForAllUpdatesForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, user: Param0, correlationvector: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>512     pub fn SearchForAllUpdatesForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, user: Param0, correlationvector: Param1) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
513         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
514         unsafe {
515             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
516             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), user.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
517         }
518     }
519     #[cfg(all(feature = "Foundation", feature = "System"))]
GetIsAppAllowedToInstallForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, user: Param0, productid: Param1, skuid: Param2, catalogid: Param3, correlationvector: Param4, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>520     pub fn GetIsAppAllowedToInstallForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
521         &self,
522         user: Param0,
523         productid: Param1,
524         skuid: Param2,
525         catalogid: Param3,
526         correlationvector: Param4,
527     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
528         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
529         unsafe {
530             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
531             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), user.into_param().abi(), productid.into_param().abi(), skuid.into_param().abi(), catalogid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
532         }
533     }
534     #[cfg(all(feature = "Foundation", feature = "System"))]
GetIsApplicableForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, user: Param0, productid: Param1, skuid: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>535     pub fn GetIsApplicableForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, user: Param0, productid: Param1, skuid: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
536         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
537         unsafe {
538             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
539             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), user.into_param().abi(), productid.into_param().abi(), skuid.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
540         }
541     }
MoveToFrontOfDownloadQueue<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()>542     pub fn MoveToFrontOfDownloadQueue<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, productid: Param0, correlationvector: Param1) -> ::windows::runtime::Result<()> {
543         let this = &::windows::runtime::Interface::cast::<IAppInstallManager3>(self)?;
544         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), productid.into_param().abi(), correlationvector.into_param().abi()).ok() }
545     }
546     #[cfg(feature = "Foundation")]
GetFreeUserEntitlementAsync<'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>>(&self, storeid: Param0, campaignid: Param1, correlationvector: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>>547     pub fn GetFreeUserEntitlementAsync<'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>>(&self, storeid: Param0, campaignid: Param1, correlationvector: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>> {
548         let this = &::windows::runtime::Interface::cast::<IAppInstallManager4>(self)?;
549         unsafe {
550             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
551             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), storeid.into_param().abi(), campaignid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>>(result__)
552         }
553     }
554     #[cfg(all(feature = "Foundation", feature = "System"))]
GetFreeUserEntitlementForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, user: Param0, storeid: Param1, campaignid: Param2, correlationvector: Param3, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>>555     pub fn GetFreeUserEntitlementForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
556         &self,
557         user: Param0,
558         storeid: Param1,
559         campaignid: Param2,
560         correlationvector: Param3,
561     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>> {
562         let this = &::windows::runtime::Interface::cast::<IAppInstallManager4>(self)?;
563         unsafe {
564             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
565             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), storeid.into_param().abi(), campaignid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>>(result__)
566         }
567     }
568     #[cfg(feature = "Foundation")]
GetFreeDeviceEntitlementAsync<'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>>(&self, storeid: Param0, campaignid: Param1, correlationvector: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>>569     pub fn GetFreeDeviceEntitlementAsync<'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>>(&self, storeid: Param0, campaignid: Param1, correlationvector: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>> {
570         let this = &::windows::runtime::Interface::cast::<IAppInstallManager4>(self)?;
571         unsafe {
572             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
573             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), storeid.into_param().abi(), campaignid.into_param().abi(), correlationvector.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<GetEntitlementResult>>(result__)
574         }
575     }
576     #[cfg(feature = "Foundation_Collections")]
AppInstallItemsWithGroupSupport(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>577     pub fn AppInstallItemsWithGroupSupport(&self) -> ::windows::runtime::Result<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>> {
578         let this = &::windows::runtime::Interface::cast::<IAppInstallManager5>(self)?;
579         unsafe {
580             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
581             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>(result__)
582         }
583     }
584     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SearchForAllUpdatesWithUpdateOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>( &self, correlationvector: Param0, clientid: Param1, updateoptions: Param2, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>585     pub fn SearchForAllUpdatesWithUpdateOptionsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>(
586         &self,
587         correlationvector: Param0,
588         clientid: Param1,
589         updateoptions: Param2,
590     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
591         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
592         unsafe {
593             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
594             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), correlationvector.into_param().abi(), clientid.into_param().abi(), updateoptions.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
595         }
596     }
597     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System"))]
SearchForAllUpdatesWithUpdateOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>( &self, user: Param0, correlationvector: Param1, clientid: Param2, updateoptions: Param3, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>598     pub fn SearchForAllUpdatesWithUpdateOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>(
599         &self,
600         user: Param0,
601         correlationvector: Param1,
602         clientid: Param2,
603         updateoptions: Param3,
604     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
605         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
606         unsafe {
607             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
608             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), correlationvector.into_param().abi(), clientid.into_param().abi(), updateoptions.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
609         }
610     }
611     #[cfg(feature = "Foundation")]
SearchForUpdatesWithUpdateOptionsAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>( &self, productid: Param0, skuid: Param1, correlationvector: Param2, clientid: Param3, updateoptions: Param4, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>612     pub fn SearchForUpdatesWithUpdateOptionsAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>(
613         &self,
614         productid: Param0,
615         skuid: Param1,
616         correlationvector: Param2,
617         clientid: Param3,
618         updateoptions: Param4,
619     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
620         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
621         unsafe {
622             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
623             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), productid.into_param().abi(), skuid.into_param().abi(), correlationvector.into_param().abi(), clientid.into_param().abi(), updateoptions.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
624         }
625     }
626     #[cfg(all(feature = "Foundation", feature = "System"))]
SearchForUpdatesWithUpdateOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>( &self, user: Param0, productid: Param1, skuid: Param2, correlationvector: Param3, clientid: Param4, updateoptions: Param5, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>627     pub fn SearchForUpdatesWithUpdateOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, AppUpdateOptions>>(
628         &self,
629         user: Param0,
630         productid: Param1,
631         skuid: Param2,
632         correlationvector: Param3,
633         clientid: Param4,
634         updateoptions: Param5,
635     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>> {
636         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
637         unsafe {
638             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
639             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), user.into_param().abi(), productid.into_param().abi(), skuid.into_param().abi(), correlationvector.into_param().abi(), clientid.into_param().abi(), updateoptions.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<AppInstallItem>>(result__)
640         }
641     }
642     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
StartProductInstallWithOptionsAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, AppInstallOptions>>( &self, productid: Param0, flightid: Param1, clientid: Param2, correlationvector: Param3, installoptions: Param4, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>643     pub fn StartProductInstallWithOptionsAsync<'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>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, AppInstallOptions>>(
644         &self,
645         productid: Param0,
646         flightid: Param1,
647         clientid: Param2,
648         correlationvector: Param3,
649         installoptions: Param4,
650     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
651         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
652         unsafe {
653             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
654             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), productid.into_param().abi(), flightid.into_param().abi(), clientid.into_param().abi(), correlationvector.into_param().abi(), installoptions.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
655         }
656     }
657     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System"))]
StartProductInstallWithOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, AppInstallOptions>>( &self, user: Param0, productid: Param1, flightid: Param2, clientid: Param3, correlationvector: Param4, installoptions: Param5, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>658     pub fn StartProductInstallWithOptionsForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param4: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param5: ::windows::runtime::IntoParam<'a, AppInstallOptions>>(
659         &self,
660         user: Param0,
661         productid: Param1,
662         flightid: Param2,
663         clientid: Param3,
664         correlationvector: Param4,
665         installoptions: Param5,
666     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>> {
667         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
668         unsafe {
669             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
670             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), user.into_param().abi(), productid.into_param().abi(), flightid.into_param().abi(), clientid.into_param().abi(), correlationvector.into_param().abi(), installoptions.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<super::super::super::super::Foundation::Collections::IVectorView<AppInstallItem>>>(result__)
671         }
672     }
673     #[cfg(feature = "Foundation")]
GetIsPackageIdentityAllowedToInstallAsync<'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>>(&self, correlationvector: Param0, packageidentityname: Param1, publishercertificatename: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>674     pub fn GetIsPackageIdentityAllowedToInstallAsync<'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>>(&self, correlationvector: Param0, packageidentityname: Param1, publishercertificatename: Param2) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
675         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
676         unsafe {
677             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
678             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), correlationvector.into_param().abi(), packageidentityname.into_param().abi(), publishercertificatename.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
679         }
680     }
681     #[cfg(all(feature = "Foundation", feature = "System"))]
GetIsPackageIdentityAllowedToInstallForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>( &self, user: Param0, correlationvector: Param1, packageidentityname: Param2, publishercertificatename: Param3, ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>>682     pub fn GetIsPackageIdentityAllowedToInstallForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(
683         &self,
684         user: Param0,
685         correlationvector: Param1,
686         packageidentityname: Param2,
687         publishercertificatename: Param3,
688     ) -> ::windows::runtime::Result<super::super::super::super::Foundation::IAsyncOperation<bool>> {
689         let this = &::windows::runtime::Interface::cast::<IAppInstallManager6>(self)?;
690         unsafe {
691             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
692             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), user.into_param().abi(), correlationvector.into_param().abi(), packageidentityname.into_param().abi(), publishercertificatename.into_param().abi(), &mut result__).from_abi::<super::super::super::super::Foundation::IAsyncOperation<bool>>(result__)
693         }
694     }
CanInstallForAllUsers(&self) -> ::windows::runtime::Result<bool>695     pub fn CanInstallForAllUsers(&self) -> ::windows::runtime::Result<bool> {
696         let this = &::windows::runtime::Interface::cast::<IAppInstallManager7>(self)?;
697         unsafe {
698             let mut result__: bool = ::std::mem::zeroed();
699             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
700         }
701     }
702 }
703 unsafe impl ::windows::runtime::RuntimeType for AppInstallManager {
704     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager;{9353e170-8441-4b45-bd72-7c2fa925beee})");
705 }
706 unsafe impl ::windows::runtime::Interface for AppInstallManager {
707     type Vtable = IAppInstallManager_abi;
708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2471747952, 33857, 19269, [189, 114, 124, 47, 169, 37, 190, 238]);
709 }
710 impl ::windows::runtime::RuntimeName for AppInstallManager {
711     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManager";
712 }
713 impl ::std::convert::From<AppInstallManager> for ::windows::runtime::IUnknown {
from(value: AppInstallManager) -> Self714     fn from(value: AppInstallManager) -> Self {
715         unsafe { ::std::mem::transmute(value) }
716     }
717 }
718 impl ::std::convert::From<&AppInstallManager> for ::windows::runtime::IUnknown {
from(value: &AppInstallManager) -> Self719     fn from(value: &AppInstallManager) -> Self {
720         ::std::convert::From::from(::std::clone::Clone::clone(value))
721     }
722 }
723 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstallManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>724     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
725         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
726     }
727 }
728 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstallManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>729     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
730         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
731     }
732 }
733 impl ::std::convert::From<AppInstallManager> for ::windows::runtime::IInspectable {
from(value: AppInstallManager) -> Self734     fn from(value: AppInstallManager) -> Self {
735         value.0
736     }
737 }
738 impl ::std::convert::From<&AppInstallManager> for ::windows::runtime::IInspectable {
from(value: &AppInstallManager) -> Self739     fn from(value: &AppInstallManager) -> Self {
740         value.0.clone()
741     }
742 }
743 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstallManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>744     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
745         ::windows::runtime::Param::Owned(self.0)
746     }
747 }
748 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstallManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>749     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
750         ::windows::runtime::Param::Borrowed(&self.0)
751     }
752 }
753 unsafe impl ::std::marker::Send for AppInstallManager {}
754 unsafe impl ::std::marker::Sync for AppInstallManager {}
755 #[repr(transparent)]
756 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
757 pub struct AppInstallManagerItemEventArgs(::windows::runtime::IInspectable);
758 impl AppInstallManagerItemEventArgs {
Item(&self) -> ::windows::runtime::Result<AppInstallItem>759     pub fn Item(&self) -> ::windows::runtime::Result<AppInstallItem> {
760         let this = self;
761         unsafe {
762             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
763             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallItem>(result__)
764         }
765     }
766 }
767 unsafe impl ::windows::runtime::RuntimeType for AppInstallManagerItemEventArgs {
768     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManagerItemEventArgs;{bc505743-4674-4dd1-957e-c25682086a14})");
769 }
770 unsafe impl ::windows::runtime::Interface for AppInstallManagerItemEventArgs {
771     type Vtable = IAppInstallManagerItemEventArgs_abi;
772     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3159381827, 18036, 19921, [149, 126, 194, 86, 130, 8, 106, 20]);
773 }
774 impl ::windows::runtime::RuntimeName for AppInstallManagerItemEventArgs {
775     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallManagerItemEventArgs";
776 }
777 impl ::std::convert::From<AppInstallManagerItemEventArgs> for ::windows::runtime::IUnknown {
from(value: AppInstallManagerItemEventArgs) -> Self778     fn from(value: AppInstallManagerItemEventArgs) -> Self {
779         unsafe { ::std::mem::transmute(value) }
780     }
781 }
782 impl ::std::convert::From<&AppInstallManagerItemEventArgs> for ::windows::runtime::IUnknown {
from(value: &AppInstallManagerItemEventArgs) -> Self783     fn from(value: &AppInstallManagerItemEventArgs) -> Self {
784         ::std::convert::From::from(::std::clone::Clone::clone(value))
785     }
786 }
787 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstallManagerItemEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>788     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
789         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
790     }
791 }
792 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstallManagerItemEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>793     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
794         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
795     }
796 }
797 impl ::std::convert::From<AppInstallManagerItemEventArgs> for ::windows::runtime::IInspectable {
from(value: AppInstallManagerItemEventArgs) -> Self798     fn from(value: AppInstallManagerItemEventArgs) -> Self {
799         value.0
800     }
801 }
802 impl ::std::convert::From<&AppInstallManagerItemEventArgs> for ::windows::runtime::IInspectable {
from(value: &AppInstallManagerItemEventArgs) -> Self803     fn from(value: &AppInstallManagerItemEventArgs) -> Self {
804         value.0.clone()
805     }
806 }
807 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstallManagerItemEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>808     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
809         ::windows::runtime::Param::Owned(self.0)
810     }
811 }
812 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstallManagerItemEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>813     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
814         ::windows::runtime::Param::Borrowed(&self.0)
815     }
816 }
817 unsafe impl ::std::marker::Send for AppInstallManagerItemEventArgs {}
818 unsafe impl ::std::marker::Sync for AppInstallManagerItemEventArgs {}
819 #[repr(transparent)]
820 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
821 pub struct AppInstallOptions(::windows::runtime::IInspectable);
822 impl AppInstallOptions {
new() -> ::windows::runtime::Result<Self>823     pub fn new() -> ::windows::runtime::Result<Self> {
824         Self::IActivationFactory(|f| f.activate_instance::<Self>())
825     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>826     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
827         static mut SHARED: ::windows::runtime::FactoryCache<AppInstallOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
828         unsafe { SHARED.call(callback) }
829     }
CatalogId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>830     pub fn CatalogId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
831         let this = self;
832         unsafe {
833             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
834             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
835         }
836     }
SetCatalogId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>837     pub fn SetCatalogId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
838         let this = self;
839         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
840     }
ForceUseOfNonRemovableStorage(&self) -> ::windows::runtime::Result<bool>841     pub fn ForceUseOfNonRemovableStorage(&self) -> ::windows::runtime::Result<bool> {
842         let this = self;
843         unsafe {
844             let mut result__: bool = ::std::mem::zeroed();
845             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
846         }
847     }
SetForceUseOfNonRemovableStorage(&self, value: bool) -> ::windows::runtime::Result<()>848     pub fn SetForceUseOfNonRemovableStorage(&self, value: bool) -> ::windows::runtime::Result<()> {
849         let this = self;
850         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
851     }
AllowForcedAppRestart(&self) -> ::windows::runtime::Result<bool>852     pub fn AllowForcedAppRestart(&self) -> ::windows::runtime::Result<bool> {
853         let this = self;
854         unsafe {
855             let mut result__: bool = ::std::mem::zeroed();
856             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
857         }
858     }
SetAllowForcedAppRestart(&self, value: bool) -> ::windows::runtime::Result<()>859     pub fn SetAllowForcedAppRestart(&self, value: bool) -> ::windows::runtime::Result<()> {
860         let this = self;
861         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
862     }
Repair(&self) -> ::windows::runtime::Result<bool>863     pub fn Repair(&self) -> ::windows::runtime::Result<bool> {
864         let this = self;
865         unsafe {
866             let mut result__: bool = ::std::mem::zeroed();
867             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
868         }
869     }
SetRepair(&self, value: bool) -> ::windows::runtime::Result<()>870     pub fn SetRepair(&self, value: bool) -> ::windows::runtime::Result<()> {
871         let this = self;
872         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
873     }
874     #[cfg(feature = "Management_Deployment")]
TargetVolume(&self) -> ::windows::runtime::Result<super::super::super::super::Management::Deployment::PackageVolume>875     pub fn TargetVolume(&self) -> ::windows::runtime::Result<super::super::super::super::Management::Deployment::PackageVolume> {
876         let this = self;
877         unsafe {
878             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
879             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::Management::Deployment::PackageVolume>(result__)
880         }
881     }
882     #[cfg(feature = "Management_Deployment")]
SetTargetVolume<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Management::Deployment::PackageVolume>>(&self, value: Param0) -> ::windows::runtime::Result<()>883     pub fn SetTargetVolume<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::super::super::Management::Deployment::PackageVolume>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
884         let this = self;
885         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
886     }
LaunchAfterInstall(&self) -> ::windows::runtime::Result<bool>887     pub fn LaunchAfterInstall(&self) -> ::windows::runtime::Result<bool> {
888         let this = self;
889         unsafe {
890             let mut result__: bool = ::std::mem::zeroed();
891             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
892         }
893     }
SetLaunchAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>894     pub fn SetLaunchAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
895         let this = self;
896         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
897     }
PinToDesktopAfterInstall(&self) -> ::windows::runtime::Result<bool>898     pub fn PinToDesktopAfterInstall(&self) -> ::windows::runtime::Result<bool> {
899         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
900         unsafe {
901             let mut result__: bool = ::std::mem::zeroed();
902             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
903         }
904     }
SetPinToDesktopAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>905     pub fn SetPinToDesktopAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
906         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
907         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
908     }
PinToStartAfterInstall(&self) -> ::windows::runtime::Result<bool>909     pub fn PinToStartAfterInstall(&self) -> ::windows::runtime::Result<bool> {
910         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
911         unsafe {
912             let mut result__: bool = ::std::mem::zeroed();
913             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
914         }
915     }
SetPinToStartAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>916     pub fn SetPinToStartAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
917         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
918         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
919     }
PinToTaskbarAfterInstall(&self) -> ::windows::runtime::Result<bool>920     pub fn PinToTaskbarAfterInstall(&self) -> ::windows::runtime::Result<bool> {
921         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
922         unsafe {
923             let mut result__: bool = ::std::mem::zeroed();
924             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
925         }
926     }
SetPinToTaskbarAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()>927     pub fn SetPinToTaskbarAfterInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
928         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
929         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
930     }
CompletedInstallToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode>931     pub fn CompletedInstallToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode> {
932         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
933         unsafe {
934             let mut result__: AppInstallationToastNotificationMode = ::std::mem::zeroed();
935             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallationToastNotificationMode>(result__)
936         }
937     }
SetCompletedInstallToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()>938     pub fn SetCompletedInstallToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()> {
939         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
940         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
941     }
InstallInProgressToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode>942     pub fn InstallInProgressToastNotificationMode(&self) -> ::windows::runtime::Result<AppInstallationToastNotificationMode> {
943         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
944         unsafe {
945             let mut result__: AppInstallationToastNotificationMode = ::std::mem::zeroed();
946             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallationToastNotificationMode>(result__)
947         }
948     }
SetInstallInProgressToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()>949     pub fn SetInstallInProgressToastNotificationMode(&self, value: AppInstallationToastNotificationMode) -> ::windows::runtime::Result<()> {
950         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
951         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
952     }
InstallForAllUsers(&self) -> ::windows::runtime::Result<bool>953     pub fn InstallForAllUsers(&self) -> ::windows::runtime::Result<bool> {
954         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
955         unsafe {
956             let mut result__: bool = ::std::mem::zeroed();
957             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
958         }
959     }
SetInstallForAllUsers(&self, value: bool) -> ::windows::runtime::Result<()>960     pub fn SetInstallForAllUsers(&self, value: bool) -> ::windows::runtime::Result<()> {
961         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
962         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
963     }
StageButDoNotInstall(&self) -> ::windows::runtime::Result<bool>964     pub fn StageButDoNotInstall(&self) -> ::windows::runtime::Result<bool> {
965         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
966         unsafe {
967             let mut result__: bool = ::std::mem::zeroed();
968             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
969         }
970     }
SetStageButDoNotInstall(&self, value: bool) -> ::windows::runtime::Result<()>971     pub fn SetStageButDoNotInstall(&self, value: bool) -> ::windows::runtime::Result<()> {
972         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
973         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
974     }
CampaignId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>975     pub fn CampaignId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
976         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
977         unsafe {
978             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
979             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
980         }
981     }
SetCampaignId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>982     pub fn SetCampaignId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
983         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
984         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
985     }
ExtendedCampaignId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>986     pub fn ExtendedCampaignId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
987         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
988         unsafe {
989             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
990             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
991         }
992     }
SetExtendedCampaignId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>993     pub fn SetExtendedCampaignId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
994         let this = &::windows::runtime::Interface::cast::<IAppInstallOptions2>(self)?;
995         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
996     }
997 }
998 unsafe impl ::windows::runtime::RuntimeType for AppInstallOptions {
999     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallOptions;{c9808300-1cb8-4eb6-8c9f-6a30c64a5b51})");
1000 }
1001 unsafe impl ::windows::runtime::Interface for AppInstallOptions {
1002     type Vtable = IAppInstallOptions_abi;
1003     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3380642560, 7352, 20150, [140, 159, 106, 48, 198, 74, 91, 81]);
1004 }
1005 impl ::windows::runtime::RuntimeName for AppInstallOptions {
1006     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallOptions";
1007 }
1008 impl ::std::convert::From<AppInstallOptions> for ::windows::runtime::IUnknown {
from(value: AppInstallOptions) -> Self1009     fn from(value: AppInstallOptions) -> Self {
1010         unsafe { ::std::mem::transmute(value) }
1011     }
1012 }
1013 impl ::std::convert::From<&AppInstallOptions> for ::windows::runtime::IUnknown {
from(value: &AppInstallOptions) -> Self1014     fn from(value: &AppInstallOptions) -> Self {
1015         ::std::convert::From::from(::std::clone::Clone::clone(value))
1016     }
1017 }
1018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstallOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1020         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1021     }
1022 }
1023 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstallOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1024     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1025         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1026     }
1027 }
1028 impl ::std::convert::From<AppInstallOptions> for ::windows::runtime::IInspectable {
from(value: AppInstallOptions) -> Self1029     fn from(value: AppInstallOptions) -> Self {
1030         value.0
1031     }
1032 }
1033 impl ::std::convert::From<&AppInstallOptions> for ::windows::runtime::IInspectable {
from(value: &AppInstallOptions) -> Self1034     fn from(value: &AppInstallOptions) -> Self {
1035         value.0.clone()
1036     }
1037 }
1038 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstallOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1039     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1040         ::windows::runtime::Param::Owned(self.0)
1041     }
1042 }
1043 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstallOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1044     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1045         ::windows::runtime::Param::Borrowed(&self.0)
1046     }
1047 }
1048 unsafe impl ::std::marker::Send for AppInstallOptions {}
1049 unsafe impl ::std::marker::Sync for AppInstallOptions {}
1050 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1051 #[repr(transparent)]
1052 pub struct AppInstallState(pub i32);
1053 impl AppInstallState {
1054     pub const Pending: AppInstallState = AppInstallState(0i32);
1055     pub const Starting: AppInstallState = AppInstallState(1i32);
1056     pub const AcquiringLicense: AppInstallState = AppInstallState(2i32);
1057     pub const Downloading: AppInstallState = AppInstallState(3i32);
1058     pub const RestoringData: AppInstallState = AppInstallState(4i32);
1059     pub const Installing: AppInstallState = AppInstallState(5i32);
1060     pub const Completed: AppInstallState = AppInstallState(6i32);
1061     pub const Canceled: AppInstallState = AppInstallState(7i32);
1062     pub const Paused: AppInstallState = AppInstallState(8i32);
1063     pub const Error: AppInstallState = AppInstallState(9i32);
1064     pub const PausedLowBattery: AppInstallState = AppInstallState(10i32);
1065     pub const PausedWiFiRecommended: AppInstallState = AppInstallState(11i32);
1066     pub const PausedWiFiRequired: AppInstallState = AppInstallState(12i32);
1067     pub const ReadyToDownload: AppInstallState = AppInstallState(13i32);
1068 }
1069 impl ::std::convert::From<i32> for AppInstallState {
from(value: i32) -> Self1070     fn from(value: i32) -> Self {
1071         Self(value)
1072     }
1073 }
1074 unsafe impl ::windows::runtime::Abi for AppInstallState {
1075     type Abi = Self;
1076     type DefaultType = Self;
1077 }
1078 unsafe impl ::windows::runtime::RuntimeType for AppInstallState {
1079     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallState;i4)");
1080 }
1081 #[repr(transparent)]
1082 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1083 pub struct AppInstallStatus(::windows::runtime::IInspectable);
1084 impl AppInstallStatus {
InstallState(&self) -> ::windows::runtime::Result<AppInstallState>1085     pub fn InstallState(&self) -> ::windows::runtime::Result<AppInstallState> {
1086         let this = self;
1087         unsafe {
1088             let mut result__: AppInstallState = ::std::mem::zeroed();
1089             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppInstallState>(result__)
1090         }
1091     }
DownloadSizeInBytes(&self) -> ::windows::runtime::Result<u64>1092     pub fn DownloadSizeInBytes(&self) -> ::windows::runtime::Result<u64> {
1093         let this = self;
1094         unsafe {
1095             let mut result__: u64 = ::std::mem::zeroed();
1096             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
1097         }
1098     }
BytesDownloaded(&self) -> ::windows::runtime::Result<u64>1099     pub fn BytesDownloaded(&self) -> ::windows::runtime::Result<u64> {
1100         let this = self;
1101         unsafe {
1102             let mut result__: u64 = ::std::mem::zeroed();
1103             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
1104         }
1105     }
PercentComplete(&self) -> ::windows::runtime::Result<f64>1106     pub fn PercentComplete(&self) -> ::windows::runtime::Result<f64> {
1107         let this = self;
1108         unsafe {
1109             let mut result__: f64 = ::std::mem::zeroed();
1110             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
1111         }
1112     }
ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>1113     pub fn ErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
1114         let this = self;
1115         unsafe {
1116             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
1117             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
1118         }
1119     }
1120     #[cfg(feature = "System")]
User(&self) -> ::windows::runtime::Result<super::super::super::super::System::User>1121     pub fn User(&self) -> ::windows::runtime::Result<super::super::super::super::System::User> {
1122         let this = &::windows::runtime::Interface::cast::<IAppInstallStatus2>(self)?;
1123         unsafe {
1124             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1125             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::super::super::System::User>(result__)
1126         }
1127     }
ReadyForLaunch(&self) -> ::windows::runtime::Result<bool>1128     pub fn ReadyForLaunch(&self) -> ::windows::runtime::Result<bool> {
1129         let this = &::windows::runtime::Interface::cast::<IAppInstallStatus2>(self)?;
1130         unsafe {
1131             let mut result__: bool = ::std::mem::zeroed();
1132             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1133         }
1134     }
IsStaged(&self) -> ::windows::runtime::Result<bool>1135     pub fn IsStaged(&self) -> ::windows::runtime::Result<bool> {
1136         let this = &::windows::runtime::Interface::cast::<IAppInstallStatus3>(self)?;
1137         unsafe {
1138             let mut result__: bool = ::std::mem::zeroed();
1139             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1140         }
1141     }
1142 }
1143 unsafe impl ::windows::runtime::RuntimeType for AppInstallStatus {
1144     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallStatus;{936dccfa-2450-4126-88b1-6127a644dd5c})");
1145 }
1146 unsafe impl ::windows::runtime::Interface for AppInstallStatus {
1147     type Vtable = IAppInstallStatus_abi;
1148     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2473446650, 9296, 16678, [136, 177, 97, 39, 166, 68, 221, 92]);
1149 }
1150 impl ::windows::runtime::RuntimeName for AppInstallStatus {
1151     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallStatus";
1152 }
1153 impl ::std::convert::From<AppInstallStatus> for ::windows::runtime::IUnknown {
from(value: AppInstallStatus) -> Self1154     fn from(value: AppInstallStatus) -> Self {
1155         unsafe { ::std::mem::transmute(value) }
1156     }
1157 }
1158 impl ::std::convert::From<&AppInstallStatus> for ::windows::runtime::IUnknown {
from(value: &AppInstallStatus) -> Self1159     fn from(value: &AppInstallStatus) -> Self {
1160         ::std::convert::From::from(::std::clone::Clone::clone(value))
1161     }
1162 }
1163 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppInstallStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1164     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1165         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1166     }
1167 }
1168 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppInstallStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1169     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1170         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1171     }
1172 }
1173 impl ::std::convert::From<AppInstallStatus> for ::windows::runtime::IInspectable {
from(value: AppInstallStatus) -> Self1174     fn from(value: AppInstallStatus) -> Self {
1175         value.0
1176     }
1177 }
1178 impl ::std::convert::From<&AppInstallStatus> for ::windows::runtime::IInspectable {
from(value: &AppInstallStatus) -> Self1179     fn from(value: &AppInstallStatus) -> Self {
1180         value.0.clone()
1181     }
1182 }
1183 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppInstallStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1184     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1185         ::windows::runtime::Param::Owned(self.0)
1186     }
1187 }
1188 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppInstallStatus {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1189     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1190         ::windows::runtime::Param::Borrowed(&self.0)
1191     }
1192 }
1193 unsafe impl ::std::marker::Send for AppInstallStatus {}
1194 unsafe impl ::std::marker::Sync for AppInstallStatus {}
1195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1196 #[repr(transparent)]
1197 pub struct AppInstallType(pub i32);
1198 impl AppInstallType {
1199     pub const Install: AppInstallType = AppInstallType(0i32);
1200     pub const Update: AppInstallType = AppInstallType(1i32);
1201     pub const Repair: AppInstallType = AppInstallType(2i32);
1202 }
1203 impl ::std::convert::From<i32> for AppInstallType {
from(value: i32) -> Self1204     fn from(value: i32) -> Self {
1205         Self(value)
1206     }
1207 }
1208 unsafe impl ::windows::runtime::Abi for AppInstallType {
1209     type Abi = Self;
1210     type DefaultType = Self;
1211 }
1212 unsafe impl ::windows::runtime::RuntimeType for AppInstallType {
1213     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallType;i4)");
1214 }
1215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1216 #[repr(transparent)]
1217 pub struct AppInstallationToastNotificationMode(pub i32);
1218 impl AppInstallationToastNotificationMode {
1219     pub const Default: AppInstallationToastNotificationMode = AppInstallationToastNotificationMode(0i32);
1220     pub const Toast: AppInstallationToastNotificationMode = AppInstallationToastNotificationMode(1i32);
1221     pub const ToastWithoutPopup: AppInstallationToastNotificationMode = AppInstallationToastNotificationMode(2i32);
1222     pub const NoToast: AppInstallationToastNotificationMode = AppInstallationToastNotificationMode(3i32);
1223 }
1224 impl ::std::convert::From<i32> for AppInstallationToastNotificationMode {
from(value: i32) -> Self1225     fn from(value: i32) -> Self {
1226         Self(value)
1227     }
1228 }
1229 unsafe impl ::windows::runtime::Abi for AppInstallationToastNotificationMode {
1230     type Abi = Self;
1231     type DefaultType = Self;
1232 }
1233 unsafe impl ::windows::runtime::RuntimeType for AppInstallationToastNotificationMode {
1234     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Store.Preview.InstallControl.AppInstallationToastNotificationMode;i4)");
1235 }
1236 #[repr(transparent)]
1237 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1238 pub struct AppUpdateOptions(::windows::runtime::IInspectable);
1239 impl AppUpdateOptions {
new() -> ::windows::runtime::Result<Self>1240     pub fn new() -> ::windows::runtime::Result<Self> {
1241         Self::IActivationFactory(|f| f.activate_instance::<Self>())
1242     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1243     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1244         static mut SHARED: ::windows::runtime::FactoryCache<AppUpdateOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
1245         unsafe { SHARED.call(callback) }
1246     }
CatalogId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1247     pub fn CatalogId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1248         let this = self;
1249         unsafe {
1250             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1251             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1252         }
1253     }
SetCatalogId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1254     pub fn SetCatalogId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1255         let this = self;
1256         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1257     }
AllowForcedAppRestart(&self) -> ::windows::runtime::Result<bool>1258     pub fn AllowForcedAppRestart(&self) -> ::windows::runtime::Result<bool> {
1259         let this = self;
1260         unsafe {
1261             let mut result__: bool = ::std::mem::zeroed();
1262             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1263         }
1264     }
SetAllowForcedAppRestart(&self, value: bool) -> ::windows::runtime::Result<()>1265     pub fn SetAllowForcedAppRestart(&self, value: bool) -> ::windows::runtime::Result<()> {
1266         let this = self;
1267         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
1268     }
AutomaticallyDownloadAndInstallUpdateIfFound(&self) -> ::windows::runtime::Result<bool>1269     pub fn AutomaticallyDownloadAndInstallUpdateIfFound(&self) -> ::windows::runtime::Result<bool> {
1270         let this = &::windows::runtime::Interface::cast::<IAppUpdateOptions2>(self)?;
1271         unsafe {
1272             let mut result__: bool = ::std::mem::zeroed();
1273             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1274         }
1275     }
SetAutomaticallyDownloadAndInstallUpdateIfFound(&self, value: bool) -> ::windows::runtime::Result<()>1276     pub fn SetAutomaticallyDownloadAndInstallUpdateIfFound(&self, value: bool) -> ::windows::runtime::Result<()> {
1277         let this = &::windows::runtime::Interface::cast::<IAppUpdateOptions2>(self)?;
1278         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
1279     }
1280 }
1281 unsafe impl ::windows::runtime::RuntimeType for AppUpdateOptions {
1282     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.AppUpdateOptions;{26f0b02f-c2f3-4aea-af8c-6308dd9db85f})");
1283 }
1284 unsafe impl ::windows::runtime::Interface for AppUpdateOptions {
1285     type Vtable = IAppUpdateOptions_abi;
1286     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(653307951, 49907, 19178, [175, 140, 99, 8, 221, 157, 184, 95]);
1287 }
1288 impl ::windows::runtime::RuntimeName for AppUpdateOptions {
1289     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.AppUpdateOptions";
1290 }
1291 impl ::std::convert::From<AppUpdateOptions> for ::windows::runtime::IUnknown {
from(value: AppUpdateOptions) -> Self1292     fn from(value: AppUpdateOptions) -> Self {
1293         unsafe { ::std::mem::transmute(value) }
1294     }
1295 }
1296 impl ::std::convert::From<&AppUpdateOptions> for ::windows::runtime::IUnknown {
from(value: &AppUpdateOptions) -> Self1297     fn from(value: &AppUpdateOptions) -> Self {
1298         ::std::convert::From::from(::std::clone::Clone::clone(value))
1299     }
1300 }
1301 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppUpdateOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1302     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1303         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1304     }
1305 }
1306 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppUpdateOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1307     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1308         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1309     }
1310 }
1311 impl ::std::convert::From<AppUpdateOptions> for ::windows::runtime::IInspectable {
from(value: AppUpdateOptions) -> Self1312     fn from(value: AppUpdateOptions) -> Self {
1313         value.0
1314     }
1315 }
1316 impl ::std::convert::From<&AppUpdateOptions> for ::windows::runtime::IInspectable {
from(value: &AppUpdateOptions) -> Self1317     fn from(value: &AppUpdateOptions) -> Self {
1318         value.0.clone()
1319     }
1320 }
1321 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppUpdateOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1322     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1323         ::windows::runtime::Param::Owned(self.0)
1324     }
1325 }
1326 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppUpdateOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1327     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1328         ::windows::runtime::Param::Borrowed(&self.0)
1329     }
1330 }
1331 unsafe impl ::std::marker::Send for AppUpdateOptions {}
1332 unsafe impl ::std::marker::Sync for AppUpdateOptions {}
1333 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1334 #[repr(transparent)]
1335 pub struct AutoUpdateSetting(pub i32);
1336 impl AutoUpdateSetting {
1337     pub const Disabled: AutoUpdateSetting = AutoUpdateSetting(0i32);
1338     pub const Enabled: AutoUpdateSetting = AutoUpdateSetting(1i32);
1339     pub const DisabledByPolicy: AutoUpdateSetting = AutoUpdateSetting(2i32);
1340     pub const EnabledByPolicy: AutoUpdateSetting = AutoUpdateSetting(3i32);
1341 }
1342 impl ::std::convert::From<i32> for AutoUpdateSetting {
from(value: i32) -> Self1343     fn from(value: i32) -> Self {
1344         Self(value)
1345     }
1346 }
1347 unsafe impl ::windows::runtime::Abi for AutoUpdateSetting {
1348     type Abi = Self;
1349     type DefaultType = Self;
1350 }
1351 unsafe impl ::windows::runtime::RuntimeType for AutoUpdateSetting {
1352     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Store.Preview.InstallControl.AutoUpdateSetting;i4)");
1353 }
1354 #[repr(transparent)]
1355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1356 pub struct GetEntitlementResult(::windows::runtime::IInspectable);
1357 impl GetEntitlementResult {
Status(&self) -> ::windows::runtime::Result<GetEntitlementStatus>1358     pub fn Status(&self) -> ::windows::runtime::Result<GetEntitlementStatus> {
1359         let this = self;
1360         unsafe {
1361             let mut result__: GetEntitlementStatus = ::std::mem::zeroed();
1362             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<GetEntitlementStatus>(result__)
1363         }
1364     }
1365 }
1366 unsafe impl ::windows::runtime::RuntimeType for GetEntitlementResult {
1367     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.ApplicationModel.Store.Preview.InstallControl.GetEntitlementResult;{74fc843f-1a9e-4609-8e4d-819086d08a3d})");
1368 }
1369 unsafe impl ::windows::runtime::Interface for GetEntitlementResult {
1370     type Vtable = IGetEntitlementResult_abi;
1371     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1962705983, 6814, 17929, [142, 77, 129, 144, 134, 208, 138, 61]);
1372 }
1373 impl ::windows::runtime::RuntimeName for GetEntitlementResult {
1374     const NAME: &'static str = "Windows.ApplicationModel.Store.Preview.InstallControl.GetEntitlementResult";
1375 }
1376 impl ::std::convert::From<GetEntitlementResult> for ::windows::runtime::IUnknown {
from(value: GetEntitlementResult) -> Self1377     fn from(value: GetEntitlementResult) -> Self {
1378         unsafe { ::std::mem::transmute(value) }
1379     }
1380 }
1381 impl ::std::convert::From<&GetEntitlementResult> for ::windows::runtime::IUnknown {
from(value: &GetEntitlementResult) -> Self1382     fn from(value: &GetEntitlementResult) -> Self {
1383         ::std::convert::From::from(::std::clone::Clone::clone(value))
1384     }
1385 }
1386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for GetEntitlementResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1387     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1388         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1389     }
1390 }
1391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &GetEntitlementResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1394     }
1395 }
1396 impl ::std::convert::From<GetEntitlementResult> for ::windows::runtime::IInspectable {
from(value: GetEntitlementResult) -> Self1397     fn from(value: GetEntitlementResult) -> Self {
1398         value.0
1399     }
1400 }
1401 impl ::std::convert::From<&GetEntitlementResult> for ::windows::runtime::IInspectable {
from(value: &GetEntitlementResult) -> Self1402     fn from(value: &GetEntitlementResult) -> Self {
1403         value.0.clone()
1404     }
1405 }
1406 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for GetEntitlementResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1407     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1408         ::windows::runtime::Param::Owned(self.0)
1409     }
1410 }
1411 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a GetEntitlementResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1412     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1413         ::windows::runtime::Param::Borrowed(&self.0)
1414     }
1415 }
1416 unsafe impl ::std::marker::Send for GetEntitlementResult {}
1417 unsafe impl ::std::marker::Sync for GetEntitlementResult {}
1418 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1419 #[repr(transparent)]
1420 pub struct GetEntitlementStatus(pub i32);
1421 impl GetEntitlementStatus {
1422     pub const Succeeded: GetEntitlementStatus = GetEntitlementStatus(0i32);
1423     pub const NoStoreAccount: GetEntitlementStatus = GetEntitlementStatus(1i32);
1424     pub const NetworkError: GetEntitlementStatus = GetEntitlementStatus(2i32);
1425     pub const ServerError: GetEntitlementStatus = GetEntitlementStatus(3i32);
1426 }
1427 impl ::std::convert::From<i32> for GetEntitlementStatus {
from(value: i32) -> Self1428     fn from(value: i32) -> Self {
1429         Self(value)
1430     }
1431 }
1432 unsafe impl ::windows::runtime::Abi for GetEntitlementStatus {
1433     type Abi = Self;
1434     type DefaultType = Self;
1435 }
1436 unsafe impl ::windows::runtime::RuntimeType for GetEntitlementStatus {
1437     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.ApplicationModel.Store.Preview.InstallControl.GetEntitlementStatus;i4)");
1438 }
1439 #[repr(transparent)]
1440 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1441 #[doc(hidden)]
1442 pub struct IAppInstallItem(::windows::runtime::IInspectable);
1443 unsafe impl ::windows::runtime::Interface for IAppInstallItem {
1444     type Vtable = IAppInstallItem_abi;
1445     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1238622123, 5770, 19647, [169, 58, 158, 68, 140, 130, 115, 125]);
1446 }
1447 #[repr(C)]
1448 #[doc(hidden)]
1449 pub struct IAppInstallItem_abi(
1450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallType) -> ::windows::runtime::HRESULT,
1459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1464     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1465     #[cfg(not(feature = "Foundation"))] usize,
1466     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1467     #[cfg(not(feature = "Foundation"))] usize,
1468     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1469     #[cfg(not(feature = "Foundation"))] usize,
1470     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1471     #[cfg(not(feature = "Foundation"))] usize,
1472 );
1473 #[repr(transparent)]
1474 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1475 #[doc(hidden)]
1476 pub struct IAppInstallItem2(::windows::runtime::IInspectable);
1477 unsafe impl ::windows::runtime::Interface for IAppInstallItem2 {
1478     type Vtable = IAppInstallItem2_abi;
1479     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3549899512, 16576, 20439, [170, 108, 10, 161, 60, 166, 24, 140]);
1480 }
1481 #[repr(C)]
1482 #[doc(hidden)]
1483 pub struct IAppInstallItem2_abi(
1484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1493 );
1494 #[repr(transparent)]
1495 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1496 #[doc(hidden)]
1497 pub struct IAppInstallItem3(::windows::runtime::IInspectable);
1498 unsafe impl ::windows::runtime::Interface for IAppInstallItem3 {
1499     type Vtable = IAppInstallItem3_abi;
1500     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1866320280, 56647, 17212, [146, 52, 86, 1, 114, 214, 122, 69]);
1501 }
1502 #[repr(C)]
1503 #[doc(hidden)]
1504 pub struct IAppInstallItem3_abi(
1505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1511     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1512     #[cfg(not(feature = "Foundation_Collections"))] usize,
1513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1514 );
1515 #[repr(transparent)]
1516 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1517 #[doc(hidden)]
1518 pub struct IAppInstallItem4(::windows::runtime::IInspectable);
1519 unsafe impl ::windows::runtime::Interface for IAppInstallItem4 {
1520     type Vtable = IAppInstallItem4_abi;
1521     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3268529682, 29183, 20424, [181, 64, 69, 61, 75, 55, 225, 209]);
1522 }
1523 #[repr(C)]
1524 #[doc(hidden)]
1525 pub struct IAppInstallItem4_abi(
1526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1534 );
1535 #[repr(transparent)]
1536 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1537 #[doc(hidden)]
1538 pub struct IAppInstallItem5(::windows::runtime::IInspectable);
1539 unsafe impl ::windows::runtime::Interface for IAppInstallItem5 {
1540     type Vtable = IAppInstallItem5_abi;
1541     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1427171276, 16502, 18955, [148, 114, 194, 29, 157, 56, 14, 85]);
1542 }
1543 #[repr(C)]
1544 #[doc(hidden)]
1545 pub struct IAppInstallItem5_abi(
1546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1558     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1559     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1560     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1561     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1562 );
1563 #[repr(transparent)]
1564 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1565 #[doc(hidden)]
1566 pub struct IAppInstallManager(::windows::runtime::IInspectable);
1567 unsafe impl ::windows::runtime::Interface for IAppInstallManager {
1568     type Vtable = IAppInstallManager_abi;
1569     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2471747952, 33857, 19269, [189, 114, 124, 47, 169, 37, 190, 238]);
1570 }
1571 #[repr(C)]
1572 #[doc(hidden)]
1573 pub struct IAppInstallManager_abi(
1574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1580     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1581     #[cfg(not(feature = "Foundation_Collections"))] usize,
1582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1585     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1586     #[cfg(not(feature = "Foundation"))] usize,
1587     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1588     #[cfg(not(feature = "Foundation"))] usize,
1589     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1590     #[cfg(not(feature = "Foundation"))] usize,
1591     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1592     #[cfg(not(feature = "Foundation"))] usize,
1593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AutoUpdateSetting) -> ::windows::runtime::HRESULT,
1594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AutoUpdateSetting) -> ::windows::runtime::HRESULT,
1595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1597     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1598     #[cfg(not(feature = "Foundation"))] usize,
1599     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, repair: bool, forceuseofnonremovablestorage: bool, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1600     #[cfg(not(feature = "Foundation"))] usize,
1601     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1602     #[cfg(not(feature = "Foundation"))] usize,
1603     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1604     #[cfg(not(feature = "Foundation"))] usize,
1605     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1606     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1607     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storeclientname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, storeclientpublisher: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1608     #[cfg(not(feature = "Foundation"))] usize,
1609     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1610     #[cfg(not(feature = "Foundation"))] usize,
1611 );
1612 #[repr(transparent)]
1613 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1614 #[doc(hidden)]
1615 pub struct IAppInstallManager2(::windows::runtime::IInspectable);
1616 unsafe impl ::windows::runtime::Interface for IAppInstallManager2 {
1617     type Vtable = IAppInstallManager2_abi;
1618     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(378763345, 60727, 18445, [131, 20, 82, 226, 124, 3, 240, 74]);
1619 }
1620 #[repr(C)]
1621 #[doc(hidden)]
1622 pub struct IAppInstallManager2_abi(
1623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1629     #[cfg(feature = "Foundation")]
1630     pub  unsafe extern "system" fn(
1631         this: ::windows::runtime::RawPtr,
1632         productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1633         skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1634         repair: bool,
1635         forceuseofnonremovablestorage: bool,
1636         catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1637         bundleid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1638         correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1639         result__: *mut ::windows::runtime::RawPtr,
1640     ) -> ::windows::runtime::HRESULT,
1641     #[cfg(not(feature = "Foundation"))] usize,
1642     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1643     #[cfg(not(feature = "Foundation"))] usize,
1644     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1645     #[cfg(not(feature = "Foundation"))] usize,
1646     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1647     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1648     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1649     #[cfg(not(feature = "Foundation"))] usize,
1650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1653 );
1654 #[repr(transparent)]
1655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1656 #[doc(hidden)]
1657 pub struct IAppInstallManager3(::windows::runtime::IInspectable);
1658 unsafe impl ::windows::runtime::Interface for IAppInstallManager3 {
1659     type Vtable = IAppInstallManager3_abi;
1660     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2511489815, 59754, 19726, [132, 225, 200, 203, 65, 122, 1, 120]);
1661 }
1662 #[repr(C)]
1663 #[doc(hidden)]
1664 pub struct IAppInstallManager3_abi(
1665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1671     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Management_Deployment"))]
1672     pub  unsafe extern "system" fn(
1673         this: ::windows::runtime::RawPtr,
1674         productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1675         catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1676         flightid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1677         clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1678         repair: bool,
1679         forceuseofnonremovablestorage: bool,
1680         correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1681         targetvolume: ::windows::runtime::RawPtr,
1682         result__: *mut ::windows::runtime::RawPtr,
1683     ) -> ::windows::runtime::HRESULT,
1684     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Management_Deployment")))] usize,
1685     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Management_Deployment", feature = "System"))]
1686     pub  unsafe extern "system" fn(
1687         this: ::windows::runtime::RawPtr,
1688         user: ::windows::runtime::RawPtr,
1689         productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1690         catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1691         flightid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1692         clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1693         repair: bool,
1694         forceuseofnonremovablestorage: bool,
1695         correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>,
1696         targetvolume: ::windows::runtime::RawPtr,
1697         result__: *mut ::windows::runtime::RawPtr,
1698     ) -> ::windows::runtime::HRESULT,
1699     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Management_Deployment", feature = "System")))] usize,
1700     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, packagefamilyname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1701     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1702     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1703     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1704     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1705     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System")))] usize,
1706     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, catalogid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1707     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1708     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1709     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1710     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1711 );
1712 #[repr(transparent)]
1713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1714 #[doc(hidden)]
1715 pub struct IAppInstallManager4(::windows::runtime::IInspectable);
1716 unsafe impl ::windows::runtime::Interface for IAppInstallManager4 {
1717     type Vtable = IAppInstallManager4_abi;
1718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(638200342, 23198, 20157, [185, 68, 242, 186, 117, 195, 17, 89]);
1719 }
1720 #[repr(C)]
1721 #[doc(hidden)]
1722 pub struct IAppInstallManager4_abi(
1723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1729     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storeid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, campaignid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1730     #[cfg(not(feature = "Foundation"))] usize,
1731     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, storeid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, campaignid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1732     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1733     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, storeid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, campaignid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1734     #[cfg(not(feature = "Foundation"))] usize,
1735 );
1736 #[repr(transparent)]
1737 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1738 #[doc(hidden)]
1739 pub struct IAppInstallManager5(::windows::runtime::IInspectable);
1740 unsafe impl ::windows::runtime::Interface for IAppInstallManager5 {
1741     type Vtable = IAppInstallManager5_abi;
1742     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1020771916, 7145, 20351, [182, 117, 170, 29, 100, 165, 41, 178]);
1743 }
1744 #[repr(C)]
1745 #[doc(hidden)]
1746 pub struct IAppInstallManager5_abi(
1747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1753     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1754     #[cfg(not(feature = "Foundation_Collections"))] usize,
1755 );
1756 #[repr(transparent)]
1757 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1758 #[doc(hidden)]
1759 pub struct IAppInstallManager6(::windows::runtime::IInspectable);
1760 unsafe impl ::windows::runtime::Interface for IAppInstallManager6 {
1761     type Vtable = IAppInstallManager6_abi;
1762     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3387413512, 62074, 17521, [178, 244, 231, 110, 252, 190, 188, 202]);
1763 }
1764 #[repr(C)]
1765 #[doc(hidden)]
1766 pub struct IAppInstallManager6_abi(
1767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1773     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, updateoptions: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1774     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1775     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, updateoptions: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1776     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System")))] usize,
1777     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, updateoptions: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1778     #[cfg(not(feature = "Foundation"))] usize,
1779     #[cfg(all(feature = "Foundation", feature = "System"))]
1780     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, skuid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, updateoptions: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1781     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1782     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
1783     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, flightid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, installoptions: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1784     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1785     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System"))]
1786     pub  unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, productid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, flightid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, clientid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, installoptions: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1787     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "System")))] usize,
1788     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, packageidentityname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, publishercertificatename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1789     #[cfg(not(feature = "Foundation"))] usize,
1790     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, correlationvector: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, packageidentityname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, publishercertificatename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1791     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1792 );
1793 #[repr(transparent)]
1794 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1795 #[doc(hidden)]
1796 pub struct IAppInstallManager7(::windows::runtime::IInspectable);
1797 unsafe impl ::windows::runtime::Interface for IAppInstallManager7 {
1798     type Vtable = IAppInstallManager7_abi;
1799     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2783869744, 54756, 18851, [152, 83, 61, 176, 50, 3, 50, 29]);
1800 }
1801 #[repr(C)]
1802 #[doc(hidden)]
1803 pub struct IAppInstallManager7_abi(
1804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1811 );
1812 #[repr(transparent)]
1813 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1814 #[doc(hidden)]
1815 pub struct IAppInstallManagerItemEventArgs(::windows::runtime::IInspectable);
1816 unsafe impl ::windows::runtime::Interface for IAppInstallManagerItemEventArgs {
1817     type Vtable = IAppInstallManagerItemEventArgs_abi;
1818     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3159381827, 18036, 19921, [149, 126, 194, 86, 130, 8, 106, 20]);
1819 }
1820 #[repr(C)]
1821 #[doc(hidden)]
1822 pub struct IAppInstallManagerItemEventArgs_abi(
1823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1830 );
1831 #[repr(transparent)]
1832 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1833 #[doc(hidden)]
1834 pub struct IAppInstallOptions(::windows::runtime::IInspectable);
1835 unsafe impl ::windows::runtime::Interface for IAppInstallOptions {
1836     type Vtable = IAppInstallOptions_abi;
1837     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3380642560, 7352, 20150, [140, 159, 106, 48, 198, 74, 91, 81]);
1838 }
1839 #[repr(C)]
1840 #[doc(hidden)]
1841 pub struct IAppInstallOptions_abi(
1842     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1843     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1844     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1856     #[cfg(feature = "Management_Deployment")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1857     #[cfg(not(feature = "Management_Deployment"))] usize,
1858     #[cfg(feature = "Management_Deployment")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1859     #[cfg(not(feature = "Management_Deployment"))] usize,
1860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1862 );
1863 #[repr(transparent)]
1864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1865 #[doc(hidden)]
1866 pub struct IAppInstallOptions2(::windows::runtime::IInspectable);
1867 unsafe impl ::windows::runtime::Interface for IAppInstallOptions2 {
1868     type Vtable = IAppInstallOptions2_abi;
1869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2315567319, 51531, 16990, [149, 180, 191, 39, 250, 234, 238, 137]);
1870 }
1871 #[repr(C)]
1872 #[doc(hidden)]
1873 pub struct IAppInstallOptions2_abi(
1874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AppInstallationToastNotificationMode) -> ::windows::runtime::HRESULT,
1890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1898 );
1899 #[repr(transparent)]
1900 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1901 #[doc(hidden)]
1902 pub struct IAppInstallStatus(::windows::runtime::IInspectable);
1903 unsafe impl ::windows::runtime::Interface for IAppInstallStatus {
1904     type Vtable = IAppInstallStatus_abi;
1905     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2473446650, 9296, 16678, [136, 177, 97, 39, 166, 68, 221, 92]);
1906 }
1907 #[repr(C)]
1908 #[doc(hidden)]
1909 pub struct IAppInstallStatus_abi(
1910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1913     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1914     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1915     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AppInstallState) -> ::windows::runtime::HRESULT,
1917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
1918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
1919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::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 IAppInstallStatus2(::windows::runtime::IInspectable);
1926 unsafe impl ::windows::runtime::Interface for IAppInstallStatus2 {
1927     type Vtable = IAppInstallStatus2_abi;
1928     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2531754378, 24210, 19113, [142, 220, 88, 254, 212, 184, 126, 0]);
1929 }
1930 #[repr(C)]
1931 #[doc(hidden)]
1932 pub struct IAppInstallStatus2_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     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1940     #[cfg(not(feature = "System"))] usize,
1941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1942 );
1943 #[repr(transparent)]
1944 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1945 #[doc(hidden)]
1946 pub struct IAppInstallStatus3(::windows::runtime::IInspectable);
1947 unsafe impl ::windows::runtime::Interface for IAppInstallStatus3 {
1948     type Vtable = IAppInstallStatus3_abi;
1949     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3414690902, 33659, 19276, [158, 187, 109, 68, 160, 169, 99, 7]);
1950 }
1951 #[repr(C)]
1952 #[doc(hidden)]
1953 pub struct IAppInstallStatus3_abi(
1954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1955     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1961 );
1962 #[repr(transparent)]
1963 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1964 #[doc(hidden)]
1965 pub struct IAppUpdateOptions(::windows::runtime::IInspectable);
1966 unsafe impl ::windows::runtime::Interface for IAppUpdateOptions {
1967     type Vtable = IAppUpdateOptions_abi;
1968     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(653307951, 49907, 19178, [175, 140, 99, 8, 221, 157, 184, 95]);
1969 }
1970 #[repr(C)]
1971 #[doc(hidden)]
1972 pub struct IAppUpdateOptions_abi(
1973     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1974     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1975     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1976     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1977     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1983 );
1984 #[repr(transparent)]
1985 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1986 #[doc(hidden)]
1987 pub struct IAppUpdateOptions2(::windows::runtime::IInspectable);
1988 unsafe impl ::windows::runtime::Interface for IAppUpdateOptions2 {
1989     type Vtable = IAppUpdateOptions2_abi;
1990     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4100222472, 60710, 19449, [150, 121, 72, 246, 40, 229, 61, 248]);
1991 }
1992 #[repr(C)]
1993 #[doc(hidden)]
1994 pub struct IAppUpdateOptions2_abi(
1995     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1996     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1997     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1998     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
2003 );
2004 #[repr(transparent)]
2005 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2006 #[doc(hidden)]
2007 pub struct IGetEntitlementResult(::windows::runtime::IInspectable);
2008 unsafe impl ::windows::runtime::Interface for IGetEntitlementResult {
2009     type Vtable = IGetEntitlementResult_abi;
2010     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1962705983, 6814, 17929, [142, 77, 129, 144, 134, 208, 138, 61]);
2011 }
2012 #[repr(C)]
2013 #[doc(hidden)]
2014 pub struct IGetEntitlementResult_abi(
2015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2016     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2017     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2018     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut GetEntitlementStatus) -> ::windows::runtime::HRESULT,
2022 );
2023