1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "System_Profile_SystemManufacturers")]
3 pub mod SystemManufacturers;
4 pub struct AnalyticsInfo {}
5 impl AnalyticsInfo {
VersionInfo() -> ::windows::runtime::Result<AnalyticsVersionInfo>6     pub fn VersionInfo() -> ::windows::runtime::Result<AnalyticsVersionInfo> {
7         Self::IAnalyticsInfoStatics(|this| unsafe {
8             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AnalyticsVersionInfo>(result__)
10         })
11     }
DeviceForm() -> ::windows::runtime::Result<::windows::runtime::HSTRING>12     pub fn DeviceForm() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
13         Self::IAnalyticsInfoStatics(|this| unsafe {
14             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
15             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
16         })
17     }
18     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetSystemPropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(attributenames: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>19     pub fn GetSystemPropertiesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(attributenames: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>> {
20         Self::IAnalyticsInfoStatics2(|this| unsafe {
21             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
22             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), attributenames.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::HSTRING>>>(result__)
23         })
24     }
IAnalyticsInfoStatics<R, F: FnOnce(&IAnalyticsInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>25     pub fn IAnalyticsInfoStatics<R, F: FnOnce(&IAnalyticsInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
26         static mut SHARED: ::windows::runtime::FactoryCache<AnalyticsInfo, IAnalyticsInfoStatics> = ::windows::runtime::FactoryCache::new();
27         unsafe { SHARED.call(callback) }
28     }
IAnalyticsInfoStatics2<R, F: FnOnce(&IAnalyticsInfoStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>29     pub fn IAnalyticsInfoStatics2<R, F: FnOnce(&IAnalyticsInfoStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
30         static mut SHARED: ::windows::runtime::FactoryCache<AnalyticsInfo, IAnalyticsInfoStatics2> = ::windows::runtime::FactoryCache::new();
31         unsafe { SHARED.call(callback) }
32     }
33 }
34 impl ::windows::runtime::RuntimeName for AnalyticsInfo {
35     const NAME: &'static str = "Windows.System.Profile.AnalyticsInfo";
36 }
37 #[repr(transparent)]
38 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
39 pub struct AnalyticsVersionInfo(::windows::runtime::IInspectable);
40 impl AnalyticsVersionInfo {
DeviceFamily(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>41     pub fn DeviceFamily(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
42         let this = self;
43         unsafe {
44             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
45             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
46         }
47     }
DeviceFamilyVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>48     pub fn DeviceFamilyVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
49         let this = self;
50         unsafe {
51             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
52             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
53         }
54     }
ProductName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>55     pub fn ProductName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
56         let this = &::windows::runtime::Interface::cast::<IAnalyticsVersionInfo2>(self)?;
57         unsafe {
58             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
59             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
60         }
61     }
62 }
63 unsafe impl ::windows::runtime::RuntimeType for AnalyticsVersionInfo {
64     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.Profile.AnalyticsVersionInfo;{926130b8-9955-4c74-bdc1-7cd0decf9b03})");
65 }
66 unsafe impl ::windows::runtime::Interface for AnalyticsVersionInfo {
67     type Vtable = IAnalyticsVersionInfo_abi;
68     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2455843000, 39253, 19572, [189, 193, 124, 208, 222, 207, 155, 3]);
69 }
70 impl ::windows::runtime::RuntimeName for AnalyticsVersionInfo {
71     const NAME: &'static str = "Windows.System.Profile.AnalyticsVersionInfo";
72 }
73 impl ::std::convert::From<AnalyticsVersionInfo> for ::windows::runtime::IUnknown {
from(value: AnalyticsVersionInfo) -> Self74     fn from(value: AnalyticsVersionInfo) -> Self {
75         unsafe { ::std::mem::transmute(value) }
76     }
77 }
78 impl ::std::convert::From<&AnalyticsVersionInfo> for ::windows::runtime::IUnknown {
from(value: &AnalyticsVersionInfo) -> Self79     fn from(value: &AnalyticsVersionInfo) -> Self {
80         ::std::convert::From::from(::std::clone::Clone::clone(value))
81     }
82 }
83 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AnalyticsVersionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>84     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
85         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
86     }
87 }
88 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AnalyticsVersionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>89     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
90         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
91     }
92 }
93 impl ::std::convert::From<AnalyticsVersionInfo> for ::windows::runtime::IInspectable {
from(value: AnalyticsVersionInfo) -> Self94     fn from(value: AnalyticsVersionInfo) -> Self {
95         value.0
96     }
97 }
98 impl ::std::convert::From<&AnalyticsVersionInfo> for ::windows::runtime::IInspectable {
from(value: &AnalyticsVersionInfo) -> Self99     fn from(value: &AnalyticsVersionInfo) -> Self {
100         value.0.clone()
101     }
102 }
103 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AnalyticsVersionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>104     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
105         ::windows::runtime::Param::Owned(self.0)
106     }
107 }
108 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AnalyticsVersionInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>109     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
110         ::windows::runtime::Param::Borrowed(&self.0)
111     }
112 }
113 unsafe impl ::std::marker::Send for AnalyticsVersionInfo {}
114 unsafe impl ::std::marker::Sync for AnalyticsVersionInfo {}
115 pub struct AppApplicability {}
116 impl AppApplicability {
117     #[cfg(feature = "Foundation_Collections")]
GetUnsupportedAppRequirements<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(capabilities: Param0) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UnsupportedAppRequirement>>118     pub fn GetUnsupportedAppRequirements<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(capabilities: Param0) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UnsupportedAppRequirement>> {
119         Self::IAppApplicabilityStatics(|this| unsafe {
120             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
121             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), capabilities.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UnsupportedAppRequirement>>(result__)
122         })
123     }
IAppApplicabilityStatics<R, F: FnOnce(&IAppApplicabilityStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>124     pub fn IAppApplicabilityStatics<R, F: FnOnce(&IAppApplicabilityStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
125         static mut SHARED: ::windows::runtime::FactoryCache<AppApplicability, IAppApplicabilityStatics> = ::windows::runtime::FactoryCache::new();
126         unsafe { SHARED.call(callback) }
127     }
128 }
129 impl ::windows::runtime::RuntimeName for AppApplicability {
130     const NAME: &'static str = "Windows.System.Profile.AppApplicability";
131 }
132 pub struct EducationSettings {}
133 impl EducationSettings {
IsEducationEnvironment() -> ::windows::runtime::Result<bool>134     pub fn IsEducationEnvironment() -> ::windows::runtime::Result<bool> {
135         Self::IEducationSettingsStatics(|this| unsafe {
136             let mut result__: bool = ::std::mem::zeroed();
137             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
138         })
139     }
IEducationSettingsStatics<R, F: FnOnce(&IEducationSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>140     pub fn IEducationSettingsStatics<R, F: FnOnce(&IEducationSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
141         static mut SHARED: ::windows::runtime::FactoryCache<EducationSettings, IEducationSettingsStatics> = ::windows::runtime::FactoryCache::new();
142         unsafe { SHARED.call(callback) }
143     }
144 }
145 impl ::windows::runtime::RuntimeName for EducationSettings {
146     const NAME: &'static str = "Windows.System.Profile.EducationSettings";
147 }
148 pub struct HardwareIdentification {}
149 impl HardwareIdentification {
150     #[cfg(feature = "Storage_Streams")]
GetPackageSpecificToken<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(nonce: Param0) -> ::windows::runtime::Result<HardwareToken>151     pub fn GetPackageSpecificToken<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(nonce: Param0) -> ::windows::runtime::Result<HardwareToken> {
152         Self::IHardwareIdentificationStatics(|this| unsafe {
153             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
154             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), nonce.into_param().abi(), &mut result__).from_abi::<HardwareToken>(result__)
155         })
156     }
IHardwareIdentificationStatics<R, F: FnOnce(&IHardwareIdentificationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>157     pub fn IHardwareIdentificationStatics<R, F: FnOnce(&IHardwareIdentificationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
158         static mut SHARED: ::windows::runtime::FactoryCache<HardwareIdentification, IHardwareIdentificationStatics> = ::windows::runtime::FactoryCache::new();
159         unsafe { SHARED.call(callback) }
160     }
161 }
162 impl ::windows::runtime::RuntimeName for HardwareIdentification {
163     const NAME: &'static str = "Windows.System.Profile.HardwareIdentification";
164 }
165 #[repr(transparent)]
166 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
167 pub struct HardwareToken(::windows::runtime::IInspectable);
168 impl HardwareToken {
169     #[cfg(feature = "Storage_Streams")]
Id(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>170     pub fn Id(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
171         let this = self;
172         unsafe {
173             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
174             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
175         }
176     }
177     #[cfg(feature = "Storage_Streams")]
Signature(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>178     pub fn Signature(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
179         let this = self;
180         unsafe {
181             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
182             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
183         }
184     }
185     #[cfg(feature = "Storage_Streams")]
Certificate(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>186     pub fn Certificate(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
187         let this = self;
188         unsafe {
189             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
190             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
191         }
192     }
193 }
194 unsafe impl ::windows::runtime::RuntimeType for HardwareToken {
195     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.Profile.HardwareToken;{28f6d4c0-fb12-40a4-8167-7f4e03d2724c})");
196 }
197 unsafe impl ::windows::runtime::Interface for HardwareToken {
198     type Vtable = IHardwareToken_abi;
199     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(687264960, 64274, 16548, [129, 103, 127, 78, 3, 210, 114, 76]);
200 }
201 impl ::windows::runtime::RuntimeName for HardwareToken {
202     const NAME: &'static str = "Windows.System.Profile.HardwareToken";
203 }
204 impl ::std::convert::From<HardwareToken> for ::windows::runtime::IUnknown {
from(value: HardwareToken) -> Self205     fn from(value: HardwareToken) -> Self {
206         unsafe { ::std::mem::transmute(value) }
207     }
208 }
209 impl ::std::convert::From<&HardwareToken> for ::windows::runtime::IUnknown {
from(value: &HardwareToken) -> Self210     fn from(value: &HardwareToken) -> Self {
211         ::std::convert::From::from(::std::clone::Clone::clone(value))
212     }
213 }
214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HardwareToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
216         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
217     }
218 }
219 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HardwareToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>220     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
221         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
222     }
223 }
224 impl ::std::convert::From<HardwareToken> for ::windows::runtime::IInspectable {
from(value: HardwareToken) -> Self225     fn from(value: HardwareToken) -> Self {
226         value.0
227     }
228 }
229 impl ::std::convert::From<&HardwareToken> for ::windows::runtime::IInspectable {
from(value: &HardwareToken) -> Self230     fn from(value: &HardwareToken) -> Self {
231         value.0.clone()
232     }
233 }
234 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HardwareToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>235     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
236         ::windows::runtime::Param::Owned(self.0)
237     }
238 }
239 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HardwareToken {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>240     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
241         ::windows::runtime::Param::Borrowed(&self.0)
242     }
243 }
244 unsafe impl ::std::marker::Send for HardwareToken {}
245 unsafe impl ::std::marker::Sync for HardwareToken {}
246 #[repr(transparent)]
247 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
248 #[doc(hidden)]
249 pub struct IAnalyticsInfoStatics(::windows::runtime::IInspectable);
250 unsafe impl ::windows::runtime::Interface for IAnalyticsInfoStatics {
251     type Vtable = IAnalyticsInfoStatics_abi;
252     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(492757094, 6285, 23465, [67, 135, 172, 174, 176, 231, 227, 5]);
253 }
254 #[repr(C)]
255 #[doc(hidden)]
256 pub struct IAnalyticsInfoStatics_abi(
257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
265 );
266 #[repr(transparent)]
267 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
268 #[doc(hidden)]
269 pub struct IAnalyticsInfoStatics2(::windows::runtime::IInspectable);
270 unsafe impl ::windows::runtime::Interface for IAnalyticsInfoStatics2 {
271     type Vtable = IAnalyticsInfoStatics2_abi;
272     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(269944042, 43001, 18130, [171, 148, 1, 104, 101, 175, 219, 37]);
273 }
274 #[repr(C)]
275 #[doc(hidden)]
276 pub struct IAnalyticsInfoStatics2_abi(
277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
283     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, attributenames: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
284     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
285 );
286 #[repr(transparent)]
287 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
288 #[doc(hidden)]
289 pub struct IAnalyticsVersionInfo(::windows::runtime::IInspectable);
290 unsafe impl ::windows::runtime::Interface for IAnalyticsVersionInfo {
291     type Vtable = IAnalyticsVersionInfo_abi;
292     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2455843000, 39253, 19572, [189, 193, 124, 208, 222, 207, 155, 3]);
293 }
294 #[repr(C)]
295 #[doc(hidden)]
296 pub struct IAnalyticsVersionInfo_abi(
297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
305 );
306 #[repr(transparent)]
307 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
308 #[doc(hidden)]
309 pub struct IAnalyticsVersionInfo2(::windows::runtime::IInspectable);
310 unsafe impl ::windows::runtime::Interface for IAnalyticsVersionInfo2 {
311     type Vtable = IAnalyticsVersionInfo2_abi;
312     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1994986929, 65334, 16508, [159, 87, 22, 13, 62, 84, 7, 71]);
313 }
314 #[repr(C)]
315 #[doc(hidden)]
316 pub struct IAnalyticsVersionInfo2_abi(
317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
324 );
325 #[repr(transparent)]
326 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
327 #[doc(hidden)]
328 pub struct IAppApplicabilityStatics(::windows::runtime::IInspectable);
329 unsafe impl ::windows::runtime::Interface for IAppApplicabilityStatics {
330     type Vtable = IAppApplicabilityStatics_abi;
331     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(375693442, 3896, 23705, [131, 228, 72, 153, 89, 112, 134, 28]);
332 }
333 #[repr(C)]
334 #[doc(hidden)]
335 pub struct IAppApplicabilityStatics_abi(
336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
340     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
342     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, capabilities: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
343     #[cfg(not(feature = "Foundation_Collections"))] usize,
344 );
345 #[repr(transparent)]
346 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
347 #[doc(hidden)]
348 pub struct IEducationSettingsStatics(::windows::runtime::IInspectable);
349 unsafe impl ::windows::runtime::Interface for IEducationSettingsStatics {
350     type Vtable = IEducationSettingsStatics_abi;
351     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4233359599, 19774, 19987, [155, 35, 80, 95, 77, 9, 30, 146]);
352 }
353 #[repr(C)]
354 #[doc(hidden)]
355 pub struct IEducationSettingsStatics_abi(
356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
363 );
364 #[repr(transparent)]
365 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
366 #[doc(hidden)]
367 pub struct IHardwareIdentificationStatics(::windows::runtime::IInspectable);
368 unsafe impl ::windows::runtime::Interface for IHardwareIdentificationStatics {
369     type Vtable = IHardwareIdentificationStatics_abi;
370     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2534564064, 61808, 19010, [189, 85, 169, 0, 178, 18, 218, 226]);
371 }
372 #[repr(C)]
373 #[doc(hidden)]
374 pub struct IHardwareIdentificationStatics_abi(
375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
381     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, nonce: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
382     #[cfg(not(feature = "Storage_Streams"))] usize,
383 );
384 #[repr(transparent)]
385 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
386 #[doc(hidden)]
387 pub struct IHardwareToken(::windows::runtime::IInspectable);
388 unsafe impl ::windows::runtime::Interface for IHardwareToken {
389     type Vtable = IHardwareToken_abi;
390     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(687264960, 64274, 16548, [129, 103, 127, 78, 3, 210, 114, 76]);
391 }
392 #[repr(C)]
393 #[doc(hidden)]
394 pub struct IHardwareToken_abi(
395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
401     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
402     #[cfg(not(feature = "Storage_Streams"))] usize,
403     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
404     #[cfg(not(feature = "Storage_Streams"))] usize,
405     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
406     #[cfg(not(feature = "Storage_Streams"))] usize,
407 );
408 #[repr(transparent)]
409 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
410 #[doc(hidden)]
411 pub struct IKnownRetailInfoPropertiesStatics(::windows::runtime::IInspectable);
412 unsafe impl ::windows::runtime::Interface for IKnownRetailInfoPropertiesStatics {
413     type Vtable = IKnownRetailInfoPropertiesStatics_abi;
414     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2572620152, 20495, 18558, [142, 117, 41, 229, 81, 114, 135, 18]);
415 }
416 #[repr(C)]
417 #[doc(hidden)]
418 pub struct IKnownRetailInfoPropertiesStatics_abi(
419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
447 );
448 #[repr(transparent)]
449 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
450 #[doc(hidden)]
451 pub struct IPlatformDiagnosticsAndUsageDataSettingsStatics(::windows::runtime::IInspectable);
452 unsafe impl ::windows::runtime::Interface for IPlatformDiagnosticsAndUsageDataSettingsStatics {
453     type Vtable = IPlatformDiagnosticsAndUsageDataSettingsStatics_abi;
454     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3068283931, 31516, 19250, [140, 98, 166, 101, 151, 206, 114, 58]);
455 }
456 #[repr(C)]
457 #[doc(hidden)]
458 pub struct IPlatformDiagnosticsAndUsageDataSettingsStatics_abi(
459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut PlatformDataCollectionLevel) -> ::windows::runtime::HRESULT,
466     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
467     #[cfg(not(feature = "Foundation"))] usize,
468     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
469     #[cfg(not(feature = "Foundation"))] usize,
470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, level: PlatformDataCollectionLevel, result__: *mut bool) -> ::windows::runtime::HRESULT,
471 );
472 #[repr(transparent)]
473 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
474 #[doc(hidden)]
475 pub struct IRetailInfoStatics(::windows::runtime::IInspectable);
476 unsafe impl ::windows::runtime::Interface for IRetailInfoStatics {
477     type Vtable = IRetailInfoStatics_abi;
478     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(118671032, 35730, 20266, [132, 153, 3, 31, 23, 152, 214, 239]);
479 }
480 #[repr(C)]
481 #[doc(hidden)]
482 pub struct IRetailInfoStatics_abi(
483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
490     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
491     #[cfg(not(feature = "Foundation_Collections"))] usize,
492 );
493 #[repr(transparent)]
494 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
495 #[doc(hidden)]
496 pub struct ISharedModeSettingsStatics(::windows::runtime::IInspectable);
497 unsafe impl ::windows::runtime::Interface for ISharedModeSettingsStatics {
498     type Vtable = ISharedModeSettingsStatics_abi;
499     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2302538766, 51926, 19792, [140, 73, 111, 207, 192, 62, 219, 41]);
500 }
501 #[repr(C)]
502 #[doc(hidden)]
503 pub struct ISharedModeSettingsStatics_abi(
504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
511 );
512 #[repr(transparent)]
513 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
514 #[doc(hidden)]
515 pub struct ISharedModeSettingsStatics2(::windows::runtime::IInspectable);
516 unsafe impl ::windows::runtime::Interface for ISharedModeSettingsStatics2 {
517     type Vtable = ISharedModeSettingsStatics2_abi;
518     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1619626148, 52465, 20200, [165, 226, 253, 106, 29, 12, 250, 200]);
519 }
520 #[repr(C)]
521 #[doc(hidden)]
522 pub struct ISharedModeSettingsStatics2_abi(
523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
530 );
531 #[repr(transparent)]
532 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
533 #[doc(hidden)]
534 pub struct ISystemIdentificationInfo(::windows::runtime::IInspectable);
535 unsafe impl ::windows::runtime::Interface for ISystemIdentificationInfo {
536     type Vtable = ISystemIdentificationInfo_abi;
537     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(207986301, 50114, 19763, [162, 223, 33, 188, 65, 145, 110, 179]);
538 }
539 #[repr(C)]
540 #[doc(hidden)]
541 pub struct ISystemIdentificationInfo_abi(
542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
548     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
549     #[cfg(not(feature = "Storage_Streams"))] usize,
550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SystemIdentificationSource) -> ::windows::runtime::HRESULT,
551 );
552 #[repr(transparent)]
553 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
554 #[doc(hidden)]
555 pub struct ISystemIdentificationStatics(::windows::runtime::IInspectable);
556 unsafe impl ::windows::runtime::Interface for ISystemIdentificationStatics {
557     type Vtable = ISystemIdentificationStatics_abi;
558     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1434580010, 54239, 19859, [163, 125, 196, 26, 97, 108, 109, 1]);
559 }
560 #[repr(C)]
561 #[doc(hidden)]
562 pub struct ISystemIdentificationStatics_abi(
563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
571 );
572 #[repr(transparent)]
573 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
574 #[doc(hidden)]
575 pub struct ISystemSetupInfoStatics(::windows::runtime::IInspectable);
576 unsafe impl ::windows::runtime::Interface for ISystemSetupInfoStatics {
577     type Vtable = ISystemSetupInfoStatics_abi;
578     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(748036264, 7560, 24109, [163, 36, 165, 67, 175, 66, 71, 238]);
579 }
580 #[repr(C)]
581 #[doc(hidden)]
582 pub struct ISystemSetupInfoStatics_abi(
583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SystemOutOfBoxExperienceState) -> ::windows::runtime::HRESULT,
590     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
591     #[cfg(not(feature = "Foundation"))] usize,
592     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
593     #[cfg(not(feature = "Foundation"))] usize,
594 );
595 #[repr(transparent)]
596 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
597 #[doc(hidden)]
598 pub struct IUnsupportedAppRequirement(::windows::runtime::IInspectable);
599 unsafe impl ::windows::runtime::Interface for IUnsupportedAppRequirement {
600     type Vtable = IUnsupportedAppRequirement_abi;
601     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1635927132, 35147, 23740, [137, 118, 169, 142, 10, 155, 153, 141]);
602 }
603 #[repr(C)]
604 #[doc(hidden)]
605 pub struct IUnsupportedAppRequirement_abi(
606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UnsupportedAppRequirementReasons) -> ::windows::runtime::HRESULT,
614 );
615 #[repr(transparent)]
616 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
617 #[doc(hidden)]
618 pub struct IWindowsIntegrityPolicyStatics(::windows::runtime::IInspectable);
619 unsafe impl ::windows::runtime::Interface for IWindowsIntegrityPolicyStatics {
620     type Vtable = IWindowsIntegrityPolicyStatics_abi;
621     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2099085787, 36195, 18313, [158, 165, 221, 207, 101, 169, 79, 60]);
622 }
623 #[repr(C)]
624 #[doc(hidden)]
625 pub struct IWindowsIntegrityPolicyStatics_abi(
626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
636     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
637     #[cfg(not(feature = "Foundation"))] usize,
638     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
639     #[cfg(not(feature = "Foundation"))] usize,
640 );
641 pub struct KnownRetailInfoProperties {}
642 impl KnownRetailInfoProperties {
RetailAccessCode() -> ::windows::runtime::Result<::windows::runtime::HSTRING>643     pub fn RetailAccessCode() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
644         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
645             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
646             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
647         })
648     }
ManufacturerName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>649     pub fn ManufacturerName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
650         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
651             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
652             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
653         })
654     }
ModelName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>655     pub fn ModelName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
656         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
657             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
658             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
659         })
660     }
DisplayModelName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>661     pub fn DisplayModelName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
662         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
663             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
664             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
665         })
666     }
Price() -> ::windows::runtime::Result<::windows::runtime::HSTRING>667     pub fn Price() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
668         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
669             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
670             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
671         })
672     }
IsFeatured() -> ::windows::runtime::Result<::windows::runtime::HSTRING>673     pub fn IsFeatured() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
674         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
675             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
676             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
677         })
678     }
FormFactor() -> ::windows::runtime::Result<::windows::runtime::HSTRING>679     pub fn FormFactor() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
680         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
681             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
682             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
683         })
684     }
ScreenSize() -> ::windows::runtime::Result<::windows::runtime::HSTRING>685     pub fn ScreenSize() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
686         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
687             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
688             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
689         })
690     }
Weight() -> ::windows::runtime::Result<::windows::runtime::HSTRING>691     pub fn Weight() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
692         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
693             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
694             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
695         })
696     }
DisplayDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>697     pub fn DisplayDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
698         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
699             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
700             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
701         })
702     }
BatteryLifeDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>703     pub fn BatteryLifeDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
704         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
705             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
706             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
707         })
708     }
ProcessorDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>709     pub fn ProcessorDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
710         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
711             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
712             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
713         })
714     }
Memory() -> ::windows::runtime::Result<::windows::runtime::HSTRING>715     pub fn Memory() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
716         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
717             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
718             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
719         })
720     }
StorageDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>721     pub fn StorageDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
722         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
723             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
724             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
725         })
726     }
GraphicsDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>727     pub fn GraphicsDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
728         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
729             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
730             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
731         })
732     }
FrontCameraDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>733     pub fn FrontCameraDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
734         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
735             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
736             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
737         })
738     }
RearCameraDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING>739     pub fn RearCameraDescription() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
740         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
741             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
742             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
743         })
744     }
HasNfc() -> ::windows::runtime::Result<::windows::runtime::HSTRING>745     pub fn HasNfc() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
746         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
747             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
748             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
749         })
750     }
HasSdSlot() -> ::windows::runtime::Result<::windows::runtime::HSTRING>751     pub fn HasSdSlot() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
752         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
753             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
754             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
755         })
756     }
HasOpticalDrive() -> ::windows::runtime::Result<::windows::runtime::HSTRING>757     pub fn HasOpticalDrive() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
758         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
759             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
760             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
761         })
762     }
IsOfficeInstalled() -> ::windows::runtime::Result<::windows::runtime::HSTRING>763     pub fn IsOfficeInstalled() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
764         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
765             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
766             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
767         })
768     }
WindowsEdition() -> ::windows::runtime::Result<::windows::runtime::HSTRING>769     pub fn WindowsEdition() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
770         Self::IKnownRetailInfoPropertiesStatics(|this| unsafe {
771             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
772             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
773         })
774     }
IKnownRetailInfoPropertiesStatics<R, F: FnOnce(&IKnownRetailInfoPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>775     pub fn IKnownRetailInfoPropertiesStatics<R, F: FnOnce(&IKnownRetailInfoPropertiesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
776         static mut SHARED: ::windows::runtime::FactoryCache<KnownRetailInfoProperties, IKnownRetailInfoPropertiesStatics> = ::windows::runtime::FactoryCache::new();
777         unsafe { SHARED.call(callback) }
778     }
779 }
780 impl ::windows::runtime::RuntimeName for KnownRetailInfoProperties {
781     const NAME: &'static str = "Windows.System.Profile.KnownRetailInfoProperties";
782 }
783 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
784 #[repr(transparent)]
785 pub struct PlatformDataCollectionLevel(pub i32);
786 impl PlatformDataCollectionLevel {
787     pub const Security: PlatformDataCollectionLevel = PlatformDataCollectionLevel(0i32);
788     pub const Basic: PlatformDataCollectionLevel = PlatformDataCollectionLevel(1i32);
789     pub const Enhanced: PlatformDataCollectionLevel = PlatformDataCollectionLevel(2i32);
790     pub const Full: PlatformDataCollectionLevel = PlatformDataCollectionLevel(3i32);
791 }
792 impl ::std::convert::From<i32> for PlatformDataCollectionLevel {
from(value: i32) -> Self793     fn from(value: i32) -> Self {
794         Self(value)
795     }
796 }
797 unsafe impl ::windows::runtime::Abi for PlatformDataCollectionLevel {
798     type Abi = Self;
799     type DefaultType = Self;
800 }
801 unsafe impl ::windows::runtime::RuntimeType for PlatformDataCollectionLevel {
802     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.Profile.PlatformDataCollectionLevel;i4)");
803 }
804 pub struct PlatformDiagnosticsAndUsageDataSettings {}
805 impl PlatformDiagnosticsAndUsageDataSettings {
CollectionLevel() -> ::windows::runtime::Result<PlatformDataCollectionLevel>806     pub fn CollectionLevel() -> ::windows::runtime::Result<PlatformDataCollectionLevel> {
807         Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe {
808             let mut result__: PlatformDataCollectionLevel = ::std::mem::zeroed();
809             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PlatformDataCollectionLevel>(result__)
810         })
811     }
812     #[cfg(feature = "Foundation")]
CollectionLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>813     pub fn CollectionLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
814         Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe {
815             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
816             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
817         })
818     }
819     #[cfg(feature = "Foundation")]
RemoveCollectionLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>820     pub fn RemoveCollectionLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
821         Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
822     }
CanCollectDiagnostics(level: PlatformDataCollectionLevel) -> ::windows::runtime::Result<bool>823     pub fn CanCollectDiagnostics(level: PlatformDataCollectionLevel) -> ::windows::runtime::Result<bool> {
824         Self::IPlatformDiagnosticsAndUsageDataSettingsStatics(|this| unsafe {
825             let mut result__: bool = ::std::mem::zeroed();
826             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), level, &mut result__).from_abi::<bool>(result__)
827         })
828     }
IPlatformDiagnosticsAndUsageDataSettingsStatics<R, F: FnOnce(&IPlatformDiagnosticsAndUsageDataSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>829     pub fn IPlatformDiagnosticsAndUsageDataSettingsStatics<R, F: FnOnce(&IPlatformDiagnosticsAndUsageDataSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
830         static mut SHARED: ::windows::runtime::FactoryCache<PlatformDiagnosticsAndUsageDataSettings, IPlatformDiagnosticsAndUsageDataSettingsStatics> = ::windows::runtime::FactoryCache::new();
831         unsafe { SHARED.call(callback) }
832     }
833 }
834 impl ::windows::runtime::RuntimeName for PlatformDiagnosticsAndUsageDataSettings {
835     const NAME: &'static str = "Windows.System.Profile.PlatformDiagnosticsAndUsageDataSettings";
836 }
837 #[repr(C)]
838 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
839 pub struct ProfileHardwareTokenContract(pub u8);
840 #[repr(C)]
841 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
842 pub struct ProfileRetailInfoContract(pub u8);
843 #[repr(C)]
844 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
845 pub struct ProfileSharedModeContract(pub u8);
846 pub struct RetailInfo {}
847 impl RetailInfo {
IsDemoModeEnabled() -> ::windows::runtime::Result<bool>848     pub fn IsDemoModeEnabled() -> ::windows::runtime::Result<bool> {
849         Self::IRetailInfoStatics(|this| unsafe {
850             let mut result__: bool = ::std::mem::zeroed();
851             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
852         })
853     }
854     #[cfg(feature = "Foundation_Collections")]
Properties() -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>855     pub fn Properties() -> ::windows::runtime::Result<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
856         Self::IRetailInfoStatics(|this| unsafe {
857             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
858             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(result__)
859         })
860     }
IRetailInfoStatics<R, F: FnOnce(&IRetailInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>861     pub fn IRetailInfoStatics<R, F: FnOnce(&IRetailInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
862         static mut SHARED: ::windows::runtime::FactoryCache<RetailInfo, IRetailInfoStatics> = ::windows::runtime::FactoryCache::new();
863         unsafe { SHARED.call(callback) }
864     }
865 }
866 impl ::windows::runtime::RuntimeName for RetailInfo {
867     const NAME: &'static str = "Windows.System.Profile.RetailInfo";
868 }
869 pub struct SharedModeSettings {}
870 impl SharedModeSettings {
IsEnabled() -> ::windows::runtime::Result<bool>871     pub fn IsEnabled() -> ::windows::runtime::Result<bool> {
872         Self::ISharedModeSettingsStatics(|this| unsafe {
873             let mut result__: bool = ::std::mem::zeroed();
874             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
875         })
876     }
ShouldAvoidLocalStorage() -> ::windows::runtime::Result<bool>877     pub fn ShouldAvoidLocalStorage() -> ::windows::runtime::Result<bool> {
878         Self::ISharedModeSettingsStatics2(|this| unsafe {
879             let mut result__: bool = ::std::mem::zeroed();
880             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
881         })
882     }
ISharedModeSettingsStatics<R, F: FnOnce(&ISharedModeSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>883     pub fn ISharedModeSettingsStatics<R, F: FnOnce(&ISharedModeSettingsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
884         static mut SHARED: ::windows::runtime::FactoryCache<SharedModeSettings, ISharedModeSettingsStatics> = ::windows::runtime::FactoryCache::new();
885         unsafe { SHARED.call(callback) }
886     }
ISharedModeSettingsStatics2<R, F: FnOnce(&ISharedModeSettingsStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>887     pub fn ISharedModeSettingsStatics2<R, F: FnOnce(&ISharedModeSettingsStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
888         static mut SHARED: ::windows::runtime::FactoryCache<SharedModeSettings, ISharedModeSettingsStatics2> = ::windows::runtime::FactoryCache::new();
889         unsafe { SHARED.call(callback) }
890     }
891 }
892 impl ::windows::runtime::RuntimeName for SharedModeSettings {
893     const NAME: &'static str = "Windows.System.Profile.SharedModeSettings";
894 }
895 pub struct SystemIdentification {}
896 impl SystemIdentification {
GetSystemIdForPublisher() -> ::windows::runtime::Result<SystemIdentificationInfo>897     pub fn GetSystemIdForPublisher() -> ::windows::runtime::Result<SystemIdentificationInfo> {
898         Self::ISystemIdentificationStatics(|this| unsafe {
899             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
900             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemIdentificationInfo>(result__)
901         })
902     }
GetSystemIdForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>>(user: Param0) -> ::windows::runtime::Result<SystemIdentificationInfo>903     pub fn GetSystemIdForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::User>>(user: Param0) -> ::windows::runtime::Result<SystemIdentificationInfo> {
904         Self::ISystemIdentificationStatics(|this| unsafe {
905             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
906             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<SystemIdentificationInfo>(result__)
907         })
908     }
ISystemIdentificationStatics<R, F: FnOnce(&ISystemIdentificationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>909     pub fn ISystemIdentificationStatics<R, F: FnOnce(&ISystemIdentificationStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
910         static mut SHARED: ::windows::runtime::FactoryCache<SystemIdentification, ISystemIdentificationStatics> = ::windows::runtime::FactoryCache::new();
911         unsafe { SHARED.call(callback) }
912     }
913 }
914 impl ::windows::runtime::RuntimeName for SystemIdentification {
915     const NAME: &'static str = "Windows.System.Profile.SystemIdentification";
916 }
917 #[repr(transparent)]
918 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
919 pub struct SystemIdentificationInfo(::windows::runtime::IInspectable);
920 impl SystemIdentificationInfo {
921     #[cfg(feature = "Storage_Streams")]
Id(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>922     pub fn Id(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
923         let this = self;
924         unsafe {
925             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
926             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
927         }
928     }
Source(&self) -> ::windows::runtime::Result<SystemIdentificationSource>929     pub fn Source(&self) -> ::windows::runtime::Result<SystemIdentificationSource> {
930         let this = self;
931         unsafe {
932             let mut result__: SystemIdentificationSource = ::std::mem::zeroed();
933             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemIdentificationSource>(result__)
934         }
935     }
936 }
937 unsafe impl ::windows::runtime::RuntimeType for SystemIdentificationInfo {
938     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.Profile.SystemIdentificationInfo;{0c659e7d-c3c2-4d33-a2df-21bc41916eb3})");
939 }
940 unsafe impl ::windows::runtime::Interface for SystemIdentificationInfo {
941     type Vtable = ISystemIdentificationInfo_abi;
942     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(207986301, 50114, 19763, [162, 223, 33, 188, 65, 145, 110, 179]);
943 }
944 impl ::windows::runtime::RuntimeName for SystemIdentificationInfo {
945     const NAME: &'static str = "Windows.System.Profile.SystemIdentificationInfo";
946 }
947 impl ::std::convert::From<SystemIdentificationInfo> for ::windows::runtime::IUnknown {
from(value: SystemIdentificationInfo) -> Self948     fn from(value: SystemIdentificationInfo) -> Self {
949         unsafe { ::std::mem::transmute(value) }
950     }
951 }
952 impl ::std::convert::From<&SystemIdentificationInfo> for ::windows::runtime::IUnknown {
from(value: &SystemIdentificationInfo) -> Self953     fn from(value: &SystemIdentificationInfo) -> Self {
954         ::std::convert::From::from(::std::clone::Clone::clone(value))
955     }
956 }
957 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemIdentificationInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>958     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
959         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
960     }
961 }
962 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemIdentificationInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>963     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
964         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
965     }
966 }
967 impl ::std::convert::From<SystemIdentificationInfo> for ::windows::runtime::IInspectable {
from(value: SystemIdentificationInfo) -> Self968     fn from(value: SystemIdentificationInfo) -> Self {
969         value.0
970     }
971 }
972 impl ::std::convert::From<&SystemIdentificationInfo> for ::windows::runtime::IInspectable {
from(value: &SystemIdentificationInfo) -> Self973     fn from(value: &SystemIdentificationInfo) -> Self {
974         value.0.clone()
975     }
976 }
977 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemIdentificationInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>978     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
979         ::windows::runtime::Param::Owned(self.0)
980     }
981 }
982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemIdentificationInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
984         ::windows::runtime::Param::Borrowed(&self.0)
985     }
986 }
987 unsafe impl ::std::marker::Send for SystemIdentificationInfo {}
988 unsafe impl ::std::marker::Sync for SystemIdentificationInfo {}
989 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
990 #[repr(transparent)]
991 pub struct SystemIdentificationSource(pub i32);
992 impl SystemIdentificationSource {
993     pub const None: SystemIdentificationSource = SystemIdentificationSource(0i32);
994     pub const Tpm: SystemIdentificationSource = SystemIdentificationSource(1i32);
995     pub const Uefi: SystemIdentificationSource = SystemIdentificationSource(2i32);
996     pub const Registry: SystemIdentificationSource = SystemIdentificationSource(3i32);
997 }
998 impl ::std::convert::From<i32> for SystemIdentificationSource {
from(value: i32) -> Self999     fn from(value: i32) -> Self {
1000         Self(value)
1001     }
1002 }
1003 unsafe impl ::windows::runtime::Abi for SystemIdentificationSource {
1004     type Abi = Self;
1005     type DefaultType = Self;
1006 }
1007 unsafe impl ::windows::runtime::RuntimeType for SystemIdentificationSource {
1008     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.Profile.SystemIdentificationSource;i4)");
1009 }
1010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1011 #[repr(transparent)]
1012 pub struct SystemOutOfBoxExperienceState(pub i32);
1013 impl SystemOutOfBoxExperienceState {
1014     pub const NotStarted: SystemOutOfBoxExperienceState = SystemOutOfBoxExperienceState(0i32);
1015     pub const InProgress: SystemOutOfBoxExperienceState = SystemOutOfBoxExperienceState(1i32);
1016     pub const Completed: SystemOutOfBoxExperienceState = SystemOutOfBoxExperienceState(2i32);
1017 }
1018 impl ::std::convert::From<i32> for SystemOutOfBoxExperienceState {
from(value: i32) -> Self1019     fn from(value: i32) -> Self {
1020         Self(value)
1021     }
1022 }
1023 unsafe impl ::windows::runtime::Abi for SystemOutOfBoxExperienceState {
1024     type Abi = Self;
1025     type DefaultType = Self;
1026 }
1027 unsafe impl ::windows::runtime::RuntimeType for SystemOutOfBoxExperienceState {
1028     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.Profile.SystemOutOfBoxExperienceState;i4)");
1029 }
1030 pub struct SystemSetupInfo {}
1031 impl SystemSetupInfo {
OutOfBoxExperienceState() -> ::windows::runtime::Result<SystemOutOfBoxExperienceState>1032     pub fn OutOfBoxExperienceState() -> ::windows::runtime::Result<SystemOutOfBoxExperienceState> {
1033         Self::ISystemSetupInfoStatics(|this| unsafe {
1034             let mut result__: SystemOutOfBoxExperienceState = ::std::mem::zeroed();
1035             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemOutOfBoxExperienceState>(result__)
1036         })
1037     }
1038     #[cfg(feature = "Foundation")]
OutOfBoxExperienceStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1039     pub fn OutOfBoxExperienceStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1040         Self::ISystemSetupInfoStatics(|this| unsafe {
1041             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1042             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1043         })
1044     }
1045     #[cfg(feature = "Foundation")]
RemoveOutOfBoxExperienceStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>1046     pub fn RemoveOutOfBoxExperienceStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
1047         Self::ISystemSetupInfoStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
1048     }
ISystemSetupInfoStatics<R, F: FnOnce(&ISystemSetupInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1049     pub fn ISystemSetupInfoStatics<R, F: FnOnce(&ISystemSetupInfoStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1050         static mut SHARED: ::windows::runtime::FactoryCache<SystemSetupInfo, ISystemSetupInfoStatics> = ::windows::runtime::FactoryCache::new();
1051         unsafe { SHARED.call(callback) }
1052     }
1053 }
1054 impl ::windows::runtime::RuntimeName for SystemSetupInfo {
1055     const NAME: &'static str = "Windows.System.Profile.SystemSetupInfo";
1056 }
1057 #[repr(transparent)]
1058 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1059 pub struct UnsupportedAppRequirement(::windows::runtime::IInspectable);
1060 impl UnsupportedAppRequirement {
Requirement(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1061     pub fn Requirement(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1062         let this = self;
1063         unsafe {
1064             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1065             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1066         }
1067     }
Reasons(&self) -> ::windows::runtime::Result<UnsupportedAppRequirementReasons>1068     pub fn Reasons(&self) -> ::windows::runtime::Result<UnsupportedAppRequirementReasons> {
1069         let this = self;
1070         unsafe {
1071             let mut result__: UnsupportedAppRequirementReasons = ::std::mem::zeroed();
1072             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UnsupportedAppRequirementReasons>(result__)
1073         }
1074     }
1075 }
1076 unsafe impl ::windows::runtime::RuntimeType for UnsupportedAppRequirement {
1077     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.System.Profile.UnsupportedAppRequirement;{6182445c-894b-5cbc-8976-a98e0a9b998d})");
1078 }
1079 unsafe impl ::windows::runtime::Interface for UnsupportedAppRequirement {
1080     type Vtable = IUnsupportedAppRequirement_abi;
1081     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1635927132, 35147, 23740, [137, 118, 169, 142, 10, 155, 153, 141]);
1082 }
1083 impl ::windows::runtime::RuntimeName for UnsupportedAppRequirement {
1084     const NAME: &'static str = "Windows.System.Profile.UnsupportedAppRequirement";
1085 }
1086 impl ::std::convert::From<UnsupportedAppRequirement> for ::windows::runtime::IUnknown {
from(value: UnsupportedAppRequirement) -> Self1087     fn from(value: UnsupportedAppRequirement) -> Self {
1088         unsafe { ::std::mem::transmute(value) }
1089     }
1090 }
1091 impl ::std::convert::From<&UnsupportedAppRequirement> for ::windows::runtime::IUnknown {
from(value: &UnsupportedAppRequirement) -> Self1092     fn from(value: &UnsupportedAppRequirement) -> Self {
1093         ::std::convert::From::from(::std::clone::Clone::clone(value))
1094     }
1095 }
1096 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UnsupportedAppRequirement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1097     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1098         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1099     }
1100 }
1101 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UnsupportedAppRequirement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1102     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1103         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1104     }
1105 }
1106 impl ::std::convert::From<UnsupportedAppRequirement> for ::windows::runtime::IInspectable {
from(value: UnsupportedAppRequirement) -> Self1107     fn from(value: UnsupportedAppRequirement) -> Self {
1108         value.0
1109     }
1110 }
1111 impl ::std::convert::From<&UnsupportedAppRequirement> for ::windows::runtime::IInspectable {
from(value: &UnsupportedAppRequirement) -> Self1112     fn from(value: &UnsupportedAppRequirement) -> Self {
1113         value.0.clone()
1114     }
1115 }
1116 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UnsupportedAppRequirement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1117     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1118         ::windows::runtime::Param::Owned(self.0)
1119     }
1120 }
1121 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UnsupportedAppRequirement {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1122     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1123         ::windows::runtime::Param::Borrowed(&self.0)
1124     }
1125 }
1126 unsafe impl ::std::marker::Send for UnsupportedAppRequirement {}
1127 unsafe impl ::std::marker::Sync for UnsupportedAppRequirement {}
1128 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1129 #[repr(transparent)]
1130 pub struct UnsupportedAppRequirementReasons(pub u32);
1131 impl UnsupportedAppRequirementReasons {
1132     pub const Unknown: UnsupportedAppRequirementReasons = UnsupportedAppRequirementReasons(0u32);
1133     pub const DeniedBySystem: UnsupportedAppRequirementReasons = UnsupportedAppRequirementReasons(1u32);
1134 }
1135 impl ::std::convert::From<u32> for UnsupportedAppRequirementReasons {
from(value: u32) -> Self1136     fn from(value: u32) -> Self {
1137         Self(value)
1138     }
1139 }
1140 unsafe impl ::windows::runtime::Abi for UnsupportedAppRequirementReasons {
1141     type Abi = Self;
1142     type DefaultType = Self;
1143 }
1144 unsafe impl ::windows::runtime::RuntimeType for UnsupportedAppRequirementReasons {
1145     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.System.Profile.UnsupportedAppRequirementReasons;u4)");
1146 }
1147 impl ::std::ops::BitOr for UnsupportedAppRequirementReasons {
1148     type Output = Self;
bitor(self, rhs: Self) -> Self1149     fn bitor(self, rhs: Self) -> Self {
1150         Self(self.0 | rhs.0)
1151     }
1152 }
1153 impl ::std::ops::BitAnd for UnsupportedAppRequirementReasons {
1154     type Output = Self;
bitand(self, rhs: Self) -> Self1155     fn bitand(self, rhs: Self) -> Self {
1156         Self(self.0 & rhs.0)
1157     }
1158 }
1159 impl ::std::ops::BitOrAssign for UnsupportedAppRequirementReasons {
bitor_assign(&mut self, rhs: Self)1160     fn bitor_assign(&mut self, rhs: Self) {
1161         self.0.bitor_assign(rhs.0)
1162     }
1163 }
1164 impl ::std::ops::BitAndAssign for UnsupportedAppRequirementReasons {
bitand_assign(&mut self, rhs: Self)1165     fn bitand_assign(&mut self, rhs: Self) {
1166         self.0.bitand_assign(rhs.0)
1167     }
1168 }
1169 impl ::std::ops::Not for UnsupportedAppRequirementReasons {
1170     type Output = Self;
not(self) -> Self1171     fn not(self) -> Self {
1172         Self(self.0.not())
1173     }
1174 }
1175 pub struct WindowsIntegrityPolicy {}
1176 impl WindowsIntegrityPolicy {
IsEnabled() -> ::windows::runtime::Result<bool>1177     pub fn IsEnabled() -> ::windows::runtime::Result<bool> {
1178         Self::IWindowsIntegrityPolicyStatics(|this| unsafe {
1179             let mut result__: bool = ::std::mem::zeroed();
1180             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1181         })
1182     }
IsEnabledForTrial() -> ::windows::runtime::Result<bool>1183     pub fn IsEnabledForTrial() -> ::windows::runtime::Result<bool> {
1184         Self::IWindowsIntegrityPolicyStatics(|this| unsafe {
1185             let mut result__: bool = ::std::mem::zeroed();
1186             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1187         })
1188     }
CanDisable() -> ::windows::runtime::Result<bool>1189     pub fn CanDisable() -> ::windows::runtime::Result<bool> {
1190         Self::IWindowsIntegrityPolicyStatics(|this| unsafe {
1191             let mut result__: bool = ::std::mem::zeroed();
1192             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1193         })
1194     }
IsDisableSupported() -> ::windows::runtime::Result<bool>1195     pub fn IsDisableSupported() -> ::windows::runtime::Result<bool> {
1196         Self::IWindowsIntegrityPolicyStatics(|this| unsafe {
1197             let mut result__: bool = ::std::mem::zeroed();
1198             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1199         })
1200     }
1201     #[cfg(feature = "Foundation")]
PolicyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1202     pub fn PolicyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1203         Self::IWindowsIntegrityPolicyStatics(|this| unsafe {
1204             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1205             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1206         })
1207     }
1208     #[cfg(feature = "Foundation")]
RemovePolicyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>1209     pub fn RemovePolicyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
1210         Self::IWindowsIntegrityPolicyStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
1211     }
IWindowsIntegrityPolicyStatics<R, F: FnOnce(&IWindowsIntegrityPolicyStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1212     pub fn IWindowsIntegrityPolicyStatics<R, F: FnOnce(&IWindowsIntegrityPolicyStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1213         static mut SHARED: ::windows::runtime::FactoryCache<WindowsIntegrityPolicy, IWindowsIntegrityPolicyStatics> = ::windows::runtime::FactoryCache::new();
1214         unsafe { SHARED.call(callback) }
1215     }
1216 }
1217 impl ::windows::runtime::RuntimeName for WindowsIntegrityPolicy {
1218     const NAME: &'static str = "Windows.System.Profile.WindowsIntegrityPolicy";
1219 }
1220