1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "Storage_AccessCache")]
3 pub mod AccessCache;
4 #[cfg(feature = "Storage_BulkAccess")]
5 pub mod BulkAccess;
6 #[cfg(feature = "Storage_Compression")]
7 pub mod Compression;
8 #[cfg(feature = "Storage_FileProperties")]
9 pub mod FileProperties;
10 #[cfg(feature = "Storage_Pickers")]
11 pub mod Pickers;
12 #[cfg(feature = "Storage_Provider")]
13 pub mod Provider;
14 #[cfg(feature = "Storage_Search")]
15 pub mod Search;
16 #[cfg(feature = "Storage_Streams")]
17 pub mod Streams;
18 #[repr(transparent)]
19 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
20 pub struct AppDataPaths(::windows::runtime::IInspectable);
21 impl AppDataPaths {
Cookies(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>22     pub fn Cookies(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
23         let this = self;
24         unsafe {
25             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
26             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
27         }
28     }
Desktop(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>29     pub fn Desktop(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
30         let this = self;
31         unsafe {
32             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
33             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
34         }
35     }
Documents(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>36     pub fn Documents(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
37         let this = self;
38         unsafe {
39             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
40             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
41         }
42     }
Favorites(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>43     pub fn Favorites(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
44         let this = self;
45         unsafe {
46             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
47             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
48         }
49     }
History(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>50     pub fn History(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
51         let this = self;
52         unsafe {
53             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
54             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
55         }
56     }
InternetCache(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>57     pub fn InternetCache(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
58         let this = self;
59         unsafe {
60             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
61             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
62         }
63     }
LocalAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>64     pub fn LocalAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
65         let this = self;
66         unsafe {
67             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
68             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
69         }
70     }
ProgramData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>71     pub fn ProgramData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
72         let this = self;
73         unsafe {
74             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
75             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
76         }
77     }
RoamingAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>78     pub fn RoamingAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
79         let this = self;
80         unsafe {
81             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
82             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
83         }
84     }
85     #[cfg(feature = "System")]
GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0) -> ::windows::runtime::Result<AppDataPaths>86     pub fn GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0) -> ::windows::runtime::Result<AppDataPaths> {
87         Self::IAppDataPathsStatics(|this| unsafe {
88             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
89             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<AppDataPaths>(result__)
90         })
91     }
GetDefault() -> ::windows::runtime::Result<AppDataPaths>92     pub fn GetDefault() -> ::windows::runtime::Result<AppDataPaths> {
93         Self::IAppDataPathsStatics(|this| unsafe {
94             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
95             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AppDataPaths>(result__)
96         })
97     }
IAppDataPathsStatics<R, F: FnOnce(&IAppDataPathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>98     pub fn IAppDataPathsStatics<R, F: FnOnce(&IAppDataPathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
99         static mut SHARED: ::windows::runtime::FactoryCache<AppDataPaths, IAppDataPathsStatics> = ::windows::runtime::FactoryCache::new();
100         unsafe { SHARED.call(callback) }
101     }
102 }
103 unsafe impl ::windows::runtime::RuntimeType for AppDataPaths {
104     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.AppDataPaths;{7301d60a-79a2-48c9-9ec0-3fda092f79e1})");
105 }
106 unsafe impl ::windows::runtime::Interface for AppDataPaths {
107     type Vtable = IAppDataPaths_abi;
108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1929500170, 31138, 18633, [158, 192, 63, 218, 9, 47, 121, 225]);
109 }
110 impl ::windows::runtime::RuntimeName for AppDataPaths {
111     const NAME: &'static str = "Windows.Storage.AppDataPaths";
112 }
113 impl ::std::convert::From<AppDataPaths> for ::windows::runtime::IUnknown {
from(value: AppDataPaths) -> Self114     fn from(value: AppDataPaths) -> Self {
115         unsafe { ::std::mem::transmute(value) }
116     }
117 }
118 impl ::std::convert::From<&AppDataPaths> for ::windows::runtime::IUnknown {
from(value: &AppDataPaths) -> Self119     fn from(value: &AppDataPaths) -> Self {
120         ::std::convert::From::from(::std::clone::Clone::clone(value))
121     }
122 }
123 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AppDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>124     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
125         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
126     }
127 }
128 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AppDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>129     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
130         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
131     }
132 }
133 impl ::std::convert::From<AppDataPaths> for ::windows::runtime::IInspectable {
from(value: AppDataPaths) -> Self134     fn from(value: AppDataPaths) -> Self {
135         value.0
136     }
137 }
138 impl ::std::convert::From<&AppDataPaths> for ::windows::runtime::IInspectable {
from(value: &AppDataPaths) -> Self139     fn from(value: &AppDataPaths) -> Self {
140         value.0.clone()
141     }
142 }
143 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AppDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>144     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
145         ::windows::runtime::Param::Owned(self.0)
146     }
147 }
148 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AppDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>149     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
150         ::windows::runtime::Param::Borrowed(&self.0)
151     }
152 }
153 unsafe impl ::std::marker::Send for AppDataPaths {}
154 unsafe impl ::std::marker::Sync for AppDataPaths {}
155 #[repr(transparent)]
156 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
157 pub struct ApplicationData(::windows::runtime::IInspectable);
158 impl ApplicationData {
Version(&self) -> ::windows::runtime::Result<u32>159     pub fn Version(&self) -> ::windows::runtime::Result<u32> {
160         let this = self;
161         unsafe {
162             let mut result__: u32 = ::std::mem::zeroed();
163             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
164         }
165     }
166     #[cfg(feature = "Foundation")]
SetVersionAsync<'a, Param1: ::windows::runtime::IntoParam<'a, ApplicationDataSetVersionHandler>>(&self, desiredversion: u32, handler: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>167     pub fn SetVersionAsync<'a, Param1: ::windows::runtime::IntoParam<'a, ApplicationDataSetVersionHandler>>(&self, desiredversion: u32, handler: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
168         let this = self;
169         unsafe {
170             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
171             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredversion, handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
172         }
173     }
174     #[cfg(feature = "Foundation")]
ClearAllAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>175     pub fn ClearAllAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
176         let this = self;
177         unsafe {
178             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
179             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
180         }
181     }
182     #[cfg(feature = "Foundation")]
ClearAsync(&self, locality: ApplicationDataLocality) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>183     pub fn ClearAsync(&self, locality: ApplicationDataLocality) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
184         let this = self;
185         unsafe {
186             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
187             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), locality, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
188         }
189     }
LocalSettings(&self) -> ::windows::runtime::Result<ApplicationDataContainer>190     pub fn LocalSettings(&self) -> ::windows::runtime::Result<ApplicationDataContainer> {
191         let this = self;
192         unsafe {
193             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
194             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ApplicationDataContainer>(result__)
195         }
196     }
RoamingSettings(&self) -> ::windows::runtime::Result<ApplicationDataContainer>197     pub fn RoamingSettings(&self) -> ::windows::runtime::Result<ApplicationDataContainer> {
198         let this = self;
199         unsafe {
200             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
201             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ApplicationDataContainer>(result__)
202         }
203     }
LocalFolder(&self) -> ::windows::runtime::Result<StorageFolder>204     pub fn LocalFolder(&self) -> ::windows::runtime::Result<StorageFolder> {
205         let this = self;
206         unsafe {
207             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
208             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
209         }
210     }
RoamingFolder(&self) -> ::windows::runtime::Result<StorageFolder>211     pub fn RoamingFolder(&self) -> ::windows::runtime::Result<StorageFolder> {
212         let this = self;
213         unsafe {
214             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
215             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
216         }
217     }
TemporaryFolder(&self) -> ::windows::runtime::Result<StorageFolder>218     pub fn TemporaryFolder(&self) -> ::windows::runtime::Result<StorageFolder> {
219         let this = self;
220         unsafe {
221             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
222             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
223         }
224     }
225     #[cfg(feature = "Foundation")]
DataChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<ApplicationData, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>226     pub fn DataChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<ApplicationData, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
227         let this = self;
228         unsafe {
229             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
230             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
231         }
232     }
233     #[cfg(feature = "Foundation")]
RemoveDataChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>234     pub fn RemoveDataChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
235         let this = self;
236         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
237     }
SignalDataChanged(&self) -> ::windows::runtime::Result<()>238     pub fn SignalDataChanged(&self) -> ::windows::runtime::Result<()> {
239         let this = self;
240         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this)).ok() }
241     }
RoamingStorageQuota(&self) -> ::windows::runtime::Result<u64>242     pub fn RoamingStorageQuota(&self) -> ::windows::runtime::Result<u64> {
243         let this = self;
244         unsafe {
245             let mut result__: u64 = ::std::mem::zeroed();
246             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
247         }
248     }
249     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>250     pub fn Close(&self) -> ::windows::runtime::Result<()> {
251         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
252         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
253     }
LocalCacheFolder(&self) -> ::windows::runtime::Result<StorageFolder>254     pub fn LocalCacheFolder(&self) -> ::windows::runtime::Result<StorageFolder> {
255         let this = &::windows::runtime::Interface::cast::<IApplicationData2>(self)?;
256         unsafe {
257             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
258             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
259         }
260     }
GetPublisherCacheFolder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, foldername: Param0) -> ::windows::runtime::Result<StorageFolder>261     pub fn GetPublisherCacheFolder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, foldername: Param0) -> ::windows::runtime::Result<StorageFolder> {
262         let this = &::windows::runtime::Interface::cast::<IApplicationData3>(self)?;
263         unsafe {
264             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
265             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), foldername.into_param().abi(), &mut result__).from_abi::<StorageFolder>(result__)
266         }
267     }
268     #[cfg(feature = "Foundation")]
ClearPublisherCacheFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, foldername: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>269     pub fn ClearPublisherCacheFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, foldername: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
270         let this = &::windows::runtime::Interface::cast::<IApplicationData3>(self)?;
271         unsafe {
272             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
273             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), foldername.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
274         }
275     }
SharedLocalFolder(&self) -> ::windows::runtime::Result<StorageFolder>276     pub fn SharedLocalFolder(&self) -> ::windows::runtime::Result<StorageFolder> {
277         let this = &::windows::runtime::Interface::cast::<IApplicationData3>(self)?;
278         unsafe {
279             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
280             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
281         }
282     }
Current() -> ::windows::runtime::Result<ApplicationData>283     pub fn Current() -> ::windows::runtime::Result<ApplicationData> {
284         Self::IApplicationDataStatics(|this| unsafe {
285             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
286             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ApplicationData>(result__)
287         })
288     }
289     #[cfg(all(feature = "Foundation", feature = "System"))]
GetForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<ApplicationData>>290     pub fn GetForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<ApplicationData>> {
291         Self::IApplicationDataStatics2(|this| unsafe {
292             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
293             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<ApplicationData>>(result__)
294         })
295     }
IApplicationDataStatics<R, F: FnOnce(&IApplicationDataStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>296     pub fn IApplicationDataStatics<R, F: FnOnce(&IApplicationDataStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
297         static mut SHARED: ::windows::runtime::FactoryCache<ApplicationData, IApplicationDataStatics> = ::windows::runtime::FactoryCache::new();
298         unsafe { SHARED.call(callback) }
299     }
IApplicationDataStatics2<R, F: FnOnce(&IApplicationDataStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>300     pub fn IApplicationDataStatics2<R, F: FnOnce(&IApplicationDataStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
301         static mut SHARED: ::windows::runtime::FactoryCache<ApplicationData, IApplicationDataStatics2> = ::windows::runtime::FactoryCache::new();
302         unsafe { SHARED.call(callback) }
303     }
304 }
305 unsafe impl ::windows::runtime::RuntimeType for ApplicationData {
306     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.ApplicationData;{c3da6fb7-b744-4b45-b0b8-223a0938d0dc})");
307 }
308 unsafe impl ::windows::runtime::Interface for ApplicationData {
309     type Vtable = IApplicationData_abi;
310     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3285872567, 46916, 19269, [176, 184, 34, 58, 9, 56, 208, 220]);
311 }
312 impl ::windows::runtime::RuntimeName for ApplicationData {
313     const NAME: &'static str = "Windows.Storage.ApplicationData";
314 }
315 impl ::std::convert::From<ApplicationData> for ::windows::runtime::IUnknown {
from(value: ApplicationData) -> Self316     fn from(value: ApplicationData) -> Self {
317         unsafe { ::std::mem::transmute(value) }
318     }
319 }
320 impl ::std::convert::From<&ApplicationData> for ::windows::runtime::IUnknown {
from(value: &ApplicationData) -> Self321     fn from(value: &ApplicationData) -> Self {
322         ::std::convert::From::from(::std::clone::Clone::clone(value))
323     }
324 }
325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ApplicationData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
327         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
328     }
329 }
330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ApplicationData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
332         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
333     }
334 }
335 impl ::std::convert::From<ApplicationData> for ::windows::runtime::IInspectable {
from(value: ApplicationData) -> Self336     fn from(value: ApplicationData) -> Self {
337         value.0
338     }
339 }
340 impl ::std::convert::From<&ApplicationData> for ::windows::runtime::IInspectable {
from(value: &ApplicationData) -> Self341     fn from(value: &ApplicationData) -> Self {
342         value.0.clone()
343     }
344 }
345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ApplicationData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
347         ::windows::runtime::Param::Owned(self.0)
348     }
349 }
350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ApplicationData {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
352         ::windows::runtime::Param::Borrowed(&self.0)
353     }
354 }
355 #[cfg(feature = "Foundation")]
356 impl ::std::convert::TryFrom<ApplicationData> for super::Foundation::IClosable {
357     type Error = ::windows::runtime::Error;
try_from(value: ApplicationData) -> ::windows::runtime::Result<Self>358     fn try_from(value: ApplicationData) -> ::windows::runtime::Result<Self> {
359         ::std::convert::TryFrom::try_from(&value)
360     }
361 }
362 #[cfg(feature = "Foundation")]
363 impl ::std::convert::TryFrom<&ApplicationData> for super::Foundation::IClosable {
364     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationData) -> ::windows::runtime::Result<Self>365     fn try_from(value: &ApplicationData) -> ::windows::runtime::Result<Self> {
366         ::windows::runtime::Interface::cast(value)
367     }
368 }
369 #[cfg(feature = "Foundation")]
370 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for ApplicationData {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>371     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
372         ::windows::runtime::IntoParam::into_param(&self)
373     }
374 }
375 #[cfg(feature = "Foundation")]
376 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &ApplicationData {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>377     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
378         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
379     }
380 }
381 unsafe impl ::std::marker::Send for ApplicationData {}
382 unsafe impl ::std::marker::Sync for ApplicationData {}
383 #[cfg(feature = "Foundation_Collections")]
384 #[repr(transparent)]
385 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
386 pub struct ApplicationDataCompositeValue(::windows::runtime::IInspectable);
387 #[cfg(feature = "Foundation_Collections")]
388 impl ApplicationDataCompositeValue {
new() -> ::windows::runtime::Result<Self>389     pub fn new() -> ::windows::runtime::Result<Self> {
390         Self::IActivationFactory(|f| f.activate_instance::<Self>())
391     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>392     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
393         static mut SHARED: ::windows::runtime::FactoryCache<ApplicationDataCompositeValue, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
394         unsafe { SHARED.call(callback) }
395     }
396     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IIterator<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>397     pub fn First(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IIterator<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
398         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(self)?;
399         unsafe {
400             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
401             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IIterator<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
402         }
403     }
404     #[cfg(feature = "Foundation_Collections")]
Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<::windows::runtime::IInspectable>405     pub fn Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
406         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
407         unsafe {
408             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
409             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
410         }
411     }
412     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>413     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
414         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
415         unsafe {
416             let mut result__: u32 = ::std::mem::zeroed();
417             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
418         }
419     }
420     #[cfg(feature = "Foundation_Collections")]
HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool>421     pub fn HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool> {
422         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
423         unsafe {
424             let mut result__: bool = ::std::mem::zeroed();
425             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<bool>(result__)
426         }
427     }
428     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>429     pub fn GetView(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
430         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
431         unsafe {
432             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
433             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(result__)
434         }
435     }
436     #[cfg(feature = "Foundation_Collections")]
Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool>437     pub fn Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool> {
438         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
439         unsafe {
440             let mut result__: bool = ::std::mem::zeroed();
441             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<bool>(result__)
442         }
443     }
444     #[cfg(feature = "Foundation_Collections")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>445     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
446         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
447         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
448     }
449     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>450     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
451         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
452         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
453     }
454     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
MapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::MapChangedEventHandler<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(&self, vhnd: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>455     pub fn MapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::MapChangedEventHandler<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(&self, vhnd: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
456         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
457         unsafe {
458             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
459             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), vhnd.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
460         }
461     }
462     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RemoveMapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>463     pub fn RemoveMapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
464         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
465         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
466     }
467 }
468 #[cfg(feature = "Foundation_Collections")]
469 unsafe impl ::windows::runtime::RuntimeType for ApplicationDataCompositeValue {
470     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.ApplicationDataCompositeValue;{8a43ed9f-f4e6-4421-acf9-1dab2986820c})");
471 }
472 #[cfg(feature = "Foundation_Collections")]
473 unsafe impl ::windows::runtime::Interface for ApplicationDataCompositeValue {
474     type Vtable = super::Foundation::Collections::IPropertySet_abi;
475     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2319707551, 62694, 17441, [172, 249, 29, 171, 41, 134, 130, 12]);
476 }
477 #[cfg(feature = "Foundation_Collections")]
478 impl ::windows::runtime::RuntimeName for ApplicationDataCompositeValue {
479     const NAME: &'static str = "Windows.Storage.ApplicationDataCompositeValue";
480 }
481 #[cfg(feature = "Foundation_Collections")]
482 impl ::std::convert::From<ApplicationDataCompositeValue> for ::windows::runtime::IUnknown {
from(value: ApplicationDataCompositeValue) -> Self483     fn from(value: ApplicationDataCompositeValue) -> Self {
484         unsafe { ::std::mem::transmute(value) }
485     }
486 }
487 #[cfg(feature = "Foundation_Collections")]
488 impl ::std::convert::From<&ApplicationDataCompositeValue> for ::windows::runtime::IUnknown {
from(value: &ApplicationDataCompositeValue) -> Self489     fn from(value: &ApplicationDataCompositeValue) -> Self {
490         ::std::convert::From::from(::std::clone::Clone::clone(value))
491     }
492 }
493 #[cfg(feature = "Foundation_Collections")]
494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
497     }
498 }
499 #[cfg(feature = "Foundation_Collections")]
500 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>501     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
502         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
503     }
504 }
505 #[cfg(feature = "Foundation_Collections")]
506 impl ::std::convert::From<ApplicationDataCompositeValue> for ::windows::runtime::IInspectable {
from(value: ApplicationDataCompositeValue) -> Self507     fn from(value: ApplicationDataCompositeValue) -> Self {
508         value.0
509     }
510 }
511 #[cfg(feature = "Foundation_Collections")]
512 impl ::std::convert::From<&ApplicationDataCompositeValue> for ::windows::runtime::IInspectable {
from(value: &ApplicationDataCompositeValue) -> Self513     fn from(value: &ApplicationDataCompositeValue) -> Self {
514         value.0.clone()
515     }
516 }
517 #[cfg(feature = "Foundation_Collections")]
518 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>519     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
520         ::windows::runtime::Param::Owned(self.0)
521     }
522 }
523 #[cfg(feature = "Foundation_Collections")]
524 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>525     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
526         ::windows::runtime::Param::Borrowed(&self.0)
527     }
528 }
529 #[cfg(feature = "Foundation_Collections")]
530 impl ::std::convert::From<ApplicationDataCompositeValue> for super::Foundation::Collections::IPropertySet {
from(value: ApplicationDataCompositeValue) -> Self531     fn from(value: ApplicationDataCompositeValue) -> Self {
532         unsafe { ::std::mem::transmute(value) }
533     }
534 }
535 #[cfg(feature = "Foundation_Collections")]
536 impl ::std::convert::From<&ApplicationDataCompositeValue> for super::Foundation::Collections::IPropertySet {
from(value: &ApplicationDataCompositeValue) -> Self537     fn from(value: &ApplicationDataCompositeValue) -> Self {
538         ::std::convert::From::from(::std::clone::Clone::clone(value))
539     }
540 }
541 #[cfg(feature = "Foundation_Collections")]
542 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet> for ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet>543     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet> {
544         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Foundation::Collections::IPropertySet>::into(self))
545     }
546 }
547 #[cfg(feature = "Foundation_Collections")]
548 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet> for &ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet>549     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet> {
550         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Foundation::Collections::IPropertySet>::into(::std::clone::Clone::clone(self)))
551     }
552 }
553 #[cfg(feature = "Foundation_Collections")]
554 impl ::std::convert::TryFrom<ApplicationDataCompositeValue> for super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
555     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self>556     fn try_from(value: ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self> {
557         ::std::convert::TryFrom::try_from(&value)
558     }
559 }
560 #[cfg(feature = "Foundation_Collections")]
561 impl ::std::convert::TryFrom<&ApplicationDataCompositeValue> for super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
562     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self>563     fn try_from(value: &ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self> {
564         ::windows::runtime::Interface::cast(value)
565     }
566 }
567 #[cfg(feature = "Foundation_Collections")]
568 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> for ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>569     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
570         ::windows::runtime::IntoParam::into_param(&self)
571     }
572 }
573 #[cfg(feature = "Foundation_Collections")]
574 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> for &ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>575     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
576         ::std::convert::TryInto::<super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
577     }
578 }
579 #[cfg(feature = "Foundation_Collections")]
580 impl ::std::convert::TryFrom<ApplicationDataCompositeValue> for super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
581     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self>582     fn try_from(value: ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self> {
583         ::std::convert::TryFrom::try_from(&value)
584     }
585 }
586 #[cfg(feature = "Foundation_Collections")]
587 impl ::std::convert::TryFrom<&ApplicationDataCompositeValue> for super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
588     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self>589     fn try_from(value: &ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self> {
590         ::windows::runtime::Interface::cast(value)
591     }
592 }
593 #[cfg(feature = "Foundation_Collections")]
594 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>595     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
596         ::windows::runtime::IntoParam::into_param(&self)
597     }
598 }
599 #[cfg(feature = "Foundation_Collections")]
600 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for &ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>601     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
602         ::std::convert::TryInto::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
603     }
604 }
605 #[cfg(feature = "Foundation_Collections")]
606 impl ::std::convert::TryFrom<ApplicationDataCompositeValue> for super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
607     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self>608     fn try_from(value: ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self> {
609         ::std::convert::TryFrom::try_from(&value)
610     }
611 }
612 #[cfg(feature = "Foundation_Collections")]
613 impl ::std::convert::TryFrom<&ApplicationDataCompositeValue> for super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
614     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self>615     fn try_from(value: &ApplicationDataCompositeValue) -> ::windows::runtime::Result<Self> {
616         ::windows::runtime::Interface::cast(value)
617     }
618 }
619 #[cfg(feature = "Foundation_Collections")]
620 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>621     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
622         ::windows::runtime::IntoParam::into_param(&self)
623     }
624 }
625 #[cfg(feature = "Foundation_Collections")]
626 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for &ApplicationDataCompositeValue {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>627     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
628         ::std::convert::TryInto::<super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
629     }
630 }
631 #[cfg(feature = "Foundation_Collections")]
632 unsafe impl ::std::marker::Send for ApplicationDataCompositeValue {}
633 #[cfg(feature = "Foundation_Collections")]
634 unsafe impl ::std::marker::Sync for ApplicationDataCompositeValue {}
635 #[cfg(all(feature = "Foundation_Collections"))]
636 impl ::std::iter::IntoIterator for ApplicationDataCompositeValue {
637     type Item = super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>;
638     type IntoIter = super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter639     fn into_iter(self) -> Self::IntoIter {
640         ::std::iter::IntoIterator::into_iter(&self)
641     }
642 }
643 #[cfg(all(feature = "Foundation_Collections"))]
644 impl ::std::iter::IntoIterator for &ApplicationDataCompositeValue {
645     type Item = super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>;
646     type IntoIter = super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter647     fn into_iter(self) -> Self::IntoIter {
648         self.First().unwrap()
649     }
650 }
651 #[repr(transparent)]
652 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
653 pub struct ApplicationDataContainer(::windows::runtime::IInspectable);
654 impl ApplicationDataContainer {
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>655     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
656         let this = self;
657         unsafe {
658             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
659             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
660         }
661     }
Locality(&self) -> ::windows::runtime::Result<ApplicationDataLocality>662     pub fn Locality(&self) -> ::windows::runtime::Result<ApplicationDataLocality> {
663         let this = self;
664         unsafe {
665             let mut result__: ApplicationDataLocality = ::std::mem::zeroed();
666             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ApplicationDataLocality>(result__)
667         }
668     }
669     #[cfg(feature = "Foundation_Collections")]
Values(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet>670     pub fn Values(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet> {
671         let this = self;
672         unsafe {
673             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
674             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IPropertySet>(result__)
675         }
676     }
677     #[cfg(feature = "Foundation_Collections")]
Containers(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ApplicationDataContainer>>678     pub fn Containers(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ApplicationDataContainer>> {
679         let this = self;
680         unsafe {
681             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
682             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ApplicationDataContainer>>(result__)
683         }
684     }
CreateContainer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0, disposition: ApplicationDataCreateDisposition) -> ::windows::runtime::Result<ApplicationDataContainer>685     pub fn CreateContainer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0, disposition: ApplicationDataCreateDisposition) -> ::windows::runtime::Result<ApplicationDataContainer> {
686         let this = self;
687         unsafe {
688             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
689             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), name.into_param().abi(), disposition, &mut result__).from_abi::<ApplicationDataContainer>(result__)
690         }
691     }
DeleteContainer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<()>692     pub fn DeleteContainer<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<()> {
693         let this = self;
694         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), name.into_param().abi()).ok() }
695     }
696     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>697     pub fn Close(&self) -> ::windows::runtime::Result<()> {
698         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
699         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
700     }
701 }
702 unsafe impl ::windows::runtime::RuntimeType for ApplicationDataContainer {
703     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.ApplicationDataContainer;{c5aefd1e-f467-40ba-8566-ab640a441e1d})");
704 }
705 unsafe impl ::windows::runtime::Interface for ApplicationDataContainer {
706     type Vtable = IApplicationDataContainer_abi;
707     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316579614, 62567, 16570, [133, 102, 171, 100, 10, 68, 30, 29]);
708 }
709 impl ::windows::runtime::RuntimeName for ApplicationDataContainer {
710     const NAME: &'static str = "Windows.Storage.ApplicationDataContainer";
711 }
712 impl ::std::convert::From<ApplicationDataContainer> for ::windows::runtime::IUnknown {
from(value: ApplicationDataContainer) -> Self713     fn from(value: ApplicationDataContainer) -> Self {
714         unsafe { ::std::mem::transmute(value) }
715     }
716 }
717 impl ::std::convert::From<&ApplicationDataContainer> for ::windows::runtime::IUnknown {
from(value: &ApplicationDataContainer) -> Self718     fn from(value: &ApplicationDataContainer) -> Self {
719         ::std::convert::From::from(::std::clone::Clone::clone(value))
720     }
721 }
722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ApplicationDataContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
724         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
725     }
726 }
727 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ApplicationDataContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>728     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
729         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
730     }
731 }
732 impl ::std::convert::From<ApplicationDataContainer> for ::windows::runtime::IInspectable {
from(value: ApplicationDataContainer) -> Self733     fn from(value: ApplicationDataContainer) -> Self {
734         value.0
735     }
736 }
737 impl ::std::convert::From<&ApplicationDataContainer> for ::windows::runtime::IInspectable {
from(value: &ApplicationDataContainer) -> Self738     fn from(value: &ApplicationDataContainer) -> Self {
739         value.0.clone()
740     }
741 }
742 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ApplicationDataContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>743     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
744         ::windows::runtime::Param::Owned(self.0)
745     }
746 }
747 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ApplicationDataContainer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>748     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
749         ::windows::runtime::Param::Borrowed(&self.0)
750     }
751 }
752 #[cfg(feature = "Foundation")]
753 impl ::std::convert::TryFrom<ApplicationDataContainer> for super::Foundation::IClosable {
754     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataContainer) -> ::windows::runtime::Result<Self>755     fn try_from(value: ApplicationDataContainer) -> ::windows::runtime::Result<Self> {
756         ::std::convert::TryFrom::try_from(&value)
757     }
758 }
759 #[cfg(feature = "Foundation")]
760 impl ::std::convert::TryFrom<&ApplicationDataContainer> for super::Foundation::IClosable {
761     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataContainer) -> ::windows::runtime::Result<Self>762     fn try_from(value: &ApplicationDataContainer) -> ::windows::runtime::Result<Self> {
763         ::windows::runtime::Interface::cast(value)
764     }
765 }
766 #[cfg(feature = "Foundation")]
767 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for ApplicationDataContainer {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>768     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
769         ::windows::runtime::IntoParam::into_param(&self)
770     }
771 }
772 #[cfg(feature = "Foundation")]
773 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &ApplicationDataContainer {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>774     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
775         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
776     }
777 }
778 unsafe impl ::std::marker::Send for ApplicationDataContainer {}
779 unsafe impl ::std::marker::Sync for ApplicationDataContainer {}
780 #[cfg(feature = "Foundation_Collections")]
781 #[repr(transparent)]
782 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
783 pub struct ApplicationDataContainerSettings(::windows::runtime::IInspectable);
784 #[cfg(feature = "Foundation_Collections")]
785 impl ApplicationDataContainerSettings {
786     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IIterator<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>787     pub fn First(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IIterator<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
788         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(self)?;
789         unsafe {
790             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IIterator<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(result__)
792         }
793     }
794     #[cfg(feature = "Foundation_Collections")]
Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<::windows::runtime::IInspectable>795     pub fn Lookup<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<::windows::runtime::IInspectable> {
796         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
797         unsafe {
798             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
799             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<::windows::runtime::IInspectable>(result__)
800         }
801     }
802     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>803     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
804         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
805         unsafe {
806             let mut result__: u32 = ::std::mem::zeroed();
807             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
808         }
809     }
810     #[cfg(feature = "Foundation_Collections")]
HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool>811     pub fn HasKey<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<bool> {
812         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
813         unsafe {
814             let mut result__: bool = ::std::mem::zeroed();
815             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), key.into_param().abi(), &mut result__).from_abi::<bool>(result__)
816         }
817     }
818     #[cfg(feature = "Foundation_Collections")]
GetView(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>819     pub fn GetView(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
820         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
821         unsafe {
822             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
823             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IMapView<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(result__)
824         }
825     }
826     #[cfg(feature = "Foundation_Collections")]
Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool>827     pub fn Insert<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable>>(&self, key: Param0, value: Param1) -> ::windows::runtime::Result<bool> {
828         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
829         unsafe {
830             let mut result__: bool = ::std::mem::zeroed();
831             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), key.into_param().abi(), value.into_param().abi(), &mut result__).from_abi::<bool>(result__)
832         }
833     }
834     #[cfg(feature = "Foundation_Collections")]
Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()>835     pub fn Remove<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, key: Param0) -> ::windows::runtime::Result<()> {
836         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
837         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), key.into_param().abi()).ok() }
838     }
839     #[cfg(feature = "Foundation_Collections")]
Clear(&self) -> ::windows::runtime::Result<()>840     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
841         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
842         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
843     }
844     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
MapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::MapChangedEventHandler<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(&self, vhnd: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>845     pub fn MapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::MapChangedEventHandler<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>(&self, vhnd: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
846         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
847         unsafe {
848             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
849             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), vhnd.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
850         }
851     }
852     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
RemoveMapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>853     pub fn RemoveMapChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
854         let this = &::windows::runtime::Interface::cast::<super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>(self)?;
855         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
856     }
857 }
858 #[cfg(feature = "Foundation_Collections")]
859 unsafe impl ::windows::runtime::RuntimeType for ApplicationDataContainerSettings {
860     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.ApplicationDataContainerSettings;{8a43ed9f-f4e6-4421-acf9-1dab2986820c})");
861 }
862 #[cfg(feature = "Foundation_Collections")]
863 unsafe impl ::windows::runtime::Interface for ApplicationDataContainerSettings {
864     type Vtable = super::Foundation::Collections::IPropertySet_abi;
865     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2319707551, 62694, 17441, [172, 249, 29, 171, 41, 134, 130, 12]);
866 }
867 #[cfg(feature = "Foundation_Collections")]
868 impl ::windows::runtime::RuntimeName for ApplicationDataContainerSettings {
869     const NAME: &'static str = "Windows.Storage.ApplicationDataContainerSettings";
870 }
871 #[cfg(feature = "Foundation_Collections")]
872 impl ::std::convert::From<ApplicationDataContainerSettings> for ::windows::runtime::IUnknown {
from(value: ApplicationDataContainerSettings) -> Self873     fn from(value: ApplicationDataContainerSettings) -> Self {
874         unsafe { ::std::mem::transmute(value) }
875     }
876 }
877 #[cfg(feature = "Foundation_Collections")]
878 impl ::std::convert::From<&ApplicationDataContainerSettings> for ::windows::runtime::IUnknown {
from(value: &ApplicationDataContainerSettings) -> Self879     fn from(value: &ApplicationDataContainerSettings) -> Self {
880         ::std::convert::From::from(::std::clone::Clone::clone(value))
881     }
882 }
883 #[cfg(feature = "Foundation_Collections")]
884 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>885     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
886         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
887     }
888 }
889 #[cfg(feature = "Foundation_Collections")]
890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
892         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
893     }
894 }
895 #[cfg(feature = "Foundation_Collections")]
896 impl ::std::convert::From<ApplicationDataContainerSettings> for ::windows::runtime::IInspectable {
from(value: ApplicationDataContainerSettings) -> Self897     fn from(value: ApplicationDataContainerSettings) -> Self {
898         value.0
899     }
900 }
901 #[cfg(feature = "Foundation_Collections")]
902 impl ::std::convert::From<&ApplicationDataContainerSettings> for ::windows::runtime::IInspectable {
from(value: &ApplicationDataContainerSettings) -> Self903     fn from(value: &ApplicationDataContainerSettings) -> Self {
904         value.0.clone()
905     }
906 }
907 #[cfg(feature = "Foundation_Collections")]
908 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>909     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
910         ::windows::runtime::Param::Owned(self.0)
911     }
912 }
913 #[cfg(feature = "Foundation_Collections")]
914 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>915     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
916         ::windows::runtime::Param::Borrowed(&self.0)
917     }
918 }
919 #[cfg(feature = "Foundation_Collections")]
920 impl ::std::convert::From<ApplicationDataContainerSettings> for super::Foundation::Collections::IPropertySet {
from(value: ApplicationDataContainerSettings) -> Self921     fn from(value: ApplicationDataContainerSettings) -> Self {
922         unsafe { ::std::mem::transmute(value) }
923     }
924 }
925 #[cfg(feature = "Foundation_Collections")]
926 impl ::std::convert::From<&ApplicationDataContainerSettings> for super::Foundation::Collections::IPropertySet {
from(value: &ApplicationDataContainerSettings) -> Self927     fn from(value: &ApplicationDataContainerSettings) -> Self {
928         ::std::convert::From::from(::std::clone::Clone::clone(value))
929     }
930 }
931 #[cfg(feature = "Foundation_Collections")]
932 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet> for ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet>933     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet> {
934         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Foundation::Collections::IPropertySet>::into(self))
935     }
936 }
937 #[cfg(feature = "Foundation_Collections")]
938 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet> for &ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet>939     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IPropertySet> {
940         ::windows::runtime::Param::Owned(::std::convert::Into::<super::Foundation::Collections::IPropertySet>::into(::std::clone::Clone::clone(self)))
941     }
942 }
943 #[cfg(feature = "Foundation_Collections")]
944 impl ::std::convert::TryFrom<ApplicationDataContainerSettings> for super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
945     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self>946     fn try_from(value: ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self> {
947         ::std::convert::TryFrom::try_from(&value)
948     }
949 }
950 #[cfg(feature = "Foundation_Collections")]
951 impl ::std::convert::TryFrom<&ApplicationDataContainerSettings> for super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
952     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self>953     fn try_from(value: &ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self> {
954         ::windows::runtime::Interface::cast(value)
955     }
956 }
957 #[cfg(feature = "Foundation_Collections")]
958 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> for ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>959     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
960         ::windows::runtime::IntoParam::into_param(&self)
961     }
962 }
963 #[cfg(feature = "Foundation_Collections")]
964 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> for &ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>965     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>> {
966         ::std::convert::TryInto::<super::Foundation::Collections::IIterable<super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
967     }
968 }
969 #[cfg(feature = "Foundation_Collections")]
970 impl ::std::convert::TryFrom<ApplicationDataContainerSettings> for super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
971     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self>972     fn try_from(value: ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self> {
973         ::std::convert::TryFrom::try_from(&value)
974     }
975 }
976 #[cfg(feature = "Foundation_Collections")]
977 impl ::std::convert::TryFrom<&ApplicationDataContainerSettings> for super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
978     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self>979     fn try_from(value: &ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self> {
980         ::windows::runtime::Interface::cast(value)
981     }
982 }
983 #[cfg(feature = "Foundation_Collections")]
984 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>985     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
986         ::windows::runtime::IntoParam::into_param(&self)
987     }
988 }
989 #[cfg(feature = "Foundation_Collections")]
990 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for &ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>991     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
992         ::std::convert::TryInto::<super::Foundation::Collections::IMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
993     }
994 }
995 #[cfg(feature = "Foundation_Collections")]
996 impl ::std::convert::TryFrom<ApplicationDataContainerSettings> for super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
997     type Error = ::windows::runtime::Error;
try_from(value: ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self>998     fn try_from(value: ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self> {
999         ::std::convert::TryFrom::try_from(&value)
1000     }
1001 }
1002 #[cfg(feature = "Foundation_Collections")]
1003 impl ::std::convert::TryFrom<&ApplicationDataContainerSettings> for super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable> {
1004     type Error = ::windows::runtime::Error;
try_from(value: &ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self>1005     fn try_from(value: &ApplicationDataContainerSettings) -> ::windows::runtime::Result<Self> {
1006         ::windows::runtime::Interface::cast(value)
1007     }
1008 }
1009 #[cfg(feature = "Foundation_Collections")]
1010 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>1011     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
1012         ::windows::runtime::IntoParam::into_param(&self)
1013     }
1014 }
1015 #[cfg(feature = "Foundation_Collections")]
1016 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> for &ApplicationDataContainerSettings {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>1017     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>> {
1018         ::std::convert::TryInto::<super::Foundation::Collections::IObservableMap<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1019     }
1020 }
1021 #[cfg(feature = "Foundation_Collections")]
1022 unsafe impl ::std::marker::Send for ApplicationDataContainerSettings {}
1023 #[cfg(feature = "Foundation_Collections")]
1024 unsafe impl ::std::marker::Sync for ApplicationDataContainerSettings {}
1025 #[cfg(all(feature = "Foundation_Collections"))]
1026 impl ::std::iter::IntoIterator for ApplicationDataContainerSettings {
1027     type Item = super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>;
1028     type IntoIter = super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter1029     fn into_iter(self) -> Self::IntoIter {
1030         ::std::iter::IntoIterator::into_iter(&self)
1031     }
1032 }
1033 #[cfg(all(feature = "Foundation_Collections"))]
1034 impl ::std::iter::IntoIterator for &ApplicationDataContainerSettings {
1035     type Item = super::Foundation::Collections::IKeyValuePair<::windows::runtime::HSTRING, ::windows::runtime::IInspectable>;
1036     type IntoIter = super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter1037     fn into_iter(self) -> Self::IntoIter {
1038         self.First().unwrap()
1039     }
1040 }
1041 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1042 #[repr(transparent)]
1043 pub struct ApplicationDataCreateDisposition(pub i32);
1044 impl ApplicationDataCreateDisposition {
1045     pub const Always: ApplicationDataCreateDisposition = ApplicationDataCreateDisposition(0i32);
1046     pub const Existing: ApplicationDataCreateDisposition = ApplicationDataCreateDisposition(1i32);
1047 }
1048 impl ::std::convert::From<i32> for ApplicationDataCreateDisposition {
from(value: i32) -> Self1049     fn from(value: i32) -> Self {
1050         Self(value)
1051     }
1052 }
1053 unsafe impl ::windows::runtime::Abi for ApplicationDataCreateDisposition {
1054     type Abi = Self;
1055     type DefaultType = Self;
1056 }
1057 unsafe impl ::windows::runtime::RuntimeType for ApplicationDataCreateDisposition {
1058     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.ApplicationDataCreateDisposition;i4)");
1059 }
1060 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1061 #[repr(transparent)]
1062 pub struct ApplicationDataLocality(pub i32);
1063 impl ApplicationDataLocality {
1064     pub const Local: ApplicationDataLocality = ApplicationDataLocality(0i32);
1065     pub const Roaming: ApplicationDataLocality = ApplicationDataLocality(1i32);
1066     pub const Temporary: ApplicationDataLocality = ApplicationDataLocality(2i32);
1067     pub const LocalCache: ApplicationDataLocality = ApplicationDataLocality(3i32);
1068     pub const SharedLocal: ApplicationDataLocality = ApplicationDataLocality(4i32);
1069 }
1070 impl ::std::convert::From<i32> for ApplicationDataLocality {
from(value: i32) -> Self1071     fn from(value: i32) -> Self {
1072         Self(value)
1073     }
1074 }
1075 unsafe impl ::windows::runtime::Abi for ApplicationDataLocality {
1076     type Abi = Self;
1077     type DefaultType = Self;
1078 }
1079 unsafe impl ::windows::runtime::RuntimeType for ApplicationDataLocality {
1080     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.ApplicationDataLocality;i4)");
1081 }
1082 #[repr(transparent)]
1083 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1084 pub struct ApplicationDataSetVersionHandler(::windows::runtime::IUnknown);
1085 impl ApplicationDataSetVersionHandler {
new<F: FnMut(&::std::option::Option<SetVersionRequest>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self1086     pub fn new<F: FnMut(&::std::option::Option<SetVersionRequest>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self {
1087         let com = ApplicationDataSetVersionHandler_box::<F> {
1088             vtable: &ApplicationDataSetVersionHandler_box::<F>::VTABLE,
1089             count: ::windows::runtime::RefCount::new(1),
1090             invoke,
1091         };
1092         unsafe { std::mem::transmute(::std::boxed::Box::new(com)) }
1093     }
Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, SetVersionRequest>>(&self, setversionrequest: Param0) -> ::windows::runtime::Result<()>1094     pub fn Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, SetVersionRequest>>(&self, setversionrequest: Param0) -> ::windows::runtime::Result<()> {
1095         let this = self;
1096         unsafe { (::windows::runtime::Interface::vtable(this).3)(::std::mem::transmute_copy(this), setversionrequest.into_param().abi()).ok() }
1097     }
1098 }
1099 unsafe impl ::windows::runtime::RuntimeType for ApplicationDataSetVersionHandler {
1100     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"delegate({a05791e6-cc9f-4687-acab-a364fd785463})");
1101 }
1102 unsafe impl ::windows::runtime::Interface for ApplicationDataSetVersionHandler {
1103     type Vtable = ApplicationDataSetVersionHandler_abi;
1104     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2690093542, 52383, 18055, [172, 171, 163, 100, 253, 120, 84, 99]);
1105 }
1106 #[repr(C)]
1107 #[doc(hidden)]
1108 pub struct ApplicationDataSetVersionHandler_abi(
1109     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1110     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1111     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1112     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, setversionrequest: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1113 );
1114 #[repr(C)]
1115 struct ApplicationDataSetVersionHandler_box<F: FnMut(&::std::option::Option<SetVersionRequest>) -> ::windows::runtime::Result<()> + 'static> {
1116     vtable: *const ApplicationDataSetVersionHandler_abi,
1117     invoke: F,
1118     count: ::windows::runtime::RefCount,
1119 }
1120 impl<F: FnMut(&::std::option::Option<SetVersionRequest>) -> ::windows::runtime::Result<()> + 'static> ApplicationDataSetVersionHandler_box<F> {
1121     const VTABLE: ApplicationDataSetVersionHandler_abi = ApplicationDataSetVersionHandler_abi(Self::QueryInterface, Self::AddRef, Self::Release, Self::Invoke);
QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT1122     unsafe extern "system" fn QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
1123         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1124         *interface = if iid == &<ApplicationDataSetVersionHandler as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IUnknown as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IAgileObject as ::windows::runtime::Interface>::IID {
1125             &mut (*this).vtable as *mut _ as _
1126         } else {
1127             ::std::ptr::null_mut()
1128         };
1129         if (*interface).is_null() {
1130             ::windows::runtime::HRESULT(0x8000_4002)
1131         } else {
1132             (*this).count.add_ref();
1133             ::windows::runtime::HRESULT(0)
1134         }
1135     }
AddRef(this: ::windows::runtime::RawPtr) -> u321136     unsafe extern "system" fn AddRef(this: ::windows::runtime::RawPtr) -> u32 {
1137         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1138         (*this).count.add_ref()
1139     }
Release(this: ::windows::runtime::RawPtr) -> u321140     unsafe extern "system" fn Release(this: ::windows::runtime::RawPtr) -> u32 {
1141         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1142         let remaining = (*this).count.release();
1143         if remaining == 0 {
1144             Box::from_raw(this);
1145         }
1146         remaining
1147     }
Invoke(this: ::windows::runtime::RawPtr, setversionrequest: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT1148     unsafe extern "system" fn Invoke(this: ::windows::runtime::RawPtr, setversionrequest: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
1149         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
1150         ((*this).invoke)(&*(&setversionrequest as *const <SetVersionRequest as ::windows::runtime::Abi>::Abi as *const <SetVersionRequest as ::windows::runtime::Abi>::DefaultType)).into()
1151     }
1152 }
1153 pub struct CachedFileManager {}
1154 impl CachedFileManager {
DeferUpdates<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<()>1155     pub fn DeferUpdates<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<()> {
1156         Self::ICachedFileManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), file.into_param().abi()).ok() })
1157     }
1158     #[cfg(all(feature = "Foundation", feature = "Storage_Provider"))]
CompleteUpdatesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Provider::FileUpdateStatus>>1159     pub fn CompleteUpdatesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Provider::FileUpdateStatus>> {
1160         Self::ICachedFileManagerStatics(|this| unsafe {
1161             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1162             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Provider::FileUpdateStatus>>(result__)
1163         })
1164     }
ICachedFileManagerStatics<R, F: FnOnce(&ICachedFileManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1165     pub fn ICachedFileManagerStatics<R, F: FnOnce(&ICachedFileManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1166         static mut SHARED: ::windows::runtime::FactoryCache<CachedFileManager, ICachedFileManagerStatics> = ::windows::runtime::FactoryCache::new();
1167         unsafe { SHARED.call(callback) }
1168     }
1169 }
1170 impl ::windows::runtime::RuntimeName for CachedFileManager {
1171     const NAME: &'static str = "Windows.Storage.CachedFileManager";
1172 }
1173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1174 #[repr(transparent)]
1175 pub struct CreationCollisionOption(pub i32);
1176 impl CreationCollisionOption {
1177     pub const GenerateUniqueName: CreationCollisionOption = CreationCollisionOption(0i32);
1178     pub const ReplaceExisting: CreationCollisionOption = CreationCollisionOption(1i32);
1179     pub const FailIfExists: CreationCollisionOption = CreationCollisionOption(2i32);
1180     pub const OpenIfExists: CreationCollisionOption = CreationCollisionOption(3i32);
1181 }
1182 impl ::std::convert::From<i32> for CreationCollisionOption {
from(value: i32) -> Self1183     fn from(value: i32) -> Self {
1184         Self(value)
1185     }
1186 }
1187 unsafe impl ::windows::runtime::Abi for CreationCollisionOption {
1188     type Abi = Self;
1189     type DefaultType = Self;
1190 }
1191 unsafe impl ::windows::runtime::RuntimeType for CreationCollisionOption {
1192     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.CreationCollisionOption;i4)");
1193 }
1194 pub struct DownloadsFolder {}
1195 impl DownloadsFolder {
1196     #[cfg(feature = "Foundation")]
CreateFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>1197     pub fn CreateFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
1198         Self::IDownloadsFolderStatics(|this| unsafe {
1199             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1200             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
1201         })
1202     }
1203     #[cfg(feature = "Foundation")]
CreateFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>1204     pub fn CreateFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
1205         Self::IDownloadsFolderStatics(|this| unsafe {
1206             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1207             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
1208         })
1209     }
1210     #[cfg(feature = "Foundation")]
CreateFileWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>1211     pub fn CreateFileWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
1212         Self::IDownloadsFolderStatics(|this| unsafe {
1213             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1214             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
1215         })
1216     }
1217     #[cfg(feature = "Foundation")]
CreateFolderWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>1218     pub fn CreateFolderWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(desiredname: Param0, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
1219         Self::IDownloadsFolderStatics(|this| unsafe {
1220             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1221             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
1222         })
1223     }
1224     #[cfg(all(feature = "Foundation", feature = "System"))]
CreateFileForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>1225     pub fn CreateFileForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
1226         Self::IDownloadsFolderStatics2(|this| unsafe {
1227             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1228             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
1229         })
1230     }
1231     #[cfg(all(feature = "Foundation", feature = "System"))]
CreateFolderForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>1232     pub fn CreateFolderForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
1233         Self::IDownloadsFolderStatics2(|this| unsafe {
1234             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1235             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
1236         })
1237     }
1238     #[cfg(all(feature = "Foundation", feature = "System"))]
CreateFileForUserWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>1239     pub fn CreateFileForUserWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
1240         Self::IDownloadsFolderStatics2(|this| unsafe {
1241             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1242             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), user.into_param().abi(), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
1243         })
1244     }
1245     #[cfg(all(feature = "Foundation", feature = "System"))]
CreateFolderForUserWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>1246     pub fn CreateFolderForUserWithCollisionOptionAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, desiredname: Param1, option: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
1247         Self::IDownloadsFolderStatics2(|this| unsafe {
1248             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1249             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), user.into_param().abi(), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
1250         })
1251     }
IDownloadsFolderStatics<R, F: FnOnce(&IDownloadsFolderStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1252     pub fn IDownloadsFolderStatics<R, F: FnOnce(&IDownloadsFolderStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1253         static mut SHARED: ::windows::runtime::FactoryCache<DownloadsFolder, IDownloadsFolderStatics> = ::windows::runtime::FactoryCache::new();
1254         unsafe { SHARED.call(callback) }
1255     }
IDownloadsFolderStatics2<R, F: FnOnce(&IDownloadsFolderStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1256     pub fn IDownloadsFolderStatics2<R, F: FnOnce(&IDownloadsFolderStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1257         static mut SHARED: ::windows::runtime::FactoryCache<DownloadsFolder, IDownloadsFolderStatics2> = ::windows::runtime::FactoryCache::new();
1258         unsafe { SHARED.call(callback) }
1259     }
1260 }
1261 impl ::windows::runtime::RuntimeName for DownloadsFolder {
1262     const NAME: &'static str = "Windows.Storage.DownloadsFolder";
1263 }
1264 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1265 #[repr(transparent)]
1266 pub struct FileAccessMode(pub i32);
1267 impl FileAccessMode {
1268     pub const Read: FileAccessMode = FileAccessMode(0i32);
1269     pub const ReadWrite: FileAccessMode = FileAccessMode(1i32);
1270 }
1271 impl ::std::convert::From<i32> for FileAccessMode {
from(value: i32) -> Self1272     fn from(value: i32) -> Self {
1273         Self(value)
1274     }
1275 }
1276 unsafe impl ::windows::runtime::Abi for FileAccessMode {
1277     type Abi = Self;
1278     type DefaultType = Self;
1279 }
1280 unsafe impl ::windows::runtime::RuntimeType for FileAccessMode {
1281     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileAccessMode;i4)");
1282 }
1283 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1284 #[repr(transparent)]
1285 pub struct FileAttributes(pub u32);
1286 impl FileAttributes {
1287     pub const Normal: FileAttributes = FileAttributes(0u32);
1288     pub const ReadOnly: FileAttributes = FileAttributes(1u32);
1289     pub const Directory: FileAttributes = FileAttributes(16u32);
1290     pub const Archive: FileAttributes = FileAttributes(32u32);
1291     pub const Temporary: FileAttributes = FileAttributes(256u32);
1292     pub const LocallyIncomplete: FileAttributes = FileAttributes(512u32);
1293 }
1294 impl ::std::convert::From<u32> for FileAttributes {
from(value: u32) -> Self1295     fn from(value: u32) -> Self {
1296         Self(value)
1297     }
1298 }
1299 unsafe impl ::windows::runtime::Abi for FileAttributes {
1300     type Abi = Self;
1301     type DefaultType = Self;
1302 }
1303 unsafe impl ::windows::runtime::RuntimeType for FileAttributes {
1304     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.FileAttributes;u4)");
1305 }
1306 impl ::std::ops::BitOr for FileAttributes {
1307     type Output = Self;
bitor(self, rhs: Self) -> Self1308     fn bitor(self, rhs: Self) -> Self {
1309         Self(self.0 | rhs.0)
1310     }
1311 }
1312 impl ::std::ops::BitAnd for FileAttributes {
1313     type Output = Self;
bitand(self, rhs: Self) -> Self1314     fn bitand(self, rhs: Self) -> Self {
1315         Self(self.0 & rhs.0)
1316     }
1317 }
1318 impl ::std::ops::BitOrAssign for FileAttributes {
bitor_assign(&mut self, rhs: Self)1319     fn bitor_assign(&mut self, rhs: Self) {
1320         self.0.bitor_assign(rhs.0)
1321     }
1322 }
1323 impl ::std::ops::BitAndAssign for FileAttributes {
bitand_assign(&mut self, rhs: Self)1324     fn bitand_assign(&mut self, rhs: Self) {
1325         self.0.bitand_assign(rhs.0)
1326     }
1327 }
1328 impl ::std::ops::Not for FileAttributes {
1329     type Output = Self;
not(self) -> Self1330     fn not(self) -> Self {
1331         Self(self.0.not())
1332     }
1333 }
1334 pub struct FileIO {}
1335 impl FileIO {
1336     #[cfg(feature = "Foundation")]
ReadTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>1337     pub fn ReadTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>> {
1338         Self::IFileIOStatics(|this| unsafe {
1339             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1340             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>(result__)
1341         })
1342     }
1343     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReadTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>1344     pub fn ReadTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>> {
1345         Self::IFileIOStatics(|this| unsafe {
1346             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1347             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), file.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>(result__)
1348         })
1349     }
1350     #[cfg(feature = "Foundation")]
WriteTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1351     pub fn WriteTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1352         Self::IFileIOStatics(|this| unsafe {
1353             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1354             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), file.into_param().abi(), contents.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1355         })
1356     }
1357     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1358     pub fn WriteTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1359         Self::IFileIOStatics(|this| unsafe {
1360             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1361             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), file.into_param().abi(), contents.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1362         })
1363     }
1364     #[cfg(feature = "Foundation")]
AppendTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1365     pub fn AppendTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1366         Self::IFileIOStatics(|this| unsafe {
1367             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1368             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), file.into_param().abi(), contents.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1369         })
1370     }
1371     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
AppendTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1372     pub fn AppendTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(file: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1373         Self::IFileIOStatics(|this| unsafe {
1374             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1375             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), file.into_param().abi(), contents.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1376         })
1377     }
1378     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
ReadLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>1379     pub fn ReadLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>> {
1380         Self::IFileIOStatics(|this| unsafe {
1381             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1382             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>(result__)
1383         })
1384     }
1385     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))]
ReadLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>1386     pub fn ReadLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>> {
1387         Self::IFileIOStatics(|this| unsafe {
1388             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1389             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), file.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>(result__)
1390         })
1391     }
1392     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
WriteLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1393     pub fn WriteLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1394         Self::IFileIOStatics(|this| unsafe {
1395             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1396             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), file.into_param().abi(), lines.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1397         })
1398     }
1399     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))]
WriteLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1400     pub fn WriteLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1401         Self::IFileIOStatics(|this| unsafe {
1402             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1403             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), file.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1404         })
1405     }
1406     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
AppendLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1407     pub fn AppendLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1408         Self::IFileIOStatics(|this| unsafe {
1409             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1410             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), file.into_param().abi(), lines.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1411         })
1412     }
1413     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))]
AppendLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1414     pub fn AppendLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(file: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1415         Self::IFileIOStatics(|this| unsafe {
1416             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1417             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), file.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1418         })
1419     }
1420     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReadBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IBuffer>>1421     pub fn ReadBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IBuffer>> {
1422         Self::IFileIOStatics(|this| unsafe {
1423             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1424             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), file.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IBuffer>>(result__)
1425         })
1426     }
1427     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, Streams::IBuffer>>(file: Param0, buffer: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1428     pub fn WriteBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, Streams::IBuffer>>(file: Param0, buffer: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1429         Self::IFileIOStatics(|this| unsafe {
1430             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1431             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), file.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1432         })
1433     }
1434     #[cfg(feature = "Foundation")]
WriteBytesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0, buffer: &[<u8 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>1435     pub fn WriteBytesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(file: Param0, buffer: &[<u8 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
1436         Self::IFileIOStatics(|this| unsafe {
1437             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1438             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), file.into_param().abi(), buffer.len() as u32, ::std::mem::transmute(buffer.as_ptr()), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
1439         })
1440     }
IFileIOStatics<R, F: FnOnce(&IFileIOStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1441     pub fn IFileIOStatics<R, F: FnOnce(&IFileIOStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1442         static mut SHARED: ::windows::runtime::FactoryCache<FileIO, IFileIOStatics> = ::windows::runtime::FactoryCache::new();
1443         unsafe { SHARED.call(callback) }
1444     }
1445 }
1446 impl ::windows::runtime::RuntimeName for FileIO {
1447     const NAME: &'static str = "Windows.Storage.FileIO";
1448 }
1449 #[repr(transparent)]
1450 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1451 #[doc(hidden)]
1452 pub struct IAppDataPaths(::windows::runtime::IInspectable);
1453 unsafe impl ::windows::runtime::Interface for IAppDataPaths {
1454     type Vtable = IAppDataPaths_abi;
1455     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1929500170, 31138, 18633, [158, 192, 63, 218, 9, 47, 121, 225]);
1456 }
1457 #[repr(C)]
1458 #[doc(hidden)]
1459 pub struct IAppDataPaths_abi(
1460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1471     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1475 );
1476 #[repr(transparent)]
1477 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1478 #[doc(hidden)]
1479 pub struct IAppDataPathsStatics(::windows::runtime::IInspectable);
1480 unsafe impl ::windows::runtime::Interface for IAppDataPathsStatics {
1481     type Vtable = IAppDataPathsStatics_abi;
1482     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3639290622, 43481, 19220, [185, 153, 227, 146, 19, 121, 217, 3]);
1483 }
1484 #[repr(C)]
1485 #[doc(hidden)]
1486 pub struct IAppDataPathsStatics_abi(
1487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1490     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1491     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1492     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1493     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1494     #[cfg(not(feature = "System"))] usize,
1495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1496 );
1497 #[repr(transparent)]
1498 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1499 #[doc(hidden)]
1500 pub struct IApplicationData(::windows::runtime::IInspectable);
1501 unsafe impl ::windows::runtime::Interface for IApplicationData {
1502     type Vtable = IApplicationData_abi;
1503     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3285872567, 46916, 19269, [176, 184, 34, 58, 9, 56, 208, 220]);
1504 }
1505 #[repr(C)]
1506 #[doc(hidden)]
1507 pub struct IApplicationData_abi(
1508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1515     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredversion: u32, handler: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1516     #[cfg(not(feature = "Foundation"))] usize,
1517     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1518     #[cfg(not(feature = "Foundation"))] usize,
1519     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, locality: ApplicationDataLocality, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1520     #[cfg(not(feature = "Foundation"))] usize,
1521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1526     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1527     #[cfg(not(feature = "Foundation"))] usize,
1528     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1529     #[cfg(not(feature = "Foundation"))] usize,
1530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
1532 );
1533 #[repr(transparent)]
1534 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1535 #[doc(hidden)]
1536 pub struct IApplicationData2(::windows::runtime::IInspectable);
1537 unsafe impl ::windows::runtime::Interface for IApplicationData2 {
1538     type Vtable = IApplicationData2_abi;
1539     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2657471849, 2979, 20018, [190, 41, 176, 45, 230, 96, 118, 56]);
1540 }
1541 #[repr(C)]
1542 #[doc(hidden)]
1543 pub struct IApplicationData2_abi(
1544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1551 );
1552 #[repr(transparent)]
1553 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1554 #[doc(hidden)]
1555 pub struct IApplicationData3(::windows::runtime::IInspectable);
1556 unsafe impl ::windows::runtime::Interface for IApplicationData3 {
1557     type Vtable = IApplicationData3_abi;
1558     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3693227252, 10098, 19485, [170, 44, 201, 247, 67, 173, 232, 209]);
1559 }
1560 #[repr(C)]
1561 #[doc(hidden)]
1562 pub struct IApplicationData3_abi(
1563     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, foldername: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1570     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, foldername: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1571     #[cfg(not(feature = "Foundation"))] usize,
1572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1573 );
1574 #[repr(transparent)]
1575 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1576 #[doc(hidden)]
1577 pub struct IApplicationDataContainer(::windows::runtime::IInspectable);
1578 unsafe impl ::windows::runtime::Interface for IApplicationDataContainer {
1579     type Vtable = IApplicationDataContainer_abi;
1580     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3316579614, 62567, 16570, [133, 102, 171, 100, 10, 68, 30, 29]);
1581 }
1582 #[repr(C)]
1583 #[doc(hidden)]
1584 pub struct IApplicationDataContainer_abi(
1585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ApplicationDataLocality) -> ::windows::runtime::HRESULT,
1593     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1594     #[cfg(not(feature = "Foundation_Collections"))] usize,
1595     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1596     #[cfg(not(feature = "Foundation_Collections"))] usize,
1597     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, disposition: ApplicationDataCreateDisposition, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1598     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1599 );
1600 #[repr(transparent)]
1601 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1602 #[doc(hidden)]
1603 pub struct IApplicationDataStatics(::windows::runtime::IInspectable);
1604 unsafe impl ::windows::runtime::Interface for IApplicationDataStatics {
1605     type Vtable = IApplicationDataStatics_abi;
1606     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1444025467, 59459, 17891, [148, 216, 6, 22, 158, 60, 142, 23]);
1607 }
1608 #[repr(C)]
1609 #[doc(hidden)]
1610 pub struct IApplicationDataStatics_abi(
1611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1615     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1616     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1618 );
1619 #[repr(transparent)]
1620 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1621 #[doc(hidden)]
1622 pub struct IApplicationDataStatics2(::windows::runtime::IInspectable);
1623 unsafe impl ::windows::runtime::Interface for IApplicationDataStatics2 {
1624     type Vtable = IApplicationDataStatics2_abi;
1625     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3445645841, 53065, 16548, [164, 124, 199, 240, 219, 186, 129, 7]);
1626 }
1627 #[repr(C)]
1628 #[doc(hidden)]
1629 pub struct IApplicationDataStatics2_abi(
1630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1636     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1637     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1638 );
1639 #[repr(transparent)]
1640 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1641 #[doc(hidden)]
1642 pub struct ICachedFileManagerStatics(::windows::runtime::IInspectable);
1643 unsafe impl ::windows::runtime::Interface for ICachedFileManagerStatics {
1644     type Vtable = ICachedFileManagerStatics_abi;
1645     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2415665738, 59266, 18781, [182, 20, 101, 76, 79, 11, 35, 112]);
1646 }
1647 #[repr(C)]
1648 #[doc(hidden)]
1649 pub struct ICachedFileManagerStatics_abi(
1650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1657     #[cfg(all(feature = "Foundation", feature = "Storage_Provider"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1658     #[cfg(not(all(feature = "Foundation", feature = "Storage_Provider")))] usize,
1659 );
1660 #[repr(transparent)]
1661 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1662 #[doc(hidden)]
1663 pub struct IDownloadsFolderStatics(::windows::runtime::IInspectable);
1664 unsafe impl ::windows::runtime::Interface for IDownloadsFolderStatics {
1665     type Vtable = IDownloadsFolderStatics_abi;
1666     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(663105232, 16462, 18399, [161, 226, 227, 115, 8, 190, 123, 55]);
1667 }
1668 #[repr(C)]
1669 #[doc(hidden)]
1670 pub struct IDownloadsFolderStatics_abi(
1671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1677     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1678     #[cfg(not(feature = "Foundation"))] usize,
1679     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1680     #[cfg(not(feature = "Foundation"))] usize,
1681     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: CreationCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1682     #[cfg(not(feature = "Foundation"))] usize,
1683     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: CreationCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1684     #[cfg(not(feature = "Foundation"))] usize,
1685 );
1686 #[repr(transparent)]
1687 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1688 #[doc(hidden)]
1689 pub struct IDownloadsFolderStatics2(::windows::runtime::IInspectable);
1690 unsafe impl ::windows::runtime::Interface for IDownloadsFolderStatics2 {
1691     type Vtable = IDownloadsFolderStatics2_abi;
1692     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3912254909, 36600, 20366, [141, 21, 172, 14, 38, 95, 57, 13]);
1693 }
1694 #[repr(C)]
1695 #[doc(hidden)]
1696 pub struct IDownloadsFolderStatics2_abi(
1697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1703     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1704     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1705     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1706     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1707     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: CreationCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1708     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1709     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: CreationCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1710     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1711 );
1712 #[repr(transparent)]
1713 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1714 #[doc(hidden)]
1715 pub struct IFileIOStatics(::windows::runtime::IInspectable);
1716 unsafe impl ::windows::runtime::Interface for IFileIOStatics {
1717     type Vtable = IFileIOStatics_abi;
1718     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2289308139, 32596, 18226, [165, 240, 94, 67, 227, 184, 194, 245]);
1719 }
1720 #[repr(C)]
1721 #[doc(hidden)]
1722 pub struct IFileIOStatics_abi(
1723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1727     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1728     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1729     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1730     #[cfg(not(feature = "Foundation"))] usize,
1731     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1732     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1733     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1734     #[cfg(not(feature = "Foundation"))] usize,
1735     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1736     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1737     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1738     #[cfg(not(feature = "Foundation"))] usize,
1739     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1740     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1741     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1742     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1743     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1744     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
1745     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, lines: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1746     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1747     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, lines: ::windows::runtime::RawPtr, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1748     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
1749     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, lines: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1750     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1751     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, lines: ::windows::runtime::RawPtr, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1752     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
1753     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1754     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1755     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, buffer: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1756     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1757     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr, buffer_array_size: u32, buffer: *const u8, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1758     #[cfg(not(feature = "Foundation"))] usize,
1759 );
1760 #[repr(transparent)]
1761 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1762 #[doc(hidden)]
1763 pub struct IKnownFoldersCameraRollStatics(::windows::runtime::IInspectable);
1764 unsafe impl ::windows::runtime::Interface for IKnownFoldersCameraRollStatics {
1765     type Vtable = IKnownFoldersCameraRollStatics_abi;
1766     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1561419366, 10216, 18735, [184, 229, 47, 144, 137, 108, 212, 205]);
1767 }
1768 #[repr(C)]
1769 #[doc(hidden)]
1770 pub struct IKnownFoldersCameraRollStatics_abi(
1771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1778 );
1779 #[repr(transparent)]
1780 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1781 #[doc(hidden)]
1782 pub struct IKnownFoldersPlaylistsStatics(::windows::runtime::IInspectable);
1783 unsafe impl ::windows::runtime::Interface for IKnownFoldersPlaylistsStatics {
1784     type Vtable = IKnownFoldersPlaylistsStatics_abi;
1785     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3671452886, 12399, 19818, [180, 150, 70, 186, 142, 177, 6, 206]);
1786 }
1787 #[repr(C)]
1788 #[doc(hidden)]
1789 pub struct IKnownFoldersPlaylistsStatics_abi(
1790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1797 );
1798 #[repr(transparent)]
1799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1800 #[doc(hidden)]
1801 pub struct IKnownFoldersSavedPicturesStatics(::windows::runtime::IInspectable);
1802 unsafe impl ::windows::runtime::Interface for IKnownFoldersSavedPicturesStatics {
1803     type Vtable = IKnownFoldersSavedPicturesStatics_abi;
1804     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(89953258, 9533, 18044, [182, 202, 169, 125, 161, 233, 161, 141]);
1805 }
1806 #[repr(C)]
1807 #[doc(hidden)]
1808 pub struct IKnownFoldersSavedPicturesStatics_abi(
1809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1816 );
1817 #[repr(transparent)]
1818 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1819 #[doc(hidden)]
1820 pub struct IKnownFoldersStatics(::windows::runtime::IInspectable);
1821 unsafe impl ::windows::runtime::Interface for IKnownFoldersStatics {
1822     type Vtable = IKnownFoldersStatics_abi;
1823     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1512731936, 18434, 17709, [154, 217, 67, 81, 173, 167, 236, 53]);
1824 }
1825 #[repr(C)]
1826 #[doc(hidden)]
1827 pub struct IKnownFoldersStatics_abi(
1828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1839     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1840     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1841 );
1842 #[repr(transparent)]
1843 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1844 #[doc(hidden)]
1845 pub struct IKnownFoldersStatics2(::windows::runtime::IInspectable);
1846 unsafe impl ::windows::runtime::Interface for IKnownFoldersStatics2 {
1847     type Vtable = IKnownFoldersStatics2_abi;
1848     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(424399053, 53102, 19719, [157, 83, 233, 22, 58, 37, 54, 233]);
1849 }
1850 #[repr(C)]
1851 #[doc(hidden)]
1852 pub struct IKnownFoldersStatics2_abi(
1853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1857     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1858     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1859     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1861     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1862 );
1863 #[repr(transparent)]
1864 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1865 #[doc(hidden)]
1866 pub struct IKnownFoldersStatics3(::windows::runtime::IInspectable);
1867 unsafe impl ::windows::runtime::Interface for IKnownFoldersStatics3 {
1868     type Vtable = IKnownFoldersStatics3_abi;
1869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3306767169, 38722, 20181, [130, 61, 252, 20, 1, 20, 135, 100]);
1870 }
1871 #[repr(C)]
1872 #[doc(hidden)]
1873 pub struct IKnownFoldersStatics3_abi(
1874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1877     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1878     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1880     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, folderid: KnownFolderId, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1881     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1882 );
1883 #[repr(transparent)]
1884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1885 #[doc(hidden)]
1886 pub struct IKnownFoldersStatics4(::windows::runtime::IInspectable);
1887 unsafe impl ::windows::runtime::Interface for IKnownFoldersStatics4 {
1888     type Vtable = IKnownFoldersStatics4_abi;
1889     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(388163263, 40953, 19233, [190, 213, 144, 236, 177, 58, 25, 46]);
1890 }
1891 #[repr(C)]
1892 #[doc(hidden)]
1893 pub struct IKnownFoldersStatics4_abi(
1894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1897     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1898     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1900     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folderid: KnownFolderId, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1901     #[cfg(not(feature = "Foundation"))] usize,
1902     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, folderid: KnownFolderId, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1903     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
1904     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folderid: KnownFolderId, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1905     #[cfg(not(feature = "Foundation"))] usize,
1906 );
1907 #[repr(transparent)]
1908 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1909 #[doc(hidden)]
1910 pub struct IPathIOStatics(::windows::runtime::IInspectable);
1911 unsafe impl ::windows::runtime::Interface for IPathIOStatics {
1912     type Vtable = IPathIOStatics_abi;
1913     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(254752600, 36551, 17281, [146, 43, 143, 108, 7, 210, 136, 243]);
1914 }
1915 #[repr(C)]
1916 #[doc(hidden)]
1917 pub struct IPathIOStatics_abi(
1918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1924     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1925     #[cfg(not(feature = "Foundation"))] usize,
1926     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1927     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1928     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1929     #[cfg(not(feature = "Foundation"))] usize,
1930     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1931     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1932     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1933     #[cfg(not(feature = "Foundation"))] usize,
1934     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, contents: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1935     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1936     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1937     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1938     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1939     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
1940     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, lines: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1941     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1942     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, lines: ::windows::runtime::RawPtr, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1943     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
1944     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, lines: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1945     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1946     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, lines: ::windows::runtime::RawPtr, encoding: Streams::UnicodeEncoding, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1947     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
1948     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1949     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1950     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, buffer: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1951     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
1952     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, absolutepath: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, buffer_array_size: u32, buffer: *const u8, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1953     #[cfg(not(feature = "Foundation"))] usize,
1954 );
1955 #[repr(transparent)]
1956 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1957 #[doc(hidden)]
1958 pub struct ISetVersionDeferral(::windows::runtime::IInspectable);
1959 unsafe impl ::windows::runtime::Interface for ISetVersionDeferral {
1960     type Vtable = ISetVersionDeferral_abi;
1961     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(53807266, 30746, 17274, [176, 120, 63, 50, 186, 220, 254, 71]);
1962 }
1963 #[repr(C)]
1964 #[doc(hidden)]
1965 pub struct ISetVersionDeferral_abi(
1966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1973 );
1974 #[repr(transparent)]
1975 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1976 #[doc(hidden)]
1977 pub struct ISetVersionRequest(::windows::runtime::IInspectable);
1978 unsafe impl ::windows::runtime::Interface for ISetVersionRequest {
1979     type Vtable = ISetVersionRequest_abi;
1980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3116854171, 4182, 20073, [131, 48, 22, 38, 25, 149, 111, 155]);
1981 }
1982 #[repr(C)]
1983 #[doc(hidden)]
1984 pub struct ISetVersionRequest_abi(
1985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1994 );
1995 #[repr(transparent)]
1996 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1997 pub struct IStorageFile(::windows::runtime::IInspectable);
1998 unsafe impl ::windows::runtime::Interface for IStorageFile {
1999     type Vtable = IStorageFile_abi;
2000     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4198457734, 16916, 17036, [166, 76, 20, 201, 172, 115, 21, 234]);
2001 }
2002 impl IStorageFile {
FileType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2003     pub fn FileType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2004         let this = self;
2005         unsafe {
2006             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2007             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2008         }
2009     }
ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2010     pub fn ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2011         let this = self;
2012         unsafe {
2013             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2014             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2015         }
2016     }
2017     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenAsync(&self, accessmode: FileAccessMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>2018     pub fn OpenAsync(&self, accessmode: FileAccessMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>> {
2019         let this = self;
2020         unsafe {
2021             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2022             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), accessmode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>(result__)
2023         }
2024     }
2025     #[cfg(feature = "Foundation")]
OpenTransactedWriteAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>>2026     pub fn OpenTransactedWriteAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>> {
2027         let this = self;
2028         unsafe {
2029             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2030             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageStreamTransaction>>(result__)
2031         }
2032     }
2033     #[cfg(feature = "Foundation")]
CopyOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>2034     pub fn CopyOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
2035         let this = self;
2036         unsafe {
2037             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2038             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
2039         }
2040     }
2041     #[cfg(feature = "Foundation")]
CopyOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>2042     pub fn CopyOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
2043         let this = self;
2044         unsafe {
2045             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2046             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
2047         }
2048     }
2049     #[cfg(feature = "Foundation")]
CopyOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>2050     pub fn CopyOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
2051         let this = self;
2052         unsafe {
2053             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2054             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
2055         }
2056     }
2057     #[cfg(feature = "Foundation")]
CopyAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2058     pub fn CopyAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2059         let this = self;
2060         unsafe {
2061             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2062             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), filetoreplace.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2063         }
2064     }
2065     #[cfg(feature = "Foundation")]
MoveOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2066     pub fn MoveOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2067         let this = self;
2068         unsafe {
2069             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2070             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2071         }
2072     }
2073     #[cfg(feature = "Foundation")]
MoveOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2074     pub fn MoveOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2075         let this = self;
2076         unsafe {
2077             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2078             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2079         }
2080     }
2081     #[cfg(feature = "Foundation")]
MoveOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2082     pub fn MoveOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2083         let this = self;
2084         unsafe {
2085             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2086             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2087         }
2088     }
2089     #[cfg(feature = "Foundation")]
MoveAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2090     pub fn MoveAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2091         let this = self;
2092         unsafe {
2093             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2094             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), filetoreplace.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2095         }
2096     }
2097     #[cfg(feature = "Foundation")]
RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2098     pub fn RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2099         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2100         unsafe {
2101             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2102             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2103         }
2104     }
2105     #[cfg(feature = "Foundation")]
RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2106     pub fn RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2107         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2108         unsafe {
2109             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2110             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2111         }
2112     }
2113     #[cfg(feature = "Foundation")]
DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2114     pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2115         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2116         unsafe {
2117             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2118             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2119         }
2120     }
2121     #[cfg(feature = "Foundation")]
DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2122     pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2123         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2124         unsafe {
2125             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2126             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2127         }
2128     }
2129     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>2130     pub fn GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>> {
2131         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2132         unsafe {
2133             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2134             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>(result__)
2135         }
2136     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2137     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2138         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2139         unsafe {
2140             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2141             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2142         }
2143     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2144     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2145         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2146         unsafe {
2147             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2148             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2149         }
2150     }
Attributes(&self) -> ::windows::runtime::Result<FileAttributes>2151     pub fn Attributes(&self) -> ::windows::runtime::Result<FileAttributes> {
2152         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2153         unsafe {
2154             let mut result__: FileAttributes = ::std::mem::zeroed();
2155             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileAttributes>(result__)
2156         }
2157     }
2158     #[cfg(feature = "Foundation")]
DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>2159     pub fn DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
2160         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2161         unsafe {
2162             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
2163             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
2164         }
2165     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>2166     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
2167         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2168         unsafe {
2169             let mut result__: bool = ::std::mem::zeroed();
2170             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
2171         }
2172     }
2173     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenSequentialReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IInputStream>>2174     pub fn OpenSequentialReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IInputStream>> {
2175         let this = &::windows::runtime::Interface::cast::<Streams::IInputStreamReference>(self)?;
2176         unsafe {
2177             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2178             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IInputStream>>(result__)
2179         }
2180     }
2181     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStreamWithContentType>>2182     pub fn OpenReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStreamWithContentType>> {
2183         let this = &::windows::runtime::Interface::cast::<Streams::IRandomAccessStreamReference>(self)?;
2184         unsafe {
2185             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2186             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IRandomAccessStreamWithContentType>>(result__)
2187         }
2188     }
2189 }
2190 unsafe impl ::windows::runtime::RuntimeType for IStorageFile {
2191     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{fa3f6186-4214-428c-a64c-14c9ac7315ea}");
2192 }
2193 impl ::std::convert::From<IStorageFile> for ::windows::runtime::IUnknown {
from(value: IStorageFile) -> Self2194     fn from(value: IStorageFile) -> Self {
2195         unsafe { ::std::mem::transmute(value) }
2196     }
2197 }
2198 impl ::std::convert::From<&IStorageFile> for ::windows::runtime::IUnknown {
from(value: &IStorageFile) -> Self2199     fn from(value: &IStorageFile) -> Self {
2200         ::std::convert::From::from(::std::clone::Clone::clone(value))
2201     }
2202 }
2203 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2204     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2205         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2206     }
2207 }
2208 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2209     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2210         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2211     }
2212 }
2213 impl ::std::convert::From<IStorageFile> for ::windows::runtime::IInspectable {
from(value: IStorageFile) -> Self2214     fn from(value: IStorageFile) -> Self {
2215         value.0
2216     }
2217 }
2218 impl ::std::convert::From<&IStorageFile> for ::windows::runtime::IInspectable {
from(value: &IStorageFile) -> Self2219     fn from(value: &IStorageFile) -> Self {
2220         value.0.clone()
2221     }
2222 }
2223 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2224     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2225         ::windows::runtime::Param::Owned(self.0)
2226     }
2227 }
2228 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2229     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2230         ::windows::runtime::Param::Borrowed(&self.0)
2231     }
2232 }
2233 impl ::std::convert::TryFrom<IStorageFile> for IStorageItem {
2234     type Error = ::windows::runtime::Error;
try_from(value: IStorageFile) -> ::windows::runtime::Result<Self>2235     fn try_from(value: IStorageFile) -> ::windows::runtime::Result<Self> {
2236         ::std::convert::TryFrom::try_from(&value)
2237     }
2238 }
2239 impl ::std::convert::TryFrom<&IStorageFile> for IStorageItem {
2240     type Error = ::windows::runtime::Error;
try_from(value: &IStorageFile) -> ::windows::runtime::Result<Self>2241     fn try_from(value: &IStorageFile) -> ::windows::runtime::Result<Self> {
2242         ::windows::runtime::Interface::cast(value)
2243     }
2244 }
2245 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>2246     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
2247         ::windows::runtime::IntoParam::into_param(&self)
2248     }
2249 }
2250 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for &IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>2251     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
2252         ::std::convert::TryInto::<IStorageItem>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2253     }
2254 }
2255 #[cfg(feature = "Storage_Streams")]
2256 impl ::std::convert::TryFrom<IStorageFile> for Streams::IInputStreamReference {
2257     type Error = ::windows::runtime::Error;
try_from(value: IStorageFile) -> ::windows::runtime::Result<Self>2258     fn try_from(value: IStorageFile) -> ::windows::runtime::Result<Self> {
2259         ::std::convert::TryFrom::try_from(&value)
2260     }
2261 }
2262 #[cfg(feature = "Storage_Streams")]
2263 impl ::std::convert::TryFrom<&IStorageFile> for Streams::IInputStreamReference {
2264     type Error = ::windows::runtime::Error;
try_from(value: &IStorageFile) -> ::windows::runtime::Result<Self>2265     fn try_from(value: &IStorageFile) -> ::windows::runtime::Result<Self> {
2266         ::windows::runtime::Interface::cast(value)
2267     }
2268 }
2269 #[cfg(feature = "Storage_Streams")]
2270 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IInputStreamReference> for IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference>2271     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference> {
2272         ::windows::runtime::IntoParam::into_param(&self)
2273     }
2274 }
2275 #[cfg(feature = "Storage_Streams")]
2276 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IInputStreamReference> for &IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference>2277     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference> {
2278         ::std::convert::TryInto::<Streams::IInputStreamReference>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2279     }
2280 }
2281 #[cfg(feature = "Storage_Streams")]
2282 impl ::std::convert::TryFrom<IStorageFile> for Streams::IRandomAccessStreamReference {
2283     type Error = ::windows::runtime::Error;
try_from(value: IStorageFile) -> ::windows::runtime::Result<Self>2284     fn try_from(value: IStorageFile) -> ::windows::runtime::Result<Self> {
2285         ::std::convert::TryFrom::try_from(&value)
2286     }
2287 }
2288 #[cfg(feature = "Storage_Streams")]
2289 impl ::std::convert::TryFrom<&IStorageFile> for Streams::IRandomAccessStreamReference {
2290     type Error = ::windows::runtime::Error;
try_from(value: &IStorageFile) -> ::windows::runtime::Result<Self>2291     fn try_from(value: &IStorageFile) -> ::windows::runtime::Result<Self> {
2292         ::windows::runtime::Interface::cast(value)
2293     }
2294 }
2295 #[cfg(feature = "Storage_Streams")]
2296 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference> for IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference>2297     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference> {
2298         ::windows::runtime::IntoParam::into_param(&self)
2299     }
2300 }
2301 #[cfg(feature = "Storage_Streams")]
2302 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference> for &IStorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference>2303     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference> {
2304         ::std::convert::TryInto::<Streams::IRandomAccessStreamReference>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2305     }
2306 }
2307 #[repr(C)]
2308 #[doc(hidden)]
2309 pub struct IStorageFile_abi(
2310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2318     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessmode: FileAccessMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2319     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
2320     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2321     #[cfg(not(feature = "Foundation"))] usize,
2322     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationfolder: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2323     #[cfg(not(feature = "Foundation"))] usize,
2324     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationfolder: ::windows::runtime::RawPtr, desirednewname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2325     #[cfg(not(feature = "Foundation"))] usize,
2326     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationfolder: ::windows::runtime::RawPtr, desirednewname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: NameCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2327     #[cfg(not(feature = "Foundation"))] usize,
2328     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filetoreplace: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2329     #[cfg(not(feature = "Foundation"))] usize,
2330     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationfolder: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2331     #[cfg(not(feature = "Foundation"))] usize,
2332     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationfolder: ::windows::runtime::RawPtr, desirednewname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2333     #[cfg(not(feature = "Foundation"))] usize,
2334     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationfolder: ::windows::runtime::RawPtr, desirednewname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: NameCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2335     #[cfg(not(feature = "Foundation"))] usize,
2336     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filetoreplace: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2337     #[cfg(not(feature = "Foundation"))] usize,
2338 );
2339 #[repr(transparent)]
2340 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2341 pub struct IStorageFile2(::windows::runtime::IInspectable);
2342 unsafe impl ::windows::runtime::Interface for IStorageFile2 {
2343     type Vtable = IStorageFile2_abi;
2344     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2504936399, 2679, 17147, [183, 119, 194, 237, 88, 165, 46, 68]);
2345 }
2346 impl IStorageFile2 {
2347     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenWithOptionsAsync(&self, accessmode: FileAccessMode, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>2348     pub fn OpenWithOptionsAsync(&self, accessmode: FileAccessMode, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>> {
2349         let this = self;
2350         unsafe {
2351             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2352             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), accessmode, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>(result__)
2353         }
2354     }
2355     #[cfg(feature = "Foundation")]
OpenTransactedWriteWithOptionsAsync(&self, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>>2356     pub fn OpenTransactedWriteWithOptionsAsync(&self, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>> {
2357         let this = self;
2358         unsafe {
2359             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2360             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageStreamTransaction>>(result__)
2361         }
2362     }
2363 }
2364 unsafe impl ::windows::runtime::RuntimeType for IStorageFile2 {
2365     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{954e4bcf-0a77-42fb-b777-c2ed58a52e44}");
2366 }
2367 impl ::std::convert::From<IStorageFile2> for ::windows::runtime::IUnknown {
from(value: IStorageFile2) -> Self2368     fn from(value: IStorageFile2) -> Self {
2369         unsafe { ::std::mem::transmute(value) }
2370     }
2371 }
2372 impl ::std::convert::From<&IStorageFile2> for ::windows::runtime::IUnknown {
from(value: &IStorageFile2) -> Self2373     fn from(value: &IStorageFile2) -> Self {
2374         ::std::convert::From::from(::std::clone::Clone::clone(value))
2375     }
2376 }
2377 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageFile2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2378     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2379         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2380     }
2381 }
2382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageFile2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2384         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2385     }
2386 }
2387 impl ::std::convert::From<IStorageFile2> for ::windows::runtime::IInspectable {
from(value: IStorageFile2) -> Self2388     fn from(value: IStorageFile2) -> Self {
2389         value.0
2390     }
2391 }
2392 impl ::std::convert::From<&IStorageFile2> for ::windows::runtime::IInspectable {
from(value: &IStorageFile2) -> Self2393     fn from(value: &IStorageFile2) -> Self {
2394         value.0.clone()
2395     }
2396 }
2397 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageFile2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2398     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2399         ::windows::runtime::Param::Owned(self.0)
2400     }
2401 }
2402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageFile2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2404         ::windows::runtime::Param::Borrowed(&self.0)
2405     }
2406 }
2407 #[repr(C)]
2408 #[doc(hidden)]
2409 pub struct IStorageFile2_abi(
2410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2416     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, accessmode: FileAccessMode, options: StorageOpenOptions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2417     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
2418     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: StorageOpenOptions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2419     #[cfg(not(feature = "Foundation"))] usize,
2420 );
2421 #[repr(transparent)]
2422 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2423 pub struct IStorageFilePropertiesWithAvailability(::windows::runtime::IInspectable);
2424 unsafe impl ::windows::runtime::Interface for IStorageFilePropertiesWithAvailability {
2425     type Vtable = IStorageFilePropertiesWithAvailability_abi;
2426     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2949365403, 22571, 16691, [150, 72, 228, 76, 164, 110, 228, 145]);
2427 }
2428 impl IStorageFilePropertiesWithAvailability {
IsAvailable(&self) -> ::windows::runtime::Result<bool>2429     pub fn IsAvailable(&self) -> ::windows::runtime::Result<bool> {
2430         let this = self;
2431         unsafe {
2432             let mut result__: bool = ::std::mem::zeroed();
2433             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2434         }
2435     }
2436 }
2437 unsafe impl ::windows::runtime::RuntimeType for IStorageFilePropertiesWithAvailability {
2438     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{afcbbe9b-582b-4133-9648-e44ca46ee491}");
2439 }
2440 impl ::std::convert::From<IStorageFilePropertiesWithAvailability> for ::windows::runtime::IUnknown {
from(value: IStorageFilePropertiesWithAvailability) -> Self2441     fn from(value: IStorageFilePropertiesWithAvailability) -> Self {
2442         unsafe { ::std::mem::transmute(value) }
2443     }
2444 }
2445 impl ::std::convert::From<&IStorageFilePropertiesWithAvailability> for ::windows::runtime::IUnknown {
from(value: &IStorageFilePropertiesWithAvailability) -> Self2446     fn from(value: &IStorageFilePropertiesWithAvailability) -> Self {
2447         ::std::convert::From::from(::std::clone::Clone::clone(value))
2448     }
2449 }
2450 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageFilePropertiesWithAvailability {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2451     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2452         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2453     }
2454 }
2455 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageFilePropertiesWithAvailability {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2456     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2457         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2458     }
2459 }
2460 impl ::std::convert::From<IStorageFilePropertiesWithAvailability> for ::windows::runtime::IInspectable {
from(value: IStorageFilePropertiesWithAvailability) -> Self2461     fn from(value: IStorageFilePropertiesWithAvailability) -> Self {
2462         value.0
2463     }
2464 }
2465 impl ::std::convert::From<&IStorageFilePropertiesWithAvailability> for ::windows::runtime::IInspectable {
from(value: &IStorageFilePropertiesWithAvailability) -> Self2466     fn from(value: &IStorageFilePropertiesWithAvailability) -> Self {
2467         value.0.clone()
2468     }
2469 }
2470 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageFilePropertiesWithAvailability {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2471     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2472         ::windows::runtime::Param::Owned(self.0)
2473     }
2474 }
2475 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageFilePropertiesWithAvailability {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2476     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2477         ::windows::runtime::Param::Borrowed(&self.0)
2478     }
2479 }
2480 #[repr(C)]
2481 #[doc(hidden)]
2482 pub struct IStorageFilePropertiesWithAvailability_abi(
2483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2485     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2486     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2487     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2488     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2489     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2490 );
2491 #[repr(transparent)]
2492 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2493 #[doc(hidden)]
2494 pub struct IStorageFileStatics(::windows::runtime::IInspectable);
2495 unsafe impl ::windows::runtime::Interface for IStorageFileStatics {
2496     type Vtable = IStorageFileStatics_abi;
2497     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1501873936, 56050, 17352, [139, 180, 164, 211, 234, 207, 208, 63]);
2498 }
2499 #[repr(C)]
2500 #[doc(hidden)]
2501 pub struct IStorageFileStatics_abi(
2502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2508     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2509     #[cfg(not(feature = "Foundation"))] usize,
2510     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2511     #[cfg(not(feature = "Foundation"))] usize,
2512     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaynamewithextension: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, datarequested: ::windows::runtime::RawPtr, thumbnail: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2513     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
2514     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filetoreplace: ::windows::runtime::RawPtr, datarequested: ::windows::runtime::RawPtr, thumbnail: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2515     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
2516     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, displaynamewithextension: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, uri: ::windows::runtime::RawPtr, thumbnail: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2517     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
2518     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, filetoreplace: ::windows::runtime::RawPtr, uri: ::windows::runtime::RawPtr, thumbnail: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2519     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
2520 );
2521 #[repr(transparent)]
2522 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2523 #[doc(hidden)]
2524 pub struct IStorageFileStatics2(::windows::runtime::IInspectable);
2525 unsafe impl ::windows::runtime::Interface for IStorageFileStatics2 {
2526     type Vtable = IStorageFileStatics2_abi;
2527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1551280001, 8494, 19193, [143, 4, 116, 12, 174, 16, 137, 116]);
2528 }
2529 #[repr(C)]
2530 #[doc(hidden)]
2531 pub struct IStorageFileStatics2_abi(
2532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2538     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2539     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
2540 );
2541 #[repr(transparent)]
2542 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2543 pub struct IStorageFolder(::windows::runtime::IInspectable);
2544 unsafe impl ::windows::runtime::Interface for IStorageFolder {
2545     type Vtable = IStorageFolder_abi;
2546     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1926351736, 46063, 20341, [168, 11, 111, 217, 218, 226, 148, 75]);
2547 }
2548 impl IStorageFolder {
2549     #[cfg(feature = "Foundation")]
CreateFileAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>2550     pub fn CreateFileAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
2551         let this = self;
2552         unsafe {
2553             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2554             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
2555         }
2556     }
2557     #[cfg(feature = "Foundation")]
CreateFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>2558     pub fn CreateFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
2559         let this = self;
2560         unsafe {
2561             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2562             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
2563         }
2564     }
2565     #[cfg(feature = "Foundation")]
CreateFolderAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>2566     pub fn CreateFolderAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
2567         let this = self;
2568         unsafe {
2569             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2570             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
2571         }
2572     }
2573     #[cfg(feature = "Foundation")]
CreateFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>2574     pub fn CreateFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
2575         let this = self;
2576         unsafe {
2577             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2578             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
2579         }
2580     }
2581     #[cfg(feature = "Foundation")]
GetFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>2582     pub fn GetFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
2583         let this = self;
2584         unsafe {
2585             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2586             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
2587         }
2588     }
2589     #[cfg(feature = "Foundation")]
GetFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>2590     pub fn GetFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
2591         let this = self;
2592         unsafe {
2593             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2594             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
2595         }
2596     }
2597     #[cfg(feature = "Foundation")]
GetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>>2598     pub fn GetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>> {
2599         let this = self;
2600         unsafe {
2601             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2602             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<IStorageItem>>(result__)
2603         }
2604     }
2605     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetFilesAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>2606     pub fn GetFilesAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>> {
2607         let this = self;
2608         unsafe {
2609             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2610             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>(result__)
2611         }
2612     }
2613     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetFoldersAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>2614     pub fn GetFoldersAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>> {
2615         let this = self;
2616         unsafe {
2617             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2618             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>(result__)
2619         }
2620     }
2621     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetItemsAsyncOverloadDefaultStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>>2622     pub fn GetItemsAsyncOverloadDefaultStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>> {
2623         let this = self;
2624         unsafe {
2625             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2626             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>>(result__)
2627         }
2628     }
2629     #[cfg(feature = "Foundation")]
RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2630     pub fn RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2631         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2632         unsafe {
2633             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2634             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2635         }
2636     }
2637     #[cfg(feature = "Foundation")]
RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2638     pub fn RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2639         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2640         unsafe {
2641             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2642             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2643         }
2644     }
2645     #[cfg(feature = "Foundation")]
DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2646     pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2647         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2648         unsafe {
2649             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2650             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2651         }
2652     }
2653     #[cfg(feature = "Foundation")]
DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2654     pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2655         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2656         unsafe {
2657             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2658             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2659         }
2660     }
2661     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>2662     pub fn GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>> {
2663         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2664         unsafe {
2665             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2666             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>(result__)
2667         }
2668     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2669     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2670         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2671         unsafe {
2672             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2673             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2674         }
2675     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2676     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2677         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2678         unsafe {
2679             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2680             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2681         }
2682     }
Attributes(&self) -> ::windows::runtime::Result<FileAttributes>2683     pub fn Attributes(&self) -> ::windows::runtime::Result<FileAttributes> {
2684         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2685         unsafe {
2686             let mut result__: FileAttributes = ::std::mem::zeroed();
2687             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileAttributes>(result__)
2688         }
2689     }
2690     #[cfg(feature = "Foundation")]
DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>2691     pub fn DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
2692         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2693         unsafe {
2694             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
2695             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
2696         }
2697     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>2698     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
2699         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
2700         unsafe {
2701             let mut result__: bool = ::std::mem::zeroed();
2702             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
2703         }
2704     }
2705 }
2706 unsafe impl ::windows::runtime::RuntimeType for IStorageFolder {
2707     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{72d1cb78-b3ef-4f75-a80b-6fd9dae2944b}");
2708 }
2709 impl ::std::convert::From<IStorageFolder> for ::windows::runtime::IUnknown {
from(value: IStorageFolder) -> Self2710     fn from(value: IStorageFolder) -> Self {
2711         unsafe { ::std::mem::transmute(value) }
2712     }
2713 }
2714 impl ::std::convert::From<&IStorageFolder> for ::windows::runtime::IUnknown {
from(value: &IStorageFolder) -> Self2715     fn from(value: &IStorageFolder) -> Self {
2716         ::std::convert::From::from(::std::clone::Clone::clone(value))
2717     }
2718 }
2719 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2720     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2721         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2722     }
2723 }
2724 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2725     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2726         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2727     }
2728 }
2729 impl ::std::convert::From<IStorageFolder> for ::windows::runtime::IInspectable {
from(value: IStorageFolder) -> Self2730     fn from(value: IStorageFolder) -> Self {
2731         value.0
2732     }
2733 }
2734 impl ::std::convert::From<&IStorageFolder> for ::windows::runtime::IInspectable {
from(value: &IStorageFolder) -> Self2735     fn from(value: &IStorageFolder) -> Self {
2736         value.0.clone()
2737     }
2738 }
2739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2741         ::windows::runtime::Param::Owned(self.0)
2742     }
2743 }
2744 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2745     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2746         ::windows::runtime::Param::Borrowed(&self.0)
2747     }
2748 }
2749 impl ::std::convert::TryFrom<IStorageFolder> for IStorageItem {
2750     type Error = ::windows::runtime::Error;
try_from(value: IStorageFolder) -> ::windows::runtime::Result<Self>2751     fn try_from(value: IStorageFolder) -> ::windows::runtime::Result<Self> {
2752         ::std::convert::TryFrom::try_from(&value)
2753     }
2754 }
2755 impl ::std::convert::TryFrom<&IStorageFolder> for IStorageItem {
2756     type Error = ::windows::runtime::Error;
try_from(value: &IStorageFolder) -> ::windows::runtime::Result<Self>2757     fn try_from(value: &IStorageFolder) -> ::windows::runtime::Result<Self> {
2758         ::windows::runtime::Interface::cast(value)
2759     }
2760 }
2761 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for IStorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>2762     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
2763         ::windows::runtime::IntoParam::into_param(&self)
2764     }
2765 }
2766 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for &IStorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>2767     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
2768         ::std::convert::TryInto::<IStorageItem>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2769     }
2770 }
2771 #[repr(C)]
2772 #[doc(hidden)]
2773 pub struct IStorageFolder_abi(
2774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2780     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2781     #[cfg(not(feature = "Foundation"))] usize,
2782     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: CreationCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2783     #[cfg(not(feature = "Foundation"))] usize,
2784     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2785     #[cfg(not(feature = "Foundation"))] usize,
2786     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, options: CreationCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2787     #[cfg(not(feature = "Foundation"))] usize,
2788     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2789     #[cfg(not(feature = "Foundation"))] usize,
2790     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2791     #[cfg(not(feature = "Foundation"))] usize,
2792     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2793     #[cfg(not(feature = "Foundation"))] usize,
2794     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2795     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2796     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2797     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2798     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2799     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
2800 );
2801 #[repr(transparent)]
2802 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2803 pub struct IStorageFolder2(::windows::runtime::IInspectable);
2804 unsafe impl ::windows::runtime::Interface for IStorageFolder2 {
2805     type Vtable = IStorageFolder2_abi;
2806     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3894929593, 2265, 19086, [160, 172, 254, 94, 211, 203, 187, 211]);
2807 }
2808 impl IStorageFolder2 {
2809     #[cfg(feature = "Foundation")]
TryGetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>>2810     pub fn TryGetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>> {
2811         let this = self;
2812         unsafe {
2813             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2814             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<IStorageItem>>(result__)
2815         }
2816     }
2817 }
2818 unsafe impl ::windows::runtime::RuntimeType for IStorageFolder2 {
2819     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{e827e8b9-08d9-4a8e-a0ac-fe5ed3cbbbd3}");
2820 }
2821 impl ::std::convert::From<IStorageFolder2> for ::windows::runtime::IUnknown {
from(value: IStorageFolder2) -> Self2822     fn from(value: IStorageFolder2) -> Self {
2823         unsafe { ::std::mem::transmute(value) }
2824     }
2825 }
2826 impl ::std::convert::From<&IStorageFolder2> for ::windows::runtime::IUnknown {
from(value: &IStorageFolder2) -> Self2827     fn from(value: &IStorageFolder2) -> Self {
2828         ::std::convert::From::from(::std::clone::Clone::clone(value))
2829     }
2830 }
2831 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageFolder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2832     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2833         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2834     }
2835 }
2836 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageFolder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2837     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2838         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2839     }
2840 }
2841 impl ::std::convert::From<IStorageFolder2> for ::windows::runtime::IInspectable {
from(value: IStorageFolder2) -> Self2842     fn from(value: IStorageFolder2) -> Self {
2843         value.0
2844     }
2845 }
2846 impl ::std::convert::From<&IStorageFolder2> for ::windows::runtime::IInspectable {
from(value: &IStorageFolder2) -> Self2847     fn from(value: &IStorageFolder2) -> Self {
2848         value.0.clone()
2849     }
2850 }
2851 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageFolder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2852     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2853         ::windows::runtime::Param::Owned(self.0)
2854     }
2855 }
2856 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageFolder2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2857     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2858         ::windows::runtime::Param::Borrowed(&self.0)
2859     }
2860 }
2861 #[repr(C)]
2862 #[doc(hidden)]
2863 pub struct IStorageFolder2_abi(
2864     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2870     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, name: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2871     #[cfg(not(feature = "Foundation"))] usize,
2872 );
2873 #[repr(transparent)]
2874 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2875 #[doc(hidden)]
2876 pub struct IStorageFolder3(::windows::runtime::IInspectable);
2877 unsafe impl ::windows::runtime::Interface for IStorageFolder3 {
2878     type Vtable = IStorageFolder3_abi;
2879     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2673965209, 48609, 16676, [174, 179, 176, 106, 217, 111, 152, 212]);
2880 }
2881 #[repr(C)]
2882 #[doc(hidden)]
2883 pub struct IStorageFolder3_abi(
2884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2891 );
2892 #[repr(transparent)]
2893 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2894 #[doc(hidden)]
2895 pub struct IStorageFolderStatics(::windows::runtime::IInspectable);
2896 unsafe impl ::windows::runtime::Interface for IStorageFolderStatics {
2897     type Vtable = IStorageFolderStatics_abi;
2898     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(150153215, 34261, 18617, [174, 233, 40, 81, 30, 51, 159, 159]);
2899 }
2900 #[repr(C)]
2901 #[doc(hidden)]
2902 pub struct IStorageFolderStatics_abi(
2903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2905     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2906     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2909     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2910     #[cfg(not(feature = "Foundation"))] usize,
2911 );
2912 #[repr(transparent)]
2913 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2914 #[doc(hidden)]
2915 pub struct IStorageFolderStatics2(::windows::runtime::IInspectable);
2916 unsafe impl ::windows::runtime::Interface for IStorageFolderStatics2 {
2917     type Vtable = IStorageFolderStatics2_abi;
2918     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3026546115, 29138, 18045, [139, 41, 55, 31, 15, 98, 191, 111]);
2919 }
2920 #[repr(C)]
2921 #[doc(hidden)]
2922 pub struct IStorageFolderStatics2_abi(
2923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2929     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, path: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2930     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
2931 );
2932 #[repr(transparent)]
2933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2934 pub struct IStorageItem(::windows::runtime::IInspectable);
2935 unsafe impl ::windows::runtime::Interface for IStorageItem {
2936     type Vtable = IStorageItem_abi;
2937     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1107798422, 51759, 17143, [189, 232, 139, 16, 69, 122, 127, 48]);
2938 }
2939 impl IStorageItem {
2940     #[cfg(feature = "Foundation")]
RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2941     pub fn RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2942         let this = self;
2943         unsafe {
2944             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2945             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2946         }
2947     }
2948     #[cfg(feature = "Foundation")]
RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2949     pub fn RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2950         let this = self;
2951         unsafe {
2952             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2953             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2954         }
2955     }
2956     #[cfg(feature = "Foundation")]
DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2957     pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2958         let this = self;
2959         unsafe {
2960             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2961             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2962         }
2963     }
2964     #[cfg(feature = "Foundation")]
DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>2965     pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
2966         let this = self;
2967         unsafe {
2968             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2969             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
2970         }
2971     }
2972     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>2973     pub fn GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>> {
2974         let this = self;
2975         unsafe {
2976             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2977             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>(result__)
2978         }
2979     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2980     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2981         let this = self;
2982         unsafe {
2983             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2984             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2985         }
2986     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2987     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2988         let this = self;
2989         unsafe {
2990             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2991             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2992         }
2993     }
Attributes(&self) -> ::windows::runtime::Result<FileAttributes>2994     pub fn Attributes(&self) -> ::windows::runtime::Result<FileAttributes> {
2995         let this = self;
2996         unsafe {
2997             let mut result__: FileAttributes = ::std::mem::zeroed();
2998             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileAttributes>(result__)
2999         }
3000     }
3001     #[cfg(feature = "Foundation")]
DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>3002     pub fn DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
3003         let this = self;
3004         unsafe {
3005             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
3006             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
3007         }
3008     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>3009     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
3010         let this = self;
3011         unsafe {
3012             let mut result__: bool = ::std::mem::zeroed();
3013             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
3014         }
3015     }
3016 }
3017 unsafe impl ::windows::runtime::RuntimeType for IStorageItem {
3018     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{4207a996-ca2f-42f7-bde8-8b10457a7f30}");
3019 }
3020 impl ::std::convert::From<IStorageItem> for ::windows::runtime::IUnknown {
from(value: IStorageItem) -> Self3021     fn from(value: IStorageItem) -> Self {
3022         unsafe { ::std::mem::transmute(value) }
3023     }
3024 }
3025 impl ::std::convert::From<&IStorageItem> for ::windows::runtime::IUnknown {
from(value: &IStorageItem) -> Self3026     fn from(value: &IStorageItem) -> Self {
3027         ::std::convert::From::from(::std::clone::Clone::clone(value))
3028     }
3029 }
3030 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3031     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3032         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3033     }
3034 }
3035 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3036     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3037         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3038     }
3039 }
3040 impl ::std::convert::From<IStorageItem> for ::windows::runtime::IInspectable {
from(value: IStorageItem) -> Self3041     fn from(value: IStorageItem) -> Self {
3042         value.0
3043     }
3044 }
3045 impl ::std::convert::From<&IStorageItem> for ::windows::runtime::IInspectable {
from(value: &IStorageItem) -> Self3046     fn from(value: &IStorageItem) -> Self {
3047         value.0.clone()
3048     }
3049 }
3050 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3051     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3052         ::windows::runtime::Param::Owned(self.0)
3053     }
3054 }
3055 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3056     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3057         ::windows::runtime::Param::Borrowed(&self.0)
3058     }
3059 }
3060 #[repr(C)]
3061 #[doc(hidden)]
3062 pub struct IStorageItem_abi(
3063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3069     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3070     #[cfg(not(feature = "Foundation"))] usize,
3071     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, desiredname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, option: NameCollisionOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3072     #[cfg(not(feature = "Foundation"))] usize,
3073     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3074     #[cfg(not(feature = "Foundation"))] usize,
3075     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, option: StorageDeleteOption, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3076     #[cfg(not(feature = "Foundation"))] usize,
3077     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3078     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties")))] usize,
3079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut FileAttributes) -> ::windows::runtime::HRESULT,
3082     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::DateTime) -> ::windows::runtime::HRESULT,
3083     #[cfg(not(feature = "Foundation"))] usize,
3084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: StorageItemTypes, result__: *mut bool) -> ::windows::runtime::HRESULT,
3085 );
3086 #[repr(transparent)]
3087 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3088 pub struct IStorageItem2(::windows::runtime::IInspectable);
3089 unsafe impl ::windows::runtime::Interface for IStorageItem2 {
3090     type Vtable = IStorageItem2_abi;
3091     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1408837330, 2108, 17027, [180, 91, 129, 192, 7, 35, 126, 68]);
3092 }
3093 impl IStorageItem2 {
3094     #[cfg(feature = "Foundation")]
GetParentAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>3095     pub fn GetParentAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
3096         let this = self;
3097         unsafe {
3098             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3099             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
3100         }
3101     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageItem>>(&self, item: Param0) -> ::windows::runtime::Result<bool>3102     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageItem>>(&self, item: Param0) -> ::windows::runtime::Result<bool> {
3103         let this = self;
3104         unsafe {
3105             let mut result__: bool = ::std::mem::zeroed();
3106             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), item.into_param().abi(), &mut result__).from_abi::<bool>(result__)
3107         }
3108     }
3109     #[cfg(feature = "Foundation")]
RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>3110     pub fn RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
3111         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3112         unsafe {
3113             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3114             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
3115         }
3116     }
3117     #[cfg(feature = "Foundation")]
RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>3118     pub fn RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
3119         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3120         unsafe {
3121             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3122             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
3123         }
3124     }
3125     #[cfg(feature = "Foundation")]
DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>3126     pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
3127         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3128         unsafe {
3129             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3130             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
3131         }
3132     }
3133     #[cfg(feature = "Foundation")]
DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>3134     pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
3135         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3136         unsafe {
3137             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3138             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
3139         }
3140     }
3141     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>3142     pub fn GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>> {
3143         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3144         unsafe {
3145             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3146             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>(result__)
3147         }
3148     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3149     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3150         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3151         unsafe {
3152             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3153             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3154         }
3155     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3156     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3157         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3158         unsafe {
3159             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3160             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3161         }
3162     }
Attributes(&self) -> ::windows::runtime::Result<FileAttributes>3163     pub fn Attributes(&self) -> ::windows::runtime::Result<FileAttributes> {
3164         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3165         unsafe {
3166             let mut result__: FileAttributes = ::std::mem::zeroed();
3167             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileAttributes>(result__)
3168         }
3169     }
3170     #[cfg(feature = "Foundation")]
DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>3171     pub fn DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
3172         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3173         unsafe {
3174             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
3175             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
3176         }
3177     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>3178     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
3179         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
3180         unsafe {
3181             let mut result__: bool = ::std::mem::zeroed();
3182             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
3183         }
3184     }
3185 }
3186 unsafe impl ::windows::runtime::RuntimeType for IStorageItem2 {
3187     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{53f926d2-083c-4283-b45b-81c007237e44}");
3188 }
3189 impl ::std::convert::From<IStorageItem2> for ::windows::runtime::IUnknown {
from(value: IStorageItem2) -> Self3190     fn from(value: IStorageItem2) -> Self {
3191         unsafe { ::std::mem::transmute(value) }
3192     }
3193 }
3194 impl ::std::convert::From<&IStorageItem2> for ::windows::runtime::IUnknown {
from(value: &IStorageItem2) -> Self3195     fn from(value: &IStorageItem2) -> Self {
3196         ::std::convert::From::from(::std::clone::Clone::clone(value))
3197     }
3198 }
3199 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3200     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3201         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3202     }
3203 }
3204 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3205     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3206         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3207     }
3208 }
3209 impl ::std::convert::From<IStorageItem2> for ::windows::runtime::IInspectable {
from(value: IStorageItem2) -> Self3210     fn from(value: IStorageItem2) -> Self {
3211         value.0
3212     }
3213 }
3214 impl ::std::convert::From<&IStorageItem2> for ::windows::runtime::IInspectable {
from(value: &IStorageItem2) -> Self3215     fn from(value: &IStorageItem2) -> Self {
3216         value.0.clone()
3217     }
3218 }
3219 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3220     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3221         ::windows::runtime::Param::Owned(self.0)
3222     }
3223 }
3224 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageItem2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3225     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3226         ::windows::runtime::Param::Borrowed(&self.0)
3227     }
3228 }
3229 impl ::std::convert::TryFrom<IStorageItem2> for IStorageItem {
3230     type Error = ::windows::runtime::Error;
try_from(value: IStorageItem2) -> ::windows::runtime::Result<Self>3231     fn try_from(value: IStorageItem2) -> ::windows::runtime::Result<Self> {
3232         ::std::convert::TryFrom::try_from(&value)
3233     }
3234 }
3235 impl ::std::convert::TryFrom<&IStorageItem2> for IStorageItem {
3236     type Error = ::windows::runtime::Error;
try_from(value: &IStorageItem2) -> ::windows::runtime::Result<Self>3237     fn try_from(value: &IStorageItem2) -> ::windows::runtime::Result<Self> {
3238         ::windows::runtime::Interface::cast(value)
3239     }
3240 }
3241 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for IStorageItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>3242     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
3243         ::windows::runtime::IntoParam::into_param(&self)
3244     }
3245 }
3246 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for &IStorageItem2 {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>3247     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
3248         ::std::convert::TryInto::<IStorageItem>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3249     }
3250 }
3251 #[repr(C)]
3252 #[doc(hidden)]
3253 pub struct IStorageItem2_abi(
3254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3260     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3261     #[cfg(not(feature = "Foundation"))] usize,
3262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, item: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3263 );
3264 #[repr(transparent)]
3265 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3266 pub struct IStorageItemProperties(::windows::runtime::IInspectable);
3267 unsafe impl ::windows::runtime::Interface for IStorageItemProperties {
3268     type Vtable = IStorageItemProperties_abi;
3269     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2254849144, 32809, 18174, [167, 137, 28, 47, 62, 47, 251, 92]);
3270 }
3271 impl IStorageItemProperties {
3272     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3273     pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3274         let this = self;
3275         unsafe {
3276             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3277             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3278         }
3279     }
3280     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3281     pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3282         let this = self;
3283         unsafe {
3284             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3285             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3286         }
3287     }
3288     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3289     pub fn GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3290         let this = self;
3291         unsafe {
3292             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3293             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3294         }
3295     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3296     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3297         let this = self;
3298         unsafe {
3299             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3300             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3301         }
3302     }
DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3303     pub fn DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3304         let this = self;
3305         unsafe {
3306             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3307             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3308         }
3309     }
FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3310     pub fn FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3311         let this = self;
3312         unsafe {
3313             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3314             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3315         }
3316     }
3317     #[cfg(feature = "Storage_FileProperties")]
Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties>3318     pub fn Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties> {
3319         let this = self;
3320         unsafe {
3321             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3322             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileProperties::StorageItemContentProperties>(result__)
3323         }
3324     }
3325 }
3326 unsafe impl ::windows::runtime::RuntimeType for IStorageItemProperties {
3327     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{86664478-8029-46fe-a789-1c2f3e2ffb5c}");
3328 }
3329 impl ::std::convert::From<IStorageItemProperties> for ::windows::runtime::IUnknown {
from(value: IStorageItemProperties) -> Self3330     fn from(value: IStorageItemProperties) -> Self {
3331         unsafe { ::std::mem::transmute(value) }
3332     }
3333 }
3334 impl ::std::convert::From<&IStorageItemProperties> for ::windows::runtime::IUnknown {
from(value: &IStorageItemProperties) -> Self3335     fn from(value: &IStorageItemProperties) -> Self {
3336         ::std::convert::From::from(::std::clone::Clone::clone(value))
3337     }
3338 }
3339 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageItemProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3340     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3341         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3342     }
3343 }
3344 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageItemProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3345     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3346         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3347     }
3348 }
3349 impl ::std::convert::From<IStorageItemProperties> for ::windows::runtime::IInspectable {
from(value: IStorageItemProperties) -> Self3350     fn from(value: IStorageItemProperties) -> Self {
3351         value.0
3352     }
3353 }
3354 impl ::std::convert::From<&IStorageItemProperties> for ::windows::runtime::IInspectable {
from(value: &IStorageItemProperties) -> Self3355     fn from(value: &IStorageItemProperties) -> Self {
3356         value.0.clone()
3357     }
3358 }
3359 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageItemProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3360     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3361         ::windows::runtime::Param::Owned(self.0)
3362     }
3363 }
3364 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageItemProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3365     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3366         ::windows::runtime::Param::Borrowed(&self.0)
3367     }
3368 }
3369 #[repr(C)]
3370 #[doc(hidden)]
3371 pub struct IStorageItemProperties_abi(
3372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3378     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: FileProperties::ThumbnailMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3379     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams")))] usize,
3380     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: FileProperties::ThumbnailMode, requestedsize: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3381     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams")))] usize,
3382     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3383     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams")))] usize,
3384     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3385     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3387     #[cfg(feature = "Storage_FileProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3388     #[cfg(not(feature = "Storage_FileProperties"))] usize,
3389 );
3390 #[repr(transparent)]
3391 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3392 pub struct IStorageItemProperties2(::windows::runtime::IInspectable);
3393 unsafe impl ::windows::runtime::Interface for IStorageItemProperties2 {
3394     type Vtable = IStorageItemProperties2_abi;
3395     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2391189841, 1209, 19410, [146, 157, 254, 243, 247, 22, 33, 208]);
3396 }
3397 impl IStorageItemProperties2 {
3398     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3399     pub fn GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3400         let this = self;
3401         unsafe {
3402             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3403             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3404         }
3405     }
3406     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3407     pub fn GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3408         let this = self;
3409         unsafe {
3410             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3411             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3412         }
3413     }
3414     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3415     pub fn GetScaledImageAsThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3416         let this = self;
3417         unsafe {
3418             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3419             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3420         }
3421     }
3422     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3423     pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3424         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3425         unsafe {
3426             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3427             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3428         }
3429     }
3430     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3431     pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3432         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3433         unsafe {
3434             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3435             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3436         }
3437     }
3438     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3439     pub fn GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3440         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3441         unsafe {
3442             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3443             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3444         }
3445     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3446     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3447         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3448         unsafe {
3449             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3450             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3451         }
3452     }
DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3453     pub fn DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3454         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3455         unsafe {
3456             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3457             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3458         }
3459     }
FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3460     pub fn FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3461         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3462         unsafe {
3463             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3464             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3465         }
3466     }
3467     #[cfg(feature = "Storage_FileProperties")]
Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties>3468     pub fn Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties> {
3469         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3470         unsafe {
3471             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3472             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileProperties::StorageItemContentProperties>(result__)
3473         }
3474     }
3475 }
3476 unsafe impl ::windows::runtime::RuntimeType for IStorageItemProperties2 {
3477     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{8e86a951-04b9-4bd2-929d-fef3f71621d0}");
3478 }
3479 impl ::std::convert::From<IStorageItemProperties2> for ::windows::runtime::IUnknown {
from(value: IStorageItemProperties2) -> Self3480     fn from(value: IStorageItemProperties2) -> Self {
3481         unsafe { ::std::mem::transmute(value) }
3482     }
3483 }
3484 impl ::std::convert::From<&IStorageItemProperties2> for ::windows::runtime::IUnknown {
from(value: &IStorageItemProperties2) -> Self3485     fn from(value: &IStorageItemProperties2) -> Self {
3486         ::std::convert::From::from(::std::clone::Clone::clone(value))
3487     }
3488 }
3489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageItemProperties2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3491         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3492     }
3493 }
3494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageItemProperties2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3497     }
3498 }
3499 impl ::std::convert::From<IStorageItemProperties2> for ::windows::runtime::IInspectable {
from(value: IStorageItemProperties2) -> Self3500     fn from(value: IStorageItemProperties2) -> Self {
3501         value.0
3502     }
3503 }
3504 impl ::std::convert::From<&IStorageItemProperties2> for ::windows::runtime::IInspectable {
from(value: &IStorageItemProperties2) -> Self3505     fn from(value: &IStorageItemProperties2) -> Self {
3506         value.0.clone()
3507     }
3508 }
3509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageItemProperties2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3510     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3511         ::windows::runtime::Param::Owned(self.0)
3512     }
3513 }
3514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageItemProperties2 {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3516         ::windows::runtime::Param::Borrowed(&self.0)
3517     }
3518 }
3519 impl ::std::convert::TryFrom<IStorageItemProperties2> for IStorageItemProperties {
3520     type Error = ::windows::runtime::Error;
try_from(value: IStorageItemProperties2) -> ::windows::runtime::Result<Self>3521     fn try_from(value: IStorageItemProperties2) -> ::windows::runtime::Result<Self> {
3522         ::std::convert::TryFrom::try_from(&value)
3523     }
3524 }
3525 impl ::std::convert::TryFrom<&IStorageItemProperties2> for IStorageItemProperties {
3526     type Error = ::windows::runtime::Error;
try_from(value: &IStorageItemProperties2) -> ::windows::runtime::Result<Self>3527     fn try_from(value: &IStorageItemProperties2) -> ::windows::runtime::Result<Self> {
3528         ::windows::runtime::Interface::cast(value)
3529     }
3530 }
3531 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for IStorageItemProperties2 {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>3532     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
3533         ::windows::runtime::IntoParam::into_param(&self)
3534     }
3535 }
3536 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for &IStorageItemProperties2 {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>3537     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
3538         ::std::convert::TryInto::<IStorageItemProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3539     }
3540 }
3541 #[repr(C)]
3542 #[doc(hidden)]
3543 pub struct IStorageItemProperties2_abi(
3544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3550     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: FileProperties::ThumbnailMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3551     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams")))] usize,
3552     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: FileProperties::ThumbnailMode, requestedsize: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3553     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams")))] usize,
3554     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3555     #[cfg(not(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams")))] usize,
3556 );
3557 #[repr(transparent)]
3558 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3559 pub struct IStorageItemPropertiesWithProvider(::windows::runtime::IInspectable);
3560 unsafe impl ::windows::runtime::Interface for IStorageItemPropertiesWithProvider {
3561     type Vtable = IStorageItemPropertiesWithProvider_abi;
3562     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2249978779, 25448, 19950, [180, 14, 116, 104, 74, 92, 231, 20]);
3563 }
3564 impl IStorageItemPropertiesWithProvider {
Provider(&self) -> ::windows::runtime::Result<StorageProvider>3565     pub fn Provider(&self) -> ::windows::runtime::Result<StorageProvider> {
3566         let this = self;
3567         unsafe {
3568             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3569             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProvider>(result__)
3570         }
3571     }
3572     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3573     pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3574         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3575         unsafe {
3576             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3577             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3578         }
3579     }
3580     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3581     pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3582         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3583         unsafe {
3584             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3585             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3586         }
3587     }
3588     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>3589     pub fn GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
3590         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3591         unsafe {
3592             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3593             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
3594         }
3595     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3596     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3597         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3598         unsafe {
3599             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3600             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3601         }
3602     }
DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3603     pub fn DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3604         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3605         unsafe {
3606             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3607             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3608         }
3609     }
FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3610     pub fn FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3611         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3612         unsafe {
3613             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3614             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3615         }
3616     }
3617     #[cfg(feature = "Storage_FileProperties")]
Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties>3618     pub fn Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties> {
3619         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
3620         unsafe {
3621             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3622             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileProperties::StorageItemContentProperties>(result__)
3623         }
3624     }
3625 }
3626 unsafe impl ::windows::runtime::RuntimeType for IStorageItemPropertiesWithProvider {
3627     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{861bf39b-6368-4dee-b40e-74684a5ce714}");
3628 }
3629 impl ::std::convert::From<IStorageItemPropertiesWithProvider> for ::windows::runtime::IUnknown {
from(value: IStorageItemPropertiesWithProvider) -> Self3630     fn from(value: IStorageItemPropertiesWithProvider) -> Self {
3631         unsafe { ::std::mem::transmute(value) }
3632     }
3633 }
3634 impl ::std::convert::From<&IStorageItemPropertiesWithProvider> for ::windows::runtime::IUnknown {
from(value: &IStorageItemPropertiesWithProvider) -> Self3635     fn from(value: &IStorageItemPropertiesWithProvider) -> Self {
3636         ::std::convert::From::from(::std::clone::Clone::clone(value))
3637     }
3638 }
3639 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStorageItemPropertiesWithProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3640     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3641         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3642     }
3643 }
3644 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStorageItemPropertiesWithProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3645     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3646         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3647     }
3648 }
3649 impl ::std::convert::From<IStorageItemPropertiesWithProvider> for ::windows::runtime::IInspectable {
from(value: IStorageItemPropertiesWithProvider) -> Self3650     fn from(value: IStorageItemPropertiesWithProvider) -> Self {
3651         value.0
3652     }
3653 }
3654 impl ::std::convert::From<&IStorageItemPropertiesWithProvider> for ::windows::runtime::IInspectable {
from(value: &IStorageItemPropertiesWithProvider) -> Self3655     fn from(value: &IStorageItemPropertiesWithProvider) -> Self {
3656         value.0.clone()
3657     }
3658 }
3659 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStorageItemPropertiesWithProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3660     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3661         ::windows::runtime::Param::Owned(self.0)
3662     }
3663 }
3664 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStorageItemPropertiesWithProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3665     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3666         ::windows::runtime::Param::Borrowed(&self.0)
3667     }
3668 }
3669 impl ::std::convert::TryFrom<IStorageItemPropertiesWithProvider> for IStorageItemProperties {
3670     type Error = ::windows::runtime::Error;
try_from(value: IStorageItemPropertiesWithProvider) -> ::windows::runtime::Result<Self>3671     fn try_from(value: IStorageItemPropertiesWithProvider) -> ::windows::runtime::Result<Self> {
3672         ::std::convert::TryFrom::try_from(&value)
3673     }
3674 }
3675 impl ::std::convert::TryFrom<&IStorageItemPropertiesWithProvider> for IStorageItemProperties {
3676     type Error = ::windows::runtime::Error;
try_from(value: &IStorageItemPropertiesWithProvider) -> ::windows::runtime::Result<Self>3677     fn try_from(value: &IStorageItemPropertiesWithProvider) -> ::windows::runtime::Result<Self> {
3678         ::windows::runtime::Interface::cast(value)
3679     }
3680 }
3681 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for IStorageItemPropertiesWithProvider {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>3682     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
3683         ::windows::runtime::IntoParam::into_param(&self)
3684     }
3685 }
3686 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for &IStorageItemPropertiesWithProvider {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>3687     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
3688         ::std::convert::TryInto::<IStorageItemProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
3689     }
3690 }
3691 #[repr(C)]
3692 #[doc(hidden)]
3693 pub struct IStorageItemPropertiesWithProvider_abi(
3694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3697     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3698     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3699     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3700     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3701 );
3702 #[repr(transparent)]
3703 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3704 #[doc(hidden)]
3705 pub struct IStorageLibrary(::windows::runtime::IInspectable);
3706 unsafe impl ::windows::runtime::Interface for IStorageLibrary {
3707     type Vtable = IStorageLibrary_abi;
3708     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(517828867, 3678, 19820, [181, 232, 147, 24, 152, 61, 106, 3]);
3709 }
3710 #[repr(C)]
3711 #[doc(hidden)]
3712 pub struct IStorageLibrary_abi(
3713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3719     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3720     #[cfg(not(feature = "Foundation"))] usize,
3721     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, folder: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3722     #[cfg(not(feature = "Foundation"))] usize,
3723     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3724     #[cfg(not(feature = "Foundation_Collections"))] usize,
3725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3726     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3727     #[cfg(not(feature = "Foundation"))] usize,
3728     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventcookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3729     #[cfg(not(feature = "Foundation"))] usize,
3730 );
3731 #[repr(transparent)]
3732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3733 #[doc(hidden)]
3734 pub struct IStorageLibrary2(::windows::runtime::IInspectable);
3735 unsafe impl ::windows::runtime::Interface for IStorageLibrary2 {
3736     type Vtable = IStorageLibrary2_abi;
3737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1527571272, 64691, 16433, [175, 176, 166, 141, 123, 212, 69, 52]);
3738 }
3739 #[repr(C)]
3740 #[doc(hidden)]
3741 pub struct IStorageLibrary2_abi(
3742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3749 );
3750 #[repr(transparent)]
3751 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3752 #[doc(hidden)]
3753 pub struct IStorageLibrary3(::windows::runtime::IInspectable);
3754 unsafe impl ::windows::runtime::Interface for IStorageLibrary3 {
3755     type Vtable = IStorageLibrary3_abi;
3756     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2317882001, 8532, 16897, [129, 19, 210, 192, 92, 225, 173, 35]);
3757 }
3758 #[repr(C)]
3759 #[doc(hidden)]
3760 pub struct IStorageLibrary3_abi(
3761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3767     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3768     #[cfg(not(feature = "Foundation"))] usize,
3769 );
3770 #[repr(transparent)]
3771 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3772 #[doc(hidden)]
3773 pub struct IStorageLibraryChange(::windows::runtime::IInspectable);
3774 unsafe impl ::windows::runtime::Interface for IStorageLibraryChange {
3775     type Vtable = IStorageLibraryChange_abi;
3776     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(9964323, 11234, 18697, [170, 72, 21, 159, 82, 3, 165, 30]);
3777 }
3778 #[repr(C)]
3779 #[doc(hidden)]
3780 pub struct IStorageLibraryChange_abi(
3781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StorageLibraryChangeType) -> ::windows::runtime::HRESULT,
3788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3789     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3790     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: StorageItemTypes, result__: *mut bool) -> ::windows::runtime::HRESULT,
3791     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3792     #[cfg(not(feature = "Foundation"))] usize,
3793 );
3794 #[repr(transparent)]
3795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3796 #[doc(hidden)]
3797 pub struct IStorageLibraryChangeReader(::windows::runtime::IInspectable);
3798 unsafe impl ::windows::runtime::Interface for IStorageLibraryChangeReader {
3799     type Vtable = IStorageLibraryChangeReader_abi;
3800     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4060462211, 64674, 16889, [137, 84, 238, 46, 153, 30, 185, 111]);
3801 }
3802 #[repr(C)]
3803 #[doc(hidden)]
3804 pub struct IStorageLibraryChangeReader_abi(
3805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3811     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3812     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3813     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3814     #[cfg(not(feature = "Foundation"))] usize,
3815 );
3816 #[repr(transparent)]
3817 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3818 #[doc(hidden)]
3819 pub struct IStorageLibraryChangeReader2(::windows::runtime::IInspectable);
3820 unsafe impl ::windows::runtime::Interface for IStorageLibraryChangeReader2 {
3821     type Vtable = IStorageLibraryChangeReader2_abi;
3822     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2884929163, 64460, 19023, [153, 158, 231, 171, 124, 100, 109, 190]);
3823 }
3824 #[repr(C)]
3825 #[doc(hidden)]
3826 pub struct IStorageLibraryChangeReader2_abi(
3827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3834 );
3835 #[repr(transparent)]
3836 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3837 #[doc(hidden)]
3838 pub struct IStorageLibraryChangeTracker(::windows::runtime::IInspectable);
3839 unsafe impl ::windows::runtime::Interface for IStorageLibraryChangeTracker {
3840     type Vtable = IStorageLibraryChangeTracker_abi;
3841     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2652205846, 24691, 17654, [150, 129, 116, 146, 209, 40, 108, 144]);
3842 }
3843 #[repr(C)]
3844 #[doc(hidden)]
3845 pub struct IStorageLibraryChangeTracker_abi(
3846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3855 );
3856 #[repr(transparent)]
3857 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3858 #[doc(hidden)]
3859 pub struct IStorageLibraryChangeTracker2(::windows::runtime::IInspectable);
3860 unsafe impl ::windows::runtime::Interface for IStorageLibraryChangeTracker2 {
3861     type Vtable = IStorageLibraryChangeTracker2_abi;
3862     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3439664187, 3999, 17145, [143, 179, 21, 141, 130, 225, 56, 33]);
3863 }
3864 #[repr(C)]
3865 #[doc(hidden)]
3866 pub struct IStorageLibraryChangeTracker2_abi(
3867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, options: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3875 );
3876 #[repr(transparent)]
3877 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3878 #[doc(hidden)]
3879 pub struct IStorageLibraryChangeTrackerOptions(::windows::runtime::IInspectable);
3880 unsafe impl ::windows::runtime::Interface for IStorageLibraryChangeTrackerOptions {
3881     type Vtable = IStorageLibraryChangeTrackerOptions_abi;
3882     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3142761684, 6765, 22976, [173, 42, 130, 58, 32, 83, 36, 131]);
3883 }
3884 #[repr(C)]
3885 #[doc(hidden)]
3886 pub struct IStorageLibraryChangeTrackerOptions_abi(
3887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3890     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
3895 );
3896 #[repr(transparent)]
3897 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3898 #[doc(hidden)]
3899 pub struct IStorageLibraryLastChangeId(::windows::runtime::IInspectable);
3900 unsafe impl ::windows::runtime::Interface for IStorageLibraryLastChangeId {
3901     type Vtable = IStorageLibraryLastChangeId_abi;
3902     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1384219242, 48097, 21436, [130, 202, 129, 204, 127, 3, 147, 41]);
3903 }
3904 #[repr(C)]
3905 #[doc(hidden)]
3906 pub struct IStorageLibraryLastChangeId_abi(
3907     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3908     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3910     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3911     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3912     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3913 );
3914 #[repr(transparent)]
3915 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3916 #[doc(hidden)]
3917 pub struct IStorageLibraryLastChangeIdStatics(::windows::runtime::IInspectable);
3918 unsafe impl ::windows::runtime::Interface for IStorageLibraryLastChangeIdStatics {
3919     type Vtable = IStorageLibraryLastChangeIdStatics_abi;
3920     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2175045928, 11427, 21257, [176, 209, 207, 7, 136, 228, 7, 98]);
3921 }
3922 #[repr(C)]
3923 #[doc(hidden)]
3924 pub struct IStorageLibraryLastChangeIdStatics_abi(
3925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3928     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
3932 );
3933 #[repr(transparent)]
3934 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3935 #[doc(hidden)]
3936 pub struct IStorageLibraryStatics(::windows::runtime::IInspectable);
3937 unsafe impl ::windows::runtime::Interface for IStorageLibraryStatics {
3938     type Vtable = IStorageLibraryStatics_abi;
3939     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1107863259, 26698, 18886, [158, 89, 144, 18, 30, 224, 80, 214]);
3940 }
3941 #[repr(C)]
3942 #[doc(hidden)]
3943 pub struct IStorageLibraryStatics_abi(
3944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3950     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, libraryid: KnownLibraryId, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3951     #[cfg(not(feature = "Foundation"))] usize,
3952 );
3953 #[repr(transparent)]
3954 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3955 #[doc(hidden)]
3956 pub struct IStorageLibraryStatics2(::windows::runtime::IInspectable);
3957 unsafe impl ::windows::runtime::Interface for IStorageLibraryStatics2 {
3958     type Vtable = IStorageLibraryStatics2_abi;
3959     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4289760732, 64117, 18069, [185, 209, 127, 129, 249, 120, 50, 227]);
3960 }
3961 #[repr(C)]
3962 #[doc(hidden)]
3963 pub struct IStorageLibraryStatics2_abi(
3964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3970     #[cfg(all(feature = "Foundation", feature = "System"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, libraryid: KnownLibraryId, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3971     #[cfg(not(all(feature = "Foundation", feature = "System")))] usize,
3972 );
3973 #[repr(transparent)]
3974 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3975 #[doc(hidden)]
3976 pub struct IStorageProvider(::windows::runtime::IInspectable);
3977 unsafe impl ::windows::runtime::Interface for IStorageProvider {
3978     type Vtable = IStorageProvider_abi;
3979     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3875925716, 54392, 18390, [186, 70, 26, 142, 190, 17, 74, 32]);
3980 }
3981 #[repr(C)]
3982 #[doc(hidden)]
3983 pub struct IStorageProvider_abi(
3984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3992 );
3993 #[repr(transparent)]
3994 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3995 #[doc(hidden)]
3996 pub struct IStorageProvider2(::windows::runtime::IInspectable);
3997 unsafe impl ::windows::runtime::Interface for IStorageProvider2 {
3998     type Vtable = IStorageProvider2_abi;
3999     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(17635607, 13316, 16715, [159, 215, 205, 68, 71, 46, 170, 57]);
4000 }
4001 #[repr(C)]
4002 #[doc(hidden)]
4003 pub struct IStorageProvider2_abi(
4004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4010     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, propertycanonicalname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4011     #[cfg(not(feature = "Foundation"))] usize,
4012 );
4013 #[repr(transparent)]
4014 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4015 #[doc(hidden)]
4016 pub struct IStorageStreamTransaction(::windows::runtime::IInspectable);
4017 unsafe impl ::windows::runtime::Interface for IStorageStreamTransaction {
4018     type Vtable = IStorageStreamTransaction_abi;
4019     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4135383907, 42301, 19860, [174, 44, 103, 35, 45, 147, 172, 221]);
4020 }
4021 #[repr(C)]
4022 #[doc(hidden)]
4023 pub struct IStorageStreamTransaction_abi(
4024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4030     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4031     #[cfg(not(feature = "Storage_Streams"))] usize,
4032     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4033     #[cfg(not(feature = "Foundation"))] usize,
4034 );
4035 #[repr(transparent)]
4036 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4037 pub struct IStreamedFileDataRequest(::windows::runtime::IInspectable);
4038 unsafe impl ::windows::runtime::Interface for IStreamedFileDataRequest {
4039     type Vtable = IStreamedFileDataRequest_abi;
4040     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(376700110, 55997, 19792, [190, 238, 24, 11, 138, 129, 145, 182]);
4041 }
4042 impl IStreamedFileDataRequest {
FailAndClose(&self, failuremode: StreamedFileFailureMode) -> ::windows::runtime::Result<()>4043     pub fn FailAndClose(&self, failuremode: StreamedFileFailureMode) -> ::windows::runtime::Result<()> {
4044         let this = self;
4045         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), failuremode).ok() }
4046     }
4047 }
4048 unsafe impl ::windows::runtime::RuntimeType for IStreamedFileDataRequest {
4049     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{1673fcce-dabd-4d50-beee-180b8a8191b6}");
4050 }
4051 impl ::std::convert::From<IStreamedFileDataRequest> for ::windows::runtime::IUnknown {
from(value: IStreamedFileDataRequest) -> Self4052     fn from(value: IStreamedFileDataRequest) -> Self {
4053         unsafe { ::std::mem::transmute(value) }
4054     }
4055 }
4056 impl ::std::convert::From<&IStreamedFileDataRequest> for ::windows::runtime::IUnknown {
from(value: &IStreamedFileDataRequest) -> Self4057     fn from(value: &IStreamedFileDataRequest) -> Self {
4058         ::std::convert::From::from(::std::clone::Clone::clone(value))
4059     }
4060 }
4061 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IStreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4062     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4063         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4064     }
4065 }
4066 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IStreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4067     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4068         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4069     }
4070 }
4071 impl ::std::convert::From<IStreamedFileDataRequest> for ::windows::runtime::IInspectable {
from(value: IStreamedFileDataRequest) -> Self4072     fn from(value: IStreamedFileDataRequest) -> Self {
4073         value.0
4074     }
4075 }
4076 impl ::std::convert::From<&IStreamedFileDataRequest> for ::windows::runtime::IInspectable {
from(value: &IStreamedFileDataRequest) -> Self4077     fn from(value: &IStreamedFileDataRequest) -> Self {
4078         value.0.clone()
4079     }
4080 }
4081 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IStreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4082     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4083         ::windows::runtime::Param::Owned(self.0)
4084     }
4085 }
4086 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IStreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4087     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4088         ::windows::runtime::Param::Borrowed(&self.0)
4089     }
4090 }
4091 #[repr(C)]
4092 #[doc(hidden)]
4093 pub struct IStreamedFileDataRequest_abi(
4094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, failuremode: StreamedFileFailureMode) -> ::windows::runtime::HRESULT,
4101 );
4102 #[repr(transparent)]
4103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4104 #[doc(hidden)]
4105 pub struct ISystemAudioProperties(::windows::runtime::IInspectable);
4106 unsafe impl ::windows::runtime::Interface for ISystemAudioProperties {
4107     type Vtable = ISystemAudioProperties_abi;
4108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1066350775, 12428, 18401, [146, 77, 134, 69, 52, 142, 93, 183]);
4109 }
4110 #[repr(C)]
4111 #[doc(hidden)]
4112 pub struct ISystemAudioProperties_abi(
4113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4120 );
4121 #[repr(transparent)]
4122 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4123 #[doc(hidden)]
4124 pub struct ISystemDataPaths(::windows::runtime::IInspectable);
4125 unsafe impl ::windows::runtime::Interface for ISystemDataPaths {
4126     type Vtable = ISystemDataPaths_abi;
4127     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3811229552, 55546, 17900, [169, 66, 210, 226, 111, 182, 11, 165]);
4128 }
4129 #[repr(C)]
4130 #[doc(hidden)]
4131 pub struct ISystemDataPaths_abi(
4132     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4133     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4154 );
4155 #[repr(transparent)]
4156 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4157 #[doc(hidden)]
4158 pub struct ISystemDataPathsStatics(::windows::runtime::IInspectable);
4159 unsafe impl ::windows::runtime::Interface for ISystemDataPathsStatics {
4160     type Vtable = ISystemDataPathsStatics_abi;
4161     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3774443472, 39200, 19402, [179, 121, 249, 111, 223, 124, 170, 216]);
4162 }
4163 #[repr(C)]
4164 #[doc(hidden)]
4165 pub struct ISystemDataPathsStatics_abi(
4166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4173 );
4174 #[repr(transparent)]
4175 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4176 #[doc(hidden)]
4177 pub struct ISystemGPSProperties(::windows::runtime::IInspectable);
4178 unsafe impl ::windows::runtime::Interface for ISystemGPSProperties {
4179     type Vtable = ISystemGPSProperties_abi;
4180     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3237244596, 49524, 18458, [188, 37, 146, 25, 134, 246, 166, 243]);
4181 }
4182 #[repr(C)]
4183 #[doc(hidden)]
4184 pub struct ISystemGPSProperties_abi(
4185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4193 );
4194 #[repr(transparent)]
4195 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4196 #[doc(hidden)]
4197 pub struct ISystemImageProperties(::windows::runtime::IInspectable);
4198 unsafe impl ::windows::runtime::Interface for ISystemImageProperties {
4199     type Vtable = ISystemImageProperties_abi;
4200     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(18558512, 35641, 17160, [190, 161, 232, 170, 97, 228, 120, 38]);
4201 }
4202 #[repr(C)]
4203 #[doc(hidden)]
4204 pub struct ISystemImageProperties_abi(
4205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4209     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4211     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4212     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4213 );
4214 #[repr(transparent)]
4215 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4216 #[doc(hidden)]
4217 pub struct ISystemMediaProperties(::windows::runtime::IInspectable);
4218 unsafe impl ::windows::runtime::Interface for ISystemMediaProperties {
4219     type Vtable = ISystemMediaProperties_abi;
4220     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2754294550, 33813, 16604, [140, 68, 152, 54, 29, 35, 84, 48]);
4221 }
4222 #[repr(C)]
4223 #[doc(hidden)]
4224 pub struct ISystemMediaProperties_abi(
4225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4237 );
4238 #[repr(transparent)]
4239 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4240 #[doc(hidden)]
4241 pub struct ISystemMusicProperties(::windows::runtime::IInspectable);
4242 unsafe impl ::windows::runtime::Interface for ISystemMusicProperties {
4243     type Vtable = ISystemMusicProperties_abi;
4244     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027863765, 26543, 19395, [141, 57, 91, 137, 2, 32, 38, 161]);
4245 }
4246 #[repr(C)]
4247 #[doc(hidden)]
4248 pub struct ISystemMusicProperties_abi(
4249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4256     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4257     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4258     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4259     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4260     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4263 );
4264 #[repr(transparent)]
4265 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4266 #[doc(hidden)]
4267 pub struct ISystemPhotoProperties(::windows::runtime::IInspectable);
4268 unsafe impl ::windows::runtime::Interface for ISystemPhotoProperties {
4269     type Vtable = ISystemPhotoProperties_abi;
4270     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1194654781, 43809, 17444, [183, 53, 244, 53, 58, 86, 200, 252]);
4271 }
4272 #[repr(C)]
4273 #[doc(hidden)]
4274 pub struct ISystemPhotoProperties_abi(
4275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4286 );
4287 #[repr(transparent)]
4288 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4289 #[doc(hidden)]
4290 pub struct ISystemProperties(::windows::runtime::IInspectable);
4291 unsafe impl ::windows::runtime::Interface for ISystemProperties {
4292     type Vtable = ISystemProperties_abi;
4293     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2440720833, 34291, 19921, [176, 1, 165, 11, 253, 33, 200, 210]);
4294 }
4295 #[repr(C)]
4296 #[doc(hidden)]
4297 pub struct ISystemProperties_abi(
4298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4301     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4302     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4317 );
4318 #[repr(transparent)]
4319 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4320 #[doc(hidden)]
4321 pub struct ISystemVideoProperties(::windows::runtime::IInspectable);
4322 unsafe impl ::windows::runtime::Interface for ISystemVideoProperties {
4323     type Vtable = ISystemVideoProperties_abi;
4324     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(541128469, 26616, 17186, [155, 128, 79, 169, 254, 251, 131, 232]);
4325 }
4326 #[repr(C)]
4327 #[doc(hidden)]
4328 pub struct ISystemVideoProperties_abi(
4329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4340 );
4341 #[repr(transparent)]
4342 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4343 #[doc(hidden)]
4344 pub struct IUserDataPaths(::windows::runtime::IInspectable);
4345 unsafe impl ::windows::runtime::Interface for IUserDataPaths {
4346     type Vtable = IUserDataPaths_abi;
4347     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4190451986, 43972, 18175, [138, 43, 220, 157, 127, 166, 229, 47]);
4348 }
4349 #[repr(C)]
4350 #[doc(hidden)]
4351 pub struct IUserDataPaths_abi(
4352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4377 );
4378 #[repr(transparent)]
4379 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4380 #[doc(hidden)]
4381 pub struct IUserDataPathsStatics(::windows::runtime::IInspectable);
4382 unsafe impl ::windows::runtime::Interface for IUserDataPathsStatics {
4383     type Vtable = IUserDataPathsStatics_abi;
4384     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(28483055, 57442, 18593, [139, 12, 242, 199, 169, 202, 86, 192]);
4385 }
4386 #[repr(C)]
4387 #[doc(hidden)]
4388 pub struct IUserDataPathsStatics_abi(
4389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4395     #[cfg(feature = "System")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, user: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4396     #[cfg(not(feature = "System"))] usize,
4397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4398 );
4399 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4400 #[repr(transparent)]
4401 pub struct KnownFolderId(pub i32);
4402 impl KnownFolderId {
4403     pub const AppCaptures: KnownFolderId = KnownFolderId(0i32);
4404     pub const CameraRoll: KnownFolderId = KnownFolderId(1i32);
4405     pub const DocumentsLibrary: KnownFolderId = KnownFolderId(2i32);
4406     pub const HomeGroup: KnownFolderId = KnownFolderId(3i32);
4407     pub const MediaServerDevices: KnownFolderId = KnownFolderId(4i32);
4408     pub const MusicLibrary: KnownFolderId = KnownFolderId(5i32);
4409     pub const Objects3D: KnownFolderId = KnownFolderId(6i32);
4410     pub const PicturesLibrary: KnownFolderId = KnownFolderId(7i32);
4411     pub const Playlists: KnownFolderId = KnownFolderId(8i32);
4412     pub const RecordedCalls: KnownFolderId = KnownFolderId(9i32);
4413     pub const RemovableDevices: KnownFolderId = KnownFolderId(10i32);
4414     pub const SavedPictures: KnownFolderId = KnownFolderId(11i32);
4415     pub const Screenshots: KnownFolderId = KnownFolderId(12i32);
4416     pub const VideosLibrary: KnownFolderId = KnownFolderId(13i32);
4417     pub const AllAppMods: KnownFolderId = KnownFolderId(14i32);
4418     pub const CurrentAppMods: KnownFolderId = KnownFolderId(15i32);
4419     pub const DownloadsFolder: KnownFolderId = KnownFolderId(16i32);
4420 }
4421 impl ::std::convert::From<i32> for KnownFolderId {
from(value: i32) -> Self4422     fn from(value: i32) -> Self {
4423         Self(value)
4424     }
4425 }
4426 unsafe impl ::windows::runtime::Abi for KnownFolderId {
4427     type Abi = Self;
4428     type DefaultType = Self;
4429 }
4430 unsafe impl ::windows::runtime::RuntimeType for KnownFolderId {
4431     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.KnownFolderId;i4)");
4432 }
4433 pub struct KnownFolders {}
4434 impl KnownFolders {
CameraRoll() -> ::windows::runtime::Result<StorageFolder>4435     pub fn CameraRoll() -> ::windows::runtime::Result<StorageFolder> {
4436         Self::IKnownFoldersCameraRollStatics(|this| unsafe {
4437             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4438             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4439         })
4440     }
Playlists() -> ::windows::runtime::Result<StorageFolder>4441     pub fn Playlists() -> ::windows::runtime::Result<StorageFolder> {
4442         Self::IKnownFoldersPlaylistsStatics(|this| unsafe {
4443             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4444             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4445         })
4446     }
SavedPictures() -> ::windows::runtime::Result<StorageFolder>4447     pub fn SavedPictures() -> ::windows::runtime::Result<StorageFolder> {
4448         Self::IKnownFoldersSavedPicturesStatics(|this| unsafe {
4449             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4450             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4451         })
4452     }
MusicLibrary() -> ::windows::runtime::Result<StorageFolder>4453     pub fn MusicLibrary() -> ::windows::runtime::Result<StorageFolder> {
4454         Self::IKnownFoldersStatics(|this| unsafe {
4455             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4456             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4457         })
4458     }
PicturesLibrary() -> ::windows::runtime::Result<StorageFolder>4459     pub fn PicturesLibrary() -> ::windows::runtime::Result<StorageFolder> {
4460         Self::IKnownFoldersStatics(|this| unsafe {
4461             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4462             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4463         })
4464     }
VideosLibrary() -> ::windows::runtime::Result<StorageFolder>4465     pub fn VideosLibrary() -> ::windows::runtime::Result<StorageFolder> {
4466         Self::IKnownFoldersStatics(|this| unsafe {
4467             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4468             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4469         })
4470     }
DocumentsLibrary() -> ::windows::runtime::Result<StorageFolder>4471     pub fn DocumentsLibrary() -> ::windows::runtime::Result<StorageFolder> {
4472         Self::IKnownFoldersStatics(|this| unsafe {
4473             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4474             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4475         })
4476     }
HomeGroup() -> ::windows::runtime::Result<StorageFolder>4477     pub fn HomeGroup() -> ::windows::runtime::Result<StorageFolder> {
4478         Self::IKnownFoldersStatics(|this| unsafe {
4479             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4480             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4481         })
4482     }
RemovableDevices() -> ::windows::runtime::Result<StorageFolder>4483     pub fn RemovableDevices() -> ::windows::runtime::Result<StorageFolder> {
4484         Self::IKnownFoldersStatics(|this| unsafe {
4485             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4486             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4487         })
4488     }
MediaServerDevices() -> ::windows::runtime::Result<StorageFolder>4489     pub fn MediaServerDevices() -> ::windows::runtime::Result<StorageFolder> {
4490         Self::IKnownFoldersStatics(|this| unsafe {
4491             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4492             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4493         })
4494     }
Objects3D() -> ::windows::runtime::Result<StorageFolder>4495     pub fn Objects3D() -> ::windows::runtime::Result<StorageFolder> {
4496         Self::IKnownFoldersStatics2(|this| unsafe {
4497             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4498             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4499         })
4500     }
AppCaptures() -> ::windows::runtime::Result<StorageFolder>4501     pub fn AppCaptures() -> ::windows::runtime::Result<StorageFolder> {
4502         Self::IKnownFoldersStatics2(|this| unsafe {
4503             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4504             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4505         })
4506     }
RecordedCalls() -> ::windows::runtime::Result<StorageFolder>4507     pub fn RecordedCalls() -> ::windows::runtime::Result<StorageFolder> {
4508         Self::IKnownFoldersStatics2(|this| unsafe {
4509             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4510             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
4511         })
4512     }
4513     #[cfg(all(feature = "Foundation", feature = "System"))]
GetFolderForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0, folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>4514     pub fn GetFolderForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0, folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
4515         Self::IKnownFoldersStatics3(|this| unsafe {
4516             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4517             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), folderid, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
4518         })
4519     }
4520     #[cfg(feature = "Foundation")]
RequestAccessAsync(folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<KnownFoldersAccessStatus>>4521     pub fn RequestAccessAsync(folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<KnownFoldersAccessStatus>> {
4522         Self::IKnownFoldersStatics4(|this| unsafe {
4523             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4524             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), folderid, &mut result__).from_abi::<super::Foundation::IAsyncOperation<KnownFoldersAccessStatus>>(result__)
4525         })
4526     }
4527     #[cfg(all(feature = "Foundation", feature = "System"))]
RequestAccessForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0, folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<KnownFoldersAccessStatus>>4528     pub fn RequestAccessForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0, folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<KnownFoldersAccessStatus>> {
4529         Self::IKnownFoldersStatics4(|this| unsafe {
4530             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4531             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), user.into_param().abi(), folderid, &mut result__).from_abi::<super::Foundation::IAsyncOperation<KnownFoldersAccessStatus>>(result__)
4532         })
4533     }
4534     #[cfg(feature = "Foundation")]
GetFolderAsync(folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>4535     pub fn GetFolderAsync(folderid: KnownFolderId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
4536         Self::IKnownFoldersStatics4(|this| unsafe {
4537             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4538             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), folderid, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
4539         })
4540     }
IKnownFoldersCameraRollStatics<R, F: FnOnce(&IKnownFoldersCameraRollStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4541     pub fn IKnownFoldersCameraRollStatics<R, F: FnOnce(&IKnownFoldersCameraRollStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4542         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersCameraRollStatics> = ::windows::runtime::FactoryCache::new();
4543         unsafe { SHARED.call(callback) }
4544     }
IKnownFoldersPlaylistsStatics<R, F: FnOnce(&IKnownFoldersPlaylistsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4545     pub fn IKnownFoldersPlaylistsStatics<R, F: FnOnce(&IKnownFoldersPlaylistsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4546         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersPlaylistsStatics> = ::windows::runtime::FactoryCache::new();
4547         unsafe { SHARED.call(callback) }
4548     }
IKnownFoldersSavedPicturesStatics<R, F: FnOnce(&IKnownFoldersSavedPicturesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4549     pub fn IKnownFoldersSavedPicturesStatics<R, F: FnOnce(&IKnownFoldersSavedPicturesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4550         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersSavedPicturesStatics> = ::windows::runtime::FactoryCache::new();
4551         unsafe { SHARED.call(callback) }
4552     }
IKnownFoldersStatics<R, F: FnOnce(&IKnownFoldersStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4553     pub fn IKnownFoldersStatics<R, F: FnOnce(&IKnownFoldersStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4554         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersStatics> = ::windows::runtime::FactoryCache::new();
4555         unsafe { SHARED.call(callback) }
4556     }
IKnownFoldersStatics2<R, F: FnOnce(&IKnownFoldersStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4557     pub fn IKnownFoldersStatics2<R, F: FnOnce(&IKnownFoldersStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4558         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersStatics2> = ::windows::runtime::FactoryCache::new();
4559         unsafe { SHARED.call(callback) }
4560     }
IKnownFoldersStatics3<R, F: FnOnce(&IKnownFoldersStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4561     pub fn IKnownFoldersStatics3<R, F: FnOnce(&IKnownFoldersStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4562         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersStatics3> = ::windows::runtime::FactoryCache::new();
4563         unsafe { SHARED.call(callback) }
4564     }
IKnownFoldersStatics4<R, F: FnOnce(&IKnownFoldersStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4565     pub fn IKnownFoldersStatics4<R, F: FnOnce(&IKnownFoldersStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4566         static mut SHARED: ::windows::runtime::FactoryCache<KnownFolders, IKnownFoldersStatics4> = ::windows::runtime::FactoryCache::new();
4567         unsafe { SHARED.call(callback) }
4568     }
4569 }
4570 impl ::windows::runtime::RuntimeName for KnownFolders {
4571     const NAME: &'static str = "Windows.Storage.KnownFolders";
4572 }
4573 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4574 #[repr(transparent)]
4575 pub struct KnownFoldersAccessStatus(pub i32);
4576 impl KnownFoldersAccessStatus {
4577     pub const DeniedBySystem: KnownFoldersAccessStatus = KnownFoldersAccessStatus(0i32);
4578     pub const NotDeclaredByApp: KnownFoldersAccessStatus = KnownFoldersAccessStatus(1i32);
4579     pub const DeniedByUser: KnownFoldersAccessStatus = KnownFoldersAccessStatus(2i32);
4580     pub const UserPromptRequired: KnownFoldersAccessStatus = KnownFoldersAccessStatus(3i32);
4581     pub const Allowed: KnownFoldersAccessStatus = KnownFoldersAccessStatus(4i32);
4582     pub const AllowedPerAppFolder: KnownFoldersAccessStatus = KnownFoldersAccessStatus(5i32);
4583 }
4584 impl ::std::convert::From<i32> for KnownFoldersAccessStatus {
from(value: i32) -> Self4585     fn from(value: i32) -> Self {
4586         Self(value)
4587     }
4588 }
4589 unsafe impl ::windows::runtime::Abi for KnownFoldersAccessStatus {
4590     type Abi = Self;
4591     type DefaultType = Self;
4592 }
4593 unsafe impl ::windows::runtime::RuntimeType for KnownFoldersAccessStatus {
4594     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.KnownFoldersAccessStatus;i4)");
4595 }
4596 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4597 #[repr(transparent)]
4598 pub struct KnownLibraryId(pub i32);
4599 impl KnownLibraryId {
4600     pub const Music: KnownLibraryId = KnownLibraryId(0i32);
4601     pub const Pictures: KnownLibraryId = KnownLibraryId(1i32);
4602     pub const Videos: KnownLibraryId = KnownLibraryId(2i32);
4603     pub const Documents: KnownLibraryId = KnownLibraryId(3i32);
4604 }
4605 impl ::std::convert::From<i32> for KnownLibraryId {
from(value: i32) -> Self4606     fn from(value: i32) -> Self {
4607         Self(value)
4608     }
4609 }
4610 unsafe impl ::windows::runtime::Abi for KnownLibraryId {
4611     type Abi = Self;
4612     type DefaultType = Self;
4613 }
4614 unsafe impl ::windows::runtime::RuntimeType for KnownLibraryId {
4615     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.KnownLibraryId;i4)");
4616 }
4617 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4618 #[repr(transparent)]
4619 pub struct NameCollisionOption(pub i32);
4620 impl NameCollisionOption {
4621     pub const GenerateUniqueName: NameCollisionOption = NameCollisionOption(0i32);
4622     pub const ReplaceExisting: NameCollisionOption = NameCollisionOption(1i32);
4623     pub const FailIfExists: NameCollisionOption = NameCollisionOption(2i32);
4624 }
4625 impl ::std::convert::From<i32> for NameCollisionOption {
from(value: i32) -> Self4626     fn from(value: i32) -> Self {
4627         Self(value)
4628     }
4629 }
4630 unsafe impl ::windows::runtime::Abi for NameCollisionOption {
4631     type Abi = Self;
4632     type DefaultType = Self;
4633 }
4634 unsafe impl ::windows::runtime::RuntimeType for NameCollisionOption {
4635     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.NameCollisionOption;i4)");
4636 }
4637 pub struct PathIO {}
4638 impl PathIO {
4639     #[cfg(feature = "Foundation")]
ReadTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>4640     pub fn ReadTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>> {
4641         Self::IPathIOStatics(|this| unsafe {
4642             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>(result__)
4644         })
4645     }
4646     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReadTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>4647     pub fn ReadTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>> {
4648         Self::IPathIOStatics(|this| unsafe {
4649             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4650             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncOperation<::windows::runtime::HSTRING>>(result__)
4651         })
4652     }
4653     #[cfg(feature = "Foundation")]
WriteTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4654     pub fn WriteTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4655         Self::IPathIOStatics(|this| unsafe {
4656             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4657             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), contents.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4658         })
4659     }
4660     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4661     pub fn WriteTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4662         Self::IPathIOStatics(|this| unsafe {
4663             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4664             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), contents.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4665         })
4666     }
4667     #[cfg(feature = "Foundation")]
AppendTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4668     pub fn AppendTextAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4669         Self::IPathIOStatics(|this| unsafe {
4670             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4671             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), contents.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4672         })
4673     }
4674     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
AppendTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4675     pub fn AppendTextWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, contents: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4676         Self::IPathIOStatics(|this| unsafe {
4677             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4678             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), contents.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4679         })
4680     }
4681     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
ReadLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>4682     pub fn ReadLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>> {
4683         Self::IPathIOStatics(|this| unsafe {
4684             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4685             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>(result__)
4686         })
4687     }
4688     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))]
ReadLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>4689     pub fn ReadLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>> {
4690         Self::IPathIOStatics(|this| unsafe {
4691             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4692             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>>(result__)
4693         })
4694     }
4695     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
WriteLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4696     pub fn WriteLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4697         Self::IPathIOStatics(|this| unsafe {
4698             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4699             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), lines.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4700         })
4701     }
4702     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))]
WriteLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4703     pub fn WriteLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4704         Self::IPathIOStatics(|this| unsafe {
4705             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4706             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4707         })
4708     }
4709     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
AppendLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4710     pub fn AppendLinesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4711         Self::IPathIOStatics(|this| unsafe {
4712             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4713             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), lines.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4714         })
4715     }
4716     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Streams"))]
AppendLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4717     pub fn AppendLinesWithEncodingAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IIterable<::windows::runtime::HSTRING>>>(absolutepath: Param0, lines: Param1, encoding: Streams::UnicodeEncoding) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4718         Self::IPathIOStatics(|this| unsafe {
4719             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4720             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), lines.into_param().abi(), encoding, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4721         })
4722     }
4723     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReadBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IBuffer>>4724     pub fn ReadBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IBuffer>> {
4725         Self::IPathIOStatics(|this| unsafe {
4726             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4727             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IBuffer>>(result__)
4728         })
4729     }
4730     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, Streams::IBuffer>>(absolutepath: Param0, buffer: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4731     pub fn WriteBufferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, Streams::IBuffer>>(absolutepath: Param0, buffer: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4732         Self::IPathIOStatics(|this| unsafe {
4733             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4734             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4735         })
4736     }
4737     #[cfg(feature = "Foundation")]
WriteBytesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, buffer: &[<u8 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4738     pub fn WriteBytesAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(absolutepath: Param0, buffer: &[<u8 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4739         Self::IPathIOStatics(|this| unsafe {
4740             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4741             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), absolutepath.into_param().abi(), buffer.len() as u32, ::std::mem::transmute(buffer.as_ptr()), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4742         })
4743     }
IPathIOStatics<R, F: FnOnce(&IPathIOStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4744     pub fn IPathIOStatics<R, F: FnOnce(&IPathIOStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4745         static mut SHARED: ::windows::runtime::FactoryCache<PathIO, IPathIOStatics> = ::windows::runtime::FactoryCache::new();
4746         unsafe { SHARED.call(callback) }
4747     }
4748 }
4749 impl ::windows::runtime::RuntimeName for PathIO {
4750     const NAME: &'static str = "Windows.Storage.PathIO";
4751 }
4752 #[repr(transparent)]
4753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4754 pub struct SetVersionDeferral(::windows::runtime::IInspectable);
4755 impl SetVersionDeferral {
Complete(&self) -> ::windows::runtime::Result<()>4756     pub fn Complete(&self) -> ::windows::runtime::Result<()> {
4757         let this = self;
4758         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
4759     }
4760 }
4761 unsafe impl ::windows::runtime::RuntimeType for SetVersionDeferral {
4762     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SetVersionDeferral;{033508a2-781a-437a-b078-3f32badcfe47})");
4763 }
4764 unsafe impl ::windows::runtime::Interface for SetVersionDeferral {
4765     type Vtable = ISetVersionDeferral_abi;
4766     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(53807266, 30746, 17274, [176, 120, 63, 50, 186, 220, 254, 71]);
4767 }
4768 impl ::windows::runtime::RuntimeName for SetVersionDeferral {
4769     const NAME: &'static str = "Windows.Storage.SetVersionDeferral";
4770 }
4771 impl ::std::convert::From<SetVersionDeferral> for ::windows::runtime::IUnknown {
from(value: SetVersionDeferral) -> Self4772     fn from(value: SetVersionDeferral) -> Self {
4773         unsafe { ::std::mem::transmute(value) }
4774     }
4775 }
4776 impl ::std::convert::From<&SetVersionDeferral> for ::windows::runtime::IUnknown {
from(value: &SetVersionDeferral) -> Self4777     fn from(value: &SetVersionDeferral) -> Self {
4778         ::std::convert::From::from(::std::clone::Clone::clone(value))
4779     }
4780 }
4781 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SetVersionDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4782     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4783         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4784     }
4785 }
4786 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SetVersionDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4787     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4788         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4789     }
4790 }
4791 impl ::std::convert::From<SetVersionDeferral> for ::windows::runtime::IInspectable {
from(value: SetVersionDeferral) -> Self4792     fn from(value: SetVersionDeferral) -> Self {
4793         value.0
4794     }
4795 }
4796 impl ::std::convert::From<&SetVersionDeferral> for ::windows::runtime::IInspectable {
from(value: &SetVersionDeferral) -> Self4797     fn from(value: &SetVersionDeferral) -> Self {
4798         value.0.clone()
4799     }
4800 }
4801 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SetVersionDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4802     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4803         ::windows::runtime::Param::Owned(self.0)
4804     }
4805 }
4806 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SetVersionDeferral {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4807     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4808         ::windows::runtime::Param::Borrowed(&self.0)
4809     }
4810 }
4811 unsafe impl ::std::marker::Send for SetVersionDeferral {}
4812 unsafe impl ::std::marker::Sync for SetVersionDeferral {}
4813 #[repr(transparent)]
4814 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4815 pub struct SetVersionRequest(::windows::runtime::IInspectable);
4816 impl SetVersionRequest {
CurrentVersion(&self) -> ::windows::runtime::Result<u32>4817     pub fn CurrentVersion(&self) -> ::windows::runtime::Result<u32> {
4818         let this = self;
4819         unsafe {
4820             let mut result__: u32 = ::std::mem::zeroed();
4821             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
4822         }
4823     }
DesiredVersion(&self) -> ::windows::runtime::Result<u32>4824     pub fn DesiredVersion(&self) -> ::windows::runtime::Result<u32> {
4825         let this = self;
4826         unsafe {
4827             let mut result__: u32 = ::std::mem::zeroed();
4828             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
4829         }
4830     }
GetDeferral(&self) -> ::windows::runtime::Result<SetVersionDeferral>4831     pub fn GetDeferral(&self) -> ::windows::runtime::Result<SetVersionDeferral> {
4832         let this = self;
4833         unsafe {
4834             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4835             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SetVersionDeferral>(result__)
4836         }
4837     }
4838 }
4839 unsafe impl ::windows::runtime::RuntimeType for SetVersionRequest {
4840     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SetVersionRequest;{b9c76b9b-1056-4e69-8330-162619956f9b})");
4841 }
4842 unsafe impl ::windows::runtime::Interface for SetVersionRequest {
4843     type Vtable = ISetVersionRequest_abi;
4844     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3116854171, 4182, 20073, [131, 48, 22, 38, 25, 149, 111, 155]);
4845 }
4846 impl ::windows::runtime::RuntimeName for SetVersionRequest {
4847     const NAME: &'static str = "Windows.Storage.SetVersionRequest";
4848 }
4849 impl ::std::convert::From<SetVersionRequest> for ::windows::runtime::IUnknown {
from(value: SetVersionRequest) -> Self4850     fn from(value: SetVersionRequest) -> Self {
4851         unsafe { ::std::mem::transmute(value) }
4852     }
4853 }
4854 impl ::std::convert::From<&SetVersionRequest> for ::windows::runtime::IUnknown {
from(value: &SetVersionRequest) -> Self4855     fn from(value: &SetVersionRequest) -> Self {
4856         ::std::convert::From::from(::std::clone::Clone::clone(value))
4857     }
4858 }
4859 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SetVersionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4860     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4861         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4862     }
4863 }
4864 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SetVersionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4865     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4866         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4867     }
4868 }
4869 impl ::std::convert::From<SetVersionRequest> for ::windows::runtime::IInspectable {
from(value: SetVersionRequest) -> Self4870     fn from(value: SetVersionRequest) -> Self {
4871         value.0
4872     }
4873 }
4874 impl ::std::convert::From<&SetVersionRequest> for ::windows::runtime::IInspectable {
from(value: &SetVersionRequest) -> Self4875     fn from(value: &SetVersionRequest) -> Self {
4876         value.0.clone()
4877     }
4878 }
4879 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SetVersionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4880     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4881         ::windows::runtime::Param::Owned(self.0)
4882     }
4883 }
4884 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SetVersionRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4885     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4886         ::windows::runtime::Param::Borrowed(&self.0)
4887     }
4888 }
4889 unsafe impl ::std::marker::Send for SetVersionRequest {}
4890 unsafe impl ::std::marker::Sync for SetVersionRequest {}
4891 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4892 #[repr(transparent)]
4893 pub struct StorageDeleteOption(pub i32);
4894 impl StorageDeleteOption {
4895     pub const Default: StorageDeleteOption = StorageDeleteOption(0i32);
4896     pub const PermanentDelete: StorageDeleteOption = StorageDeleteOption(1i32);
4897 }
4898 impl ::std::convert::From<i32> for StorageDeleteOption {
from(value: i32) -> Self4899     fn from(value: i32) -> Self {
4900         Self(value)
4901     }
4902 }
4903 unsafe impl ::windows::runtime::Abi for StorageDeleteOption {
4904     type Abi = Self;
4905     type DefaultType = Self;
4906 }
4907 unsafe impl ::windows::runtime::RuntimeType for StorageDeleteOption {
4908     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.StorageDeleteOption;i4)");
4909 }
4910 #[repr(transparent)]
4911 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4912 pub struct StorageFile(::windows::runtime::IInspectable);
4913 impl StorageFile {
FileType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4914     pub fn FileType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4915         let this = self;
4916         unsafe {
4917             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4918             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4919         }
4920     }
ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4921     pub fn ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4922         let this = self;
4923         unsafe {
4924             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4925             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4926         }
4927     }
4928     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenAsync(&self, accessmode: FileAccessMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>4929     pub fn OpenAsync(&self, accessmode: FileAccessMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>> {
4930         let this = self;
4931         unsafe {
4932             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4933             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), accessmode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>(result__)
4934         }
4935     }
4936     #[cfg(feature = "Foundation")]
OpenTransactedWriteAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>>4937     pub fn OpenTransactedWriteAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>> {
4938         let this = self;
4939         unsafe {
4940             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4941             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageStreamTransaction>>(result__)
4942         }
4943     }
4944     #[cfg(feature = "Foundation")]
CopyOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>4945     pub fn CopyOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
4946         let this = self;
4947         unsafe {
4948             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4949             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
4950         }
4951     }
4952     #[cfg(feature = "Foundation")]
CopyOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>4953     pub fn CopyOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
4954         let this = self;
4955         unsafe {
4956             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4957             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
4958         }
4959     }
4960     #[cfg(feature = "Foundation")]
CopyOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>4961     pub fn CopyOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
4962         let this = self;
4963         unsafe {
4964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4965             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
4966         }
4967     }
4968     #[cfg(feature = "Foundation")]
CopyAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4969     pub fn CopyAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4970         let this = self;
4971         unsafe {
4972             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4973             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), filetoreplace.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4974         }
4975     }
4976     #[cfg(feature = "Foundation")]
MoveOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4977     pub fn MoveOverloadDefaultNameAndOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>>(&self, destinationfolder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4978         let this = self;
4979         unsafe {
4980             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4981             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4982         }
4983     }
4984     #[cfg(feature = "Foundation")]
MoveOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4985     pub fn MoveOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4986         let this = self;
4987         unsafe {
4988             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4989             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4990         }
4991     }
4992     #[cfg(feature = "Foundation")]
MoveOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>4993     pub fn MoveOverload<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFolder>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, destinationfolder: Param0, desirednewname: Param1, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
4994         let this = self;
4995         unsafe {
4996             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4997             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), destinationfolder.into_param().abi(), desirednewname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
4998         }
4999     }
5000     #[cfg(feature = "Foundation")]
MoveAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5001     pub fn MoveAndReplaceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>>(&self, filetoreplace: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5002         let this = self;
5003         unsafe {
5004             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5005             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), filetoreplace.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5006         }
5007     }
5008     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenWithOptionsAsync(&self, accessmode: FileAccessMode, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>5009     pub fn OpenWithOptionsAsync(&self, accessmode: FileAccessMode, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>> {
5010         let this = &::windows::runtime::Interface::cast::<IStorageFile2>(self)?;
5011         unsafe {
5012             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5013             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), accessmode, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IRandomAccessStream>>(result__)
5014         }
5015     }
5016     #[cfg(feature = "Foundation")]
OpenTransactedWriteWithOptionsAsync(&self, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>>5017     pub fn OpenTransactedWriteWithOptionsAsync(&self, options: StorageOpenOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageStreamTransaction>> {
5018         let this = &::windows::runtime::Interface::cast::<IStorageFile2>(self)?;
5019         unsafe {
5020             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5021             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageStreamTransaction>>(result__)
5022         }
5023     }
IsAvailable(&self) -> ::windows::runtime::Result<bool>5024     pub fn IsAvailable(&self) -> ::windows::runtime::Result<bool> {
5025         let this = &::windows::runtime::Interface::cast::<IStorageFilePropertiesWithAvailability>(self)?;
5026         unsafe {
5027             let mut result__: bool = ::std::mem::zeroed();
5028             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5029         }
5030     }
5031     #[cfg(feature = "Foundation")]
RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5032     pub fn RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5033         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5034         unsafe {
5035             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5036             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5037         }
5038     }
5039     #[cfg(feature = "Foundation")]
RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5040     pub fn RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5041         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5042         unsafe {
5043             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5044             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5045         }
5046     }
5047     #[cfg(feature = "Foundation")]
DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5048     pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5049         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5050         unsafe {
5051             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5052             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5053         }
5054     }
5055     #[cfg(feature = "Foundation")]
DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5056     pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5057         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5058         unsafe {
5059             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5060             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5061         }
5062     }
5063     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>5064     pub fn GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>> {
5065         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5066         unsafe {
5067             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5068             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>(result__)
5069         }
5070     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5071     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5072         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5073         unsafe {
5074             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5075             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5076         }
5077     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5078     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5079         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5080         unsafe {
5081             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5082             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5083         }
5084     }
Attributes(&self) -> ::windows::runtime::Result<FileAttributes>5085     pub fn Attributes(&self) -> ::windows::runtime::Result<FileAttributes> {
5086         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5087         unsafe {
5088             let mut result__: FileAttributes = ::std::mem::zeroed();
5089             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileAttributes>(result__)
5090         }
5091     }
5092     #[cfg(feature = "Foundation")]
DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>5093     pub fn DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
5094         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5095         unsafe {
5096             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
5097             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
5098         }
5099     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>5100     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
5101         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5102         unsafe {
5103             let mut result__: bool = ::std::mem::zeroed();
5104             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
5105         }
5106     }
5107     #[cfg(feature = "Foundation")]
GetParentAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5108     pub fn GetParentAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5109         let this = &::windows::runtime::Interface::cast::<IStorageItem2>(self)?;
5110         unsafe {
5111             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5112             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5113         }
5114     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageItem>>(&self, item: Param0) -> ::windows::runtime::Result<bool>5115     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageItem>>(&self, item: Param0) -> ::windows::runtime::Result<bool> {
5116         let this = &::windows::runtime::Interface::cast::<IStorageItem2>(self)?;
5117         unsafe {
5118             let mut result__: bool = ::std::mem::zeroed();
5119             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), item.into_param().abi(), &mut result__).from_abi::<bool>(result__)
5120         }
5121     }
5122     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5123     pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5124         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5125         unsafe {
5126             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5127             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5128         }
5129     }
5130     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5131     pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5132         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5133         unsafe {
5134             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5135             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5136         }
5137     }
5138     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5139     pub fn GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5140         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5141         unsafe {
5142             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5143             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5144         }
5145     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5146     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5147         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5148         unsafe {
5149             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5150             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5151         }
5152     }
DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5153     pub fn DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5154         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5155         unsafe {
5156             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5157             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5158         }
5159     }
FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5160     pub fn FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5161         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5162         unsafe {
5163             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5164             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5165         }
5166     }
5167     #[cfg(feature = "Storage_FileProperties")]
Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties>5168     pub fn Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties> {
5169         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5170         unsafe {
5171             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5172             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileProperties::StorageItemContentProperties>(result__)
5173         }
5174     }
5175     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5176     pub fn GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5177         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties2>(self)?;
5178         unsafe {
5179             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5180             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5181         }
5182     }
5183     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5184     pub fn GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5185         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties2>(self)?;
5186         unsafe {
5187             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5188             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5189         }
5190     }
5191     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5192     pub fn GetScaledImageAsThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5193         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties2>(self)?;
5194         unsafe {
5195             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5196             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5197         }
5198     }
Provider(&self) -> ::windows::runtime::Result<StorageProvider>5199     pub fn Provider(&self) -> ::windows::runtime::Result<StorageProvider> {
5200         let this = &::windows::runtime::Interface::cast::<IStorageItemPropertiesWithProvider>(self)?;
5201         unsafe {
5202             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5203             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProvider>(result__)
5204         }
5205     }
5206     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenSequentialReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IInputStream>>5207     pub fn OpenSequentialReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IInputStream>> {
5208         let this = &::windows::runtime::Interface::cast::<Streams::IInputStreamReference>(self)?;
5209         unsafe {
5210             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5211             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IInputStream>>(result__)
5212         }
5213     }
5214     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
OpenReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStreamWithContentType>>5215     pub fn OpenReadAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Streams::IRandomAccessStreamWithContentType>> {
5216         let this = &::windows::runtime::Interface::cast::<Streams::IRandomAccessStreamReference>(self)?;
5217         unsafe {
5218             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5219             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Streams::IRandomAccessStreamWithContentType>>(result__)
5220         }
5221     }
5222     #[cfg(feature = "Foundation")]
GetFileFromPathAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(path: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5223     pub fn GetFileFromPathAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(path: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5224         Self::IStorageFileStatics(|this| unsafe {
5225             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5226             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), path.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5227         })
5228     }
5229     #[cfg(feature = "Foundation")]
GetFileFromApplicationUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5230     pub fn GetFileFromApplicationUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(uri: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5231         Self::IStorageFileStatics(|this| unsafe {
5232             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5233             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), uri.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5234         })
5235     }
5236     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
CreateStreamedFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, StreamedFileDataRequestedHandler>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(displaynamewithextension: Param0, datarequested: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5237     pub fn CreateStreamedFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, StreamedFileDataRequestedHandler>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(displaynamewithextension: Param0, datarequested: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5238         Self::IStorageFileStatics(|this| unsafe {
5239             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5240             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), displaynamewithextension.into_param().abi(), datarequested.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5241         })
5242     }
5243     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReplaceWithStreamedFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, StreamedFileDataRequestedHandler>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(filetoreplace: Param0, datarequested: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5244     pub fn ReplaceWithStreamedFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, StreamedFileDataRequestedHandler>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(filetoreplace: Param0, datarequested: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5245         Self::IStorageFileStatics(|this| unsafe {
5246             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5247             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), filetoreplace.into_param().abi(), datarequested.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5248         })
5249     }
5250     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
CreateStreamedFileFromUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(displaynamewithextension: Param0, uri: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5251     pub fn CreateStreamedFileFromUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(displaynamewithextension: Param0, uri: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5252         Self::IStorageFileStatics(|this| unsafe {
5253             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5254             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), displaynamewithextension.into_param().abi(), uri.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5255         })
5256     }
5257     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReplaceWithStreamedFileFromUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(filetoreplace: Param0, uri: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5258     pub fn ReplaceWithStreamedFileFromUriAsync<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageFile>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>, Param2: ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference>>(filetoreplace: Param0, uri: Param1, thumbnail: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5259         Self::IStorageFileStatics(|this| unsafe {
5260             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5261             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), filetoreplace.into_param().abi(), uri.into_param().abi(), thumbnail.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5262         })
5263     }
5264     #[cfg(all(feature = "Foundation", feature = "System"))]
GetFileFromPathForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, path: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5265     pub fn GetFileFromPathForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, path: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5266         Self::IStorageFileStatics2(|this| unsafe {
5267             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5268             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), path.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5269         })
5270     }
IStorageFileStatics<R, F: FnOnce(&IStorageFileStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5271     pub fn IStorageFileStatics<R, F: FnOnce(&IStorageFileStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5272         static mut SHARED: ::windows::runtime::FactoryCache<StorageFile, IStorageFileStatics> = ::windows::runtime::FactoryCache::new();
5273         unsafe { SHARED.call(callback) }
5274     }
IStorageFileStatics2<R, F: FnOnce(&IStorageFileStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5275     pub fn IStorageFileStatics2<R, F: FnOnce(&IStorageFileStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5276         static mut SHARED: ::windows::runtime::FactoryCache<StorageFile, IStorageFileStatics2> = ::windows::runtime::FactoryCache::new();
5277         unsafe { SHARED.call(callback) }
5278     }
5279 }
5280 unsafe impl ::windows::runtime::RuntimeType for StorageFile {
5281     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageFile;{fa3f6186-4214-428c-a64c-14c9ac7315ea})");
5282 }
5283 unsafe impl ::windows::runtime::Interface for StorageFile {
5284     type Vtable = IStorageFile_abi;
5285     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4198457734, 16916, 17036, [166, 76, 20, 201, 172, 115, 21, 234]);
5286 }
5287 impl ::windows::runtime::RuntimeName for StorageFile {
5288     const NAME: &'static str = "Windows.Storage.StorageFile";
5289 }
5290 impl ::std::convert::From<StorageFile> for ::windows::runtime::IUnknown {
from(value: StorageFile) -> Self5291     fn from(value: StorageFile) -> Self {
5292         unsafe { ::std::mem::transmute(value) }
5293     }
5294 }
5295 impl ::std::convert::From<&StorageFile> for ::windows::runtime::IUnknown {
from(value: &StorageFile) -> Self5296     fn from(value: &StorageFile) -> Self {
5297         ::std::convert::From::from(::std::clone::Clone::clone(value))
5298     }
5299 }
5300 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5301     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5302         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5303     }
5304 }
5305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5308     }
5309 }
5310 impl ::std::convert::From<StorageFile> for ::windows::runtime::IInspectable {
from(value: StorageFile) -> Self5311     fn from(value: StorageFile) -> Self {
5312         value.0
5313     }
5314 }
5315 impl ::std::convert::From<&StorageFile> for ::windows::runtime::IInspectable {
from(value: &StorageFile) -> Self5316     fn from(value: &StorageFile) -> Self {
5317         value.0.clone()
5318     }
5319 }
5320 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5321     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5322         ::windows::runtime::Param::Owned(self.0)
5323     }
5324 }
5325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5327         ::windows::runtime::Param::Borrowed(&self.0)
5328     }
5329 }
5330 impl ::std::convert::From<StorageFile> for IStorageFile {
from(value: StorageFile) -> Self5331     fn from(value: StorageFile) -> Self {
5332         unsafe { ::std::mem::transmute(value) }
5333     }
5334 }
5335 impl ::std::convert::From<&StorageFile> for IStorageFile {
from(value: &StorageFile) -> Self5336     fn from(value: &StorageFile) -> Self {
5337         ::std::convert::From::from(::std::clone::Clone::clone(value))
5338     }
5339 }
5340 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFile> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFile>5341     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFile> {
5342         ::windows::runtime::Param::Owned(::std::convert::Into::<IStorageFile>::into(self))
5343     }
5344 }
5345 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFile> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFile>5346     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFile> {
5347         ::windows::runtime::Param::Owned(::std::convert::Into::<IStorageFile>::into(::std::clone::Clone::clone(self)))
5348     }
5349 }
5350 impl ::std::convert::TryFrom<StorageFile> for IStorageFile2 {
5351     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5352     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5353         ::std::convert::TryFrom::try_from(&value)
5354     }
5355 }
5356 impl ::std::convert::TryFrom<&StorageFile> for IStorageFile2 {
5357     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5358     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5359         ::windows::runtime::Interface::cast(value)
5360     }
5361 }
5362 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFile2> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFile2>5363     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFile2> {
5364         ::windows::runtime::IntoParam::into_param(&self)
5365     }
5366 }
5367 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFile2> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFile2>5368     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFile2> {
5369         ::std::convert::TryInto::<IStorageFile2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5370     }
5371 }
5372 impl ::std::convert::TryFrom<StorageFile> for IStorageFilePropertiesWithAvailability {
5373     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5374     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5375         ::std::convert::TryFrom::try_from(&value)
5376     }
5377 }
5378 impl ::std::convert::TryFrom<&StorageFile> for IStorageFilePropertiesWithAvailability {
5379     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5380     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5381         ::windows::runtime::Interface::cast(value)
5382     }
5383 }
5384 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFilePropertiesWithAvailability> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFilePropertiesWithAvailability>5385     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFilePropertiesWithAvailability> {
5386         ::windows::runtime::IntoParam::into_param(&self)
5387     }
5388 }
5389 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFilePropertiesWithAvailability> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFilePropertiesWithAvailability>5390     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFilePropertiesWithAvailability> {
5391         ::std::convert::TryInto::<IStorageFilePropertiesWithAvailability>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5392     }
5393 }
5394 impl ::std::convert::TryFrom<StorageFile> for IStorageItem {
5395     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5396     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5397         ::std::convert::TryFrom::try_from(&value)
5398     }
5399 }
5400 impl ::std::convert::TryFrom<&StorageFile> for IStorageItem {
5401     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5402     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5403         ::windows::runtime::Interface::cast(value)
5404     }
5405 }
5406 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>5407     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
5408         ::windows::runtime::IntoParam::into_param(&self)
5409     }
5410 }
5411 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>5412     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
5413         ::std::convert::TryInto::<IStorageItem>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5414     }
5415 }
5416 impl ::std::convert::TryFrom<StorageFile> for IStorageItem2 {
5417     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5418     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5419         ::std::convert::TryFrom::try_from(&value)
5420     }
5421 }
5422 impl ::std::convert::TryFrom<&StorageFile> for IStorageItem2 {
5423     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5424     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5425         ::windows::runtime::Interface::cast(value)
5426     }
5427 }
5428 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem2> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2>5429     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2> {
5430         ::windows::runtime::IntoParam::into_param(&self)
5431     }
5432 }
5433 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem2> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2>5434     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2> {
5435         ::std::convert::TryInto::<IStorageItem2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5436     }
5437 }
5438 impl ::std::convert::TryFrom<StorageFile> for IStorageItemProperties {
5439     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5440     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5441         ::std::convert::TryFrom::try_from(&value)
5442     }
5443 }
5444 impl ::std::convert::TryFrom<&StorageFile> for IStorageItemProperties {
5445     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5446     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5447         ::windows::runtime::Interface::cast(value)
5448     }
5449 }
5450 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>5451     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
5452         ::windows::runtime::IntoParam::into_param(&self)
5453     }
5454 }
5455 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>5456     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
5457         ::std::convert::TryInto::<IStorageItemProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5458     }
5459 }
5460 impl ::std::convert::TryFrom<StorageFile> for IStorageItemProperties2 {
5461     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5462     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5463         ::std::convert::TryFrom::try_from(&value)
5464     }
5465 }
5466 impl ::std::convert::TryFrom<&StorageFile> for IStorageItemProperties2 {
5467     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5468     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5469         ::windows::runtime::Interface::cast(value)
5470     }
5471 }
5472 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties2> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2>5473     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2> {
5474         ::windows::runtime::IntoParam::into_param(&self)
5475     }
5476 }
5477 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties2> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2>5478     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2> {
5479         ::std::convert::TryInto::<IStorageItemProperties2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5480     }
5481 }
5482 impl ::std::convert::TryFrom<StorageFile> for IStorageItemPropertiesWithProvider {
5483     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5484     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5485         ::std::convert::TryFrom::try_from(&value)
5486     }
5487 }
5488 impl ::std::convert::TryFrom<&StorageFile> for IStorageItemPropertiesWithProvider {
5489     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5490     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5491         ::windows::runtime::Interface::cast(value)
5492     }
5493 }
5494 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemPropertiesWithProvider> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider>5495     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider> {
5496         ::windows::runtime::IntoParam::into_param(&self)
5497     }
5498 }
5499 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemPropertiesWithProvider> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider>5500     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider> {
5501         ::std::convert::TryInto::<IStorageItemPropertiesWithProvider>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5502     }
5503 }
5504 #[cfg(feature = "Storage_Streams")]
5505 impl ::std::convert::TryFrom<StorageFile> for Streams::IInputStreamReference {
5506     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5507     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5508         ::std::convert::TryFrom::try_from(&value)
5509     }
5510 }
5511 #[cfg(feature = "Storage_Streams")]
5512 impl ::std::convert::TryFrom<&StorageFile> for Streams::IInputStreamReference {
5513     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5514     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5515         ::windows::runtime::Interface::cast(value)
5516     }
5517 }
5518 #[cfg(feature = "Storage_Streams")]
5519 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IInputStreamReference> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference>5520     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference> {
5521         ::windows::runtime::IntoParam::into_param(&self)
5522     }
5523 }
5524 #[cfg(feature = "Storage_Streams")]
5525 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IInputStreamReference> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference>5526     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IInputStreamReference> {
5527         ::std::convert::TryInto::<Streams::IInputStreamReference>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5528     }
5529 }
5530 #[cfg(feature = "Storage_Streams")]
5531 impl ::std::convert::TryFrom<StorageFile> for Streams::IRandomAccessStreamReference {
5532     type Error = ::windows::runtime::Error;
try_from(value: StorageFile) -> ::windows::runtime::Result<Self>5533     fn try_from(value: StorageFile) -> ::windows::runtime::Result<Self> {
5534         ::std::convert::TryFrom::try_from(&value)
5535     }
5536 }
5537 #[cfg(feature = "Storage_Streams")]
5538 impl ::std::convert::TryFrom<&StorageFile> for Streams::IRandomAccessStreamReference {
5539     type Error = ::windows::runtime::Error;
try_from(value: &StorageFile) -> ::windows::runtime::Result<Self>5540     fn try_from(value: &StorageFile) -> ::windows::runtime::Result<Self> {
5541         ::windows::runtime::Interface::cast(value)
5542     }
5543 }
5544 #[cfg(feature = "Storage_Streams")]
5545 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference> for StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference>5546     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference> {
5547         ::windows::runtime::IntoParam::into_param(&self)
5548     }
5549 }
5550 #[cfg(feature = "Storage_Streams")]
5551 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IRandomAccessStreamReference> for &StorageFile {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference>5552     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IRandomAccessStreamReference> {
5553         ::std::convert::TryInto::<Streams::IRandomAccessStreamReference>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5554     }
5555 }
5556 #[repr(transparent)]
5557 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5558 pub struct StorageFolder(::windows::runtime::IInspectable);
5559 impl StorageFolder {
5560     #[cfg(feature = "Foundation")]
CreateFileAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5561     pub fn CreateFileAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5562         let this = self;
5563         unsafe {
5564             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5565             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5566         }
5567     }
5568     #[cfg(feature = "Foundation")]
CreateFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5569     pub fn CreateFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5570         let this = self;
5571         unsafe {
5572             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5573             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5574         }
5575     }
5576     #[cfg(feature = "Foundation")]
CreateFolderAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5577     pub fn CreateFolderAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5578         let this = self;
5579         unsafe {
5580             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5581             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5582         }
5583     }
5584     #[cfg(feature = "Foundation")]
CreateFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5585     pub fn CreateFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, options: CreationCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5586         let this = self;
5587         unsafe {
5588             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5589             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5590         }
5591     }
5592     #[cfg(feature = "Foundation")]
GetFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>>5593     pub fn GetFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFile>> {
5594         let this = self;
5595         unsafe {
5596             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5597             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFile>>(result__)
5598         }
5599     }
5600     #[cfg(feature = "Foundation")]
GetFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5601     pub fn GetFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5602         let this = self;
5603         unsafe {
5604             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5605             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5606         }
5607     }
5608     #[cfg(feature = "Foundation")]
GetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>>5609     pub fn GetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>> {
5610         let this = self;
5611         unsafe {
5612             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5613             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<IStorageItem>>(result__)
5614         }
5615     }
5616     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetFilesAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>5617     pub fn GetFilesAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>> {
5618         let this = self;
5619         unsafe {
5620             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5621             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>(result__)
5622         }
5623     }
5624     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetFoldersAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>5625     pub fn GetFoldersAsyncOverloadDefaultOptionsStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>> {
5626         let this = self;
5627         unsafe {
5628             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5629             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>(result__)
5630         }
5631     }
5632     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetItemsAsyncOverloadDefaultStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>>5633     pub fn GetItemsAsyncOverloadDefaultStartAndCount(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>> {
5634         let this = self;
5635         unsafe {
5636             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5637             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>>(result__)
5638         }
5639     }
5640     #[cfg(feature = "Foundation")]
TryGetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>>5641     pub fn TryGetItemAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, name: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>> {
5642         let this = &::windows::runtime::Interface::cast::<IStorageFolder2>(self)?;
5643         unsafe {
5644             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5645             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), name.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<IStorageItem>>(result__)
5646         }
5647     }
5648     #[cfg(feature = "Foundation")]
RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5649     pub fn RenameAsyncOverloadDefaultOptions<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5650         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5651         unsafe {
5652             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5653             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5654         }
5655     }
5656     #[cfg(feature = "Foundation")]
RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5657     pub fn RenameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, desiredname: Param0, option: NameCollisionOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5658         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5659         unsafe {
5660             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5661             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), desiredname.into_param().abi(), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5662         }
5663     }
5664     #[cfg(feature = "Foundation")]
DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5665     pub fn DeleteAsyncOverloadDefaultOptions(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5666         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5667         unsafe {
5668             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5669             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5670         }
5671     }
5672     #[cfg(feature = "Foundation")]
DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>5673     pub fn DeleteAsync(&self, option: StorageDeleteOption) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
5674         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5675         unsafe {
5676             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5677             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), option, &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
5678         }
5679     }
5680     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties"))]
GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>5681     pub fn GetBasicPropertiesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>> {
5682         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5683         unsafe {
5684             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5685             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::BasicProperties>>(result__)
5686         }
5687     }
Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5688     pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5689         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5690         unsafe {
5691             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5692             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5693         }
5694     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5695     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5696         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5697         unsafe {
5698             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5699             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5700         }
5701     }
Attributes(&self) -> ::windows::runtime::Result<FileAttributes>5702     pub fn Attributes(&self) -> ::windows::runtime::Result<FileAttributes> {
5703         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5704         unsafe {
5705             let mut result__: FileAttributes = ::std::mem::zeroed();
5706             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileAttributes>(result__)
5707         }
5708     }
5709     #[cfg(feature = "Foundation")]
DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime>5710     pub fn DateCreated(&self) -> ::windows::runtime::Result<super::Foundation::DateTime> {
5711         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5712         unsafe {
5713             let mut result__: super::Foundation::DateTime = ::std::mem::zeroed();
5714             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::DateTime>(result__)
5715         }
5716     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>5717     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
5718         let this = &::windows::runtime::Interface::cast::<IStorageItem>(self)?;
5719         unsafe {
5720             let mut result__: bool = ::std::mem::zeroed();
5721             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
5722         }
5723     }
5724     #[cfg(feature = "Foundation")]
GetParentAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5725     pub fn GetParentAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5726         let this = &::windows::runtime::Interface::cast::<IStorageItem2>(self)?;
5727         unsafe {
5728             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5729             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5730         }
5731     }
IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageItem>>(&self, item: Param0) -> ::windows::runtime::Result<bool>5732     pub fn IsEqual<'a, Param0: ::windows::runtime::IntoParam<'a, IStorageItem>>(&self, item: Param0) -> ::windows::runtime::Result<bool> {
5733         let this = &::windows::runtime::Interface::cast::<IStorageItem2>(self)?;
5734         unsafe {
5735             let mut result__: bool = ::std::mem::zeroed();
5736             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), item.into_param().abi(), &mut result__).from_abi::<bool>(result__)
5737         }
5738     }
5739     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5740     pub fn GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5741         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5742         unsafe {
5743             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5744             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5745         }
5746     }
5747     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5748     pub fn GetThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5749         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5750         unsafe {
5751             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5752             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5753         }
5754     }
5755     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5756     pub fn GetThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5757         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5758         unsafe {
5759             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5760             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5761         }
5762     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5763     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5764         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5765         unsafe {
5766             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5767             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5768         }
5769     }
DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5770     pub fn DisplayType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5771         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5772         unsafe {
5773             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5774             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5775         }
5776     }
FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5777     pub fn FolderRelativeId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5778         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5779         unsafe {
5780             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5781             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5782         }
5783     }
5784     #[cfg(feature = "Storage_FileProperties")]
Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties>5785     pub fn Properties(&self) -> ::windows::runtime::Result<FileProperties::StorageItemContentProperties> {
5786         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties>(self)?;
5787         unsafe {
5788             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5789             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<FileProperties::StorageItemContentProperties>(result__)
5790         }
5791     }
5792     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5793     pub fn GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(&self, mode: FileProperties::ThumbnailMode) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5794         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties2>(self)?;
5795         unsafe {
5796             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5797             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5798         }
5799     }
5800     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5801     pub fn GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5802         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties2>(self)?;
5803         unsafe {
5804             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5805             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mode, requestedsize, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5806         }
5807     }
5808     #[cfg(all(feature = "Foundation", feature = "Storage_FileProperties", feature = "Storage_Streams"))]
GetScaledImageAsThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>5809     pub fn GetScaledImageAsThumbnailAsync(&self, mode: FileProperties::ThumbnailMode, requestedsize: u32, options: FileProperties::ThumbnailOptions) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>> {
5810         let this = &::windows::runtime::Interface::cast::<IStorageItemProperties2>(self)?;
5811         unsafe {
5812             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5813             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mode, requestedsize, options, &mut result__).from_abi::<super::Foundation::IAsyncOperation<FileProperties::StorageItemThumbnail>>(result__)
5814         }
5815     }
Provider(&self) -> ::windows::runtime::Result<StorageProvider>5816     pub fn Provider(&self) -> ::windows::runtime::Result<StorageProvider> {
5817         let this = &::windows::runtime::Interface::cast::<IStorageItemPropertiesWithProvider>(self)?;
5818         unsafe {
5819             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5820             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageProvider>(result__)
5821         }
5822     }
5823     #[cfg(all(feature = "Foundation", feature = "Storage_Search"))]
GetIndexedStateAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Search::IndexedState>>5824     pub fn GetIndexedStateAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<Search::IndexedState>> {
5825         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5826         unsafe {
5827             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5828             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<Search::IndexedState>>(result__)
5829         }
5830     }
5831     #[cfg(feature = "Storage_Search")]
CreateFileQueryOverloadDefault(&self) -> ::windows::runtime::Result<Search::StorageFileQueryResult>5832     pub fn CreateFileQueryOverloadDefault(&self) -> ::windows::runtime::Result<Search::StorageFileQueryResult> {
5833         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5834         unsafe {
5835             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5836             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Search::StorageFileQueryResult>(result__)
5837         }
5838     }
5839     #[cfg(feature = "Storage_Search")]
CreateFileQuery(&self, query: Search::CommonFileQuery) -> ::windows::runtime::Result<Search::StorageFileQueryResult>5840     pub fn CreateFileQuery(&self, query: Search::CommonFileQuery) -> ::windows::runtime::Result<Search::StorageFileQueryResult> {
5841         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5842         unsafe {
5843             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5844             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), query, &mut result__).from_abi::<Search::StorageFileQueryResult>(result__)
5845         }
5846     }
5847     #[cfg(feature = "Storage_Search")]
CreateFileQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<Search::StorageFileQueryResult>5848     pub fn CreateFileQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<Search::StorageFileQueryResult> {
5849         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5850         unsafe {
5851             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5852             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), queryoptions.into_param().abi(), &mut result__).from_abi::<Search::StorageFileQueryResult>(result__)
5853         }
5854     }
5855     #[cfg(feature = "Storage_Search")]
CreateFolderQueryOverloadDefault(&self) -> ::windows::runtime::Result<Search::StorageFolderQueryResult>5856     pub fn CreateFolderQueryOverloadDefault(&self) -> ::windows::runtime::Result<Search::StorageFolderQueryResult> {
5857         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5858         unsafe {
5859             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5860             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Search::StorageFolderQueryResult>(result__)
5861         }
5862     }
5863     #[cfg(feature = "Storage_Search")]
CreateFolderQuery(&self, query: Search::CommonFolderQuery) -> ::windows::runtime::Result<Search::StorageFolderQueryResult>5864     pub fn CreateFolderQuery(&self, query: Search::CommonFolderQuery) -> ::windows::runtime::Result<Search::StorageFolderQueryResult> {
5865         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5866         unsafe {
5867             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5868             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), query, &mut result__).from_abi::<Search::StorageFolderQueryResult>(result__)
5869         }
5870     }
5871     #[cfg(feature = "Storage_Search")]
CreateFolderQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<Search::StorageFolderQueryResult>5872     pub fn CreateFolderQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<Search::StorageFolderQueryResult> {
5873         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5874         unsafe {
5875             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5876             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), queryoptions.into_param().abi(), &mut result__).from_abi::<Search::StorageFolderQueryResult>(result__)
5877         }
5878     }
5879     #[cfg(feature = "Storage_Search")]
CreateItemQuery(&self) -> ::windows::runtime::Result<Search::StorageItemQueryResult>5880     pub fn CreateItemQuery(&self) -> ::windows::runtime::Result<Search::StorageItemQueryResult> {
5881         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5882         unsafe {
5883             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5884             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Search::StorageItemQueryResult>(result__)
5885         }
5886     }
5887     #[cfg(feature = "Storage_Search")]
CreateItemQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<Search::StorageItemQueryResult>5888     pub fn CreateItemQueryWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<Search::StorageItemQueryResult> {
5889         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5890         unsafe {
5891             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5892             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), queryoptions.into_param().abi(), &mut result__).from_abi::<Search::StorageItemQueryResult>(result__)
5893         }
5894     }
5895     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Search"))]
GetFilesAsync(&self, query: Search::CommonFileQuery, startindex: u32, maxitemstoretrieve: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>5896     pub fn GetFilesAsync(&self, query: Search::CommonFileQuery, startindex: u32, maxitemstoretrieve: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>> {
5897         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5898         unsafe {
5899             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5900             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>(result__)
5901         }
5902     }
5903     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Search"))]
GetFilesAsyncOverloadDefaultStartAndCount(&self, query: Search::CommonFileQuery) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>5904     pub fn GetFilesAsyncOverloadDefaultStartAndCount(&self, query: Search::CommonFileQuery) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>> {
5905         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5906         unsafe {
5907             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5908             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), query, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFile>>>(result__)
5909         }
5910     }
5911     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Search"))]
GetFoldersAsync(&self, query: Search::CommonFolderQuery, startindex: u32, maxitemstoretrieve: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>5912     pub fn GetFoldersAsync(&self, query: Search::CommonFolderQuery, startindex: u32, maxitemstoretrieve: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>> {
5913         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5914         unsafe {
5915             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5916             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), query, startindex, maxitemstoretrieve, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>(result__)
5917         }
5918     }
5919     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Search"))]
GetFoldersAsyncOverloadDefaultStartAndCount(&self, query: Search::CommonFolderQuery) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>5920     pub fn GetFoldersAsyncOverloadDefaultStartAndCount(&self, query: Search::CommonFolderQuery) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>> {
5921         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5922         unsafe {
5923             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5924             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), query, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageFolder>>>(result__)
5925         }
5926     }
5927     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections", feature = "Storage_Search"))]
GetItemsAsync(&self, startindex: u32, maxitemstoretrieve: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>>5928     pub fn GetItemsAsync(&self, startindex: u32, maxitemstoretrieve: u32) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>> {
5929         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5930         unsafe {
5931             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5932             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), startindex, maxitemstoretrieve, &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<IStorageItem>>>(result__)
5933         }
5934     }
5935     #[cfg(feature = "Storage_Search")]
AreQueryOptionsSupported<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<bool>5936     pub fn AreQueryOptionsSupported<'a, Param0: ::windows::runtime::IntoParam<'a, Search::QueryOptions>>(&self, queryoptions: Param0) -> ::windows::runtime::Result<bool> {
5937         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5938         unsafe {
5939             let mut result__: bool = ::std::mem::zeroed();
5940             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), queryoptions.into_param().abi(), &mut result__).from_abi::<bool>(result__)
5941         }
5942     }
5943     #[cfg(feature = "Storage_Search")]
IsCommonFolderQuerySupported(&self, query: Search::CommonFolderQuery) -> ::windows::runtime::Result<bool>5944     pub fn IsCommonFolderQuerySupported(&self, query: Search::CommonFolderQuery) -> ::windows::runtime::Result<bool> {
5945         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5946         unsafe {
5947             let mut result__: bool = ::std::mem::zeroed();
5948             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), query, &mut result__).from_abi::<bool>(result__)
5949         }
5950     }
5951     #[cfg(feature = "Storage_Search")]
IsCommonFileQuerySupported(&self, query: Search::CommonFileQuery) -> ::windows::runtime::Result<bool>5952     pub fn IsCommonFileQuerySupported(&self, query: Search::CommonFileQuery) -> ::windows::runtime::Result<bool> {
5953         let this = &::windows::runtime::Interface::cast::<Search::IStorageFolderQueryOperations>(self)?;
5954         unsafe {
5955             let mut result__: bool = ::std::mem::zeroed();
5956             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), query, &mut result__).from_abi::<bool>(result__)
5957         }
5958     }
5959     #[cfg(feature = "Foundation")]
GetFolderFromPathAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(path: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5960     pub fn GetFolderFromPathAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(path: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5961         Self::IStorageFolderStatics(|this| unsafe {
5962             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5963             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), path.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5964         })
5965     }
TryGetChangeTracker(&self) -> ::windows::runtime::Result<StorageLibraryChangeTracker>5966     pub fn TryGetChangeTracker(&self) -> ::windows::runtime::Result<StorageLibraryChangeTracker> {
5967         let this = &::windows::runtime::Interface::cast::<IStorageFolder3>(self)?;
5968         unsafe {
5969             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5970             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageLibraryChangeTracker>(result__)
5971         }
5972     }
5973     #[cfg(all(feature = "Foundation", feature = "System"))]
GetFolderFromPathForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, path: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>5974     pub fn GetFolderFromPathForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(user: Param0, path: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
5975         Self::IStorageFolderStatics2(|this| unsafe {
5976             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5977             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), path.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
5978         })
5979     }
IStorageFolderStatics<R, F: FnOnce(&IStorageFolderStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5980     pub fn IStorageFolderStatics<R, F: FnOnce(&IStorageFolderStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5981         static mut SHARED: ::windows::runtime::FactoryCache<StorageFolder, IStorageFolderStatics> = ::windows::runtime::FactoryCache::new();
5982         unsafe { SHARED.call(callback) }
5983     }
IStorageFolderStatics2<R, F: FnOnce(&IStorageFolderStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5984     pub fn IStorageFolderStatics2<R, F: FnOnce(&IStorageFolderStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5985         static mut SHARED: ::windows::runtime::FactoryCache<StorageFolder, IStorageFolderStatics2> = ::windows::runtime::FactoryCache::new();
5986         unsafe { SHARED.call(callback) }
5987     }
5988 }
5989 unsafe impl ::windows::runtime::RuntimeType for StorageFolder {
5990     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageFolder;{72d1cb78-b3ef-4f75-a80b-6fd9dae2944b})");
5991 }
5992 unsafe impl ::windows::runtime::Interface for StorageFolder {
5993     type Vtable = IStorageFolder_abi;
5994     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1926351736, 46063, 20341, [168, 11, 111, 217, 218, 226, 148, 75]);
5995 }
5996 impl ::windows::runtime::RuntimeName for StorageFolder {
5997     const NAME: &'static str = "Windows.Storage.StorageFolder";
5998 }
5999 impl ::std::convert::From<StorageFolder> for ::windows::runtime::IUnknown {
from(value: StorageFolder) -> Self6000     fn from(value: StorageFolder) -> Self {
6001         unsafe { ::std::mem::transmute(value) }
6002     }
6003 }
6004 impl ::std::convert::From<&StorageFolder> for ::windows::runtime::IUnknown {
from(value: &StorageFolder) -> Self6005     fn from(value: &StorageFolder) -> Self {
6006         ::std::convert::From::from(::std::clone::Clone::clone(value))
6007     }
6008 }
6009 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6010     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6011         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6012     }
6013 }
6014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6016         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6017     }
6018 }
6019 impl ::std::convert::From<StorageFolder> for ::windows::runtime::IInspectable {
from(value: StorageFolder) -> Self6020     fn from(value: StorageFolder) -> Self {
6021         value.0
6022     }
6023 }
6024 impl ::std::convert::From<&StorageFolder> for ::windows::runtime::IInspectable {
from(value: &StorageFolder) -> Self6025     fn from(value: &StorageFolder) -> Self {
6026         value.0.clone()
6027     }
6028 }
6029 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6030     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6031         ::windows::runtime::Param::Owned(self.0)
6032     }
6033 }
6034 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6035     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6036         ::windows::runtime::Param::Borrowed(&self.0)
6037     }
6038 }
6039 impl ::std::convert::From<StorageFolder> for IStorageFolder {
from(value: StorageFolder) -> Self6040     fn from(value: StorageFolder) -> Self {
6041         unsafe { ::std::mem::transmute(value) }
6042     }
6043 }
6044 impl ::std::convert::From<&StorageFolder> for IStorageFolder {
from(value: &StorageFolder) -> Self6045     fn from(value: &StorageFolder) -> Self {
6046         ::std::convert::From::from(::std::clone::Clone::clone(value))
6047     }
6048 }
6049 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFolder> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder>6050     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder> {
6051         ::windows::runtime::Param::Owned(::std::convert::Into::<IStorageFolder>::into(self))
6052     }
6053 }
6054 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFolder> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder>6055     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder> {
6056         ::windows::runtime::Param::Owned(::std::convert::Into::<IStorageFolder>::into(::std::clone::Clone::clone(self)))
6057     }
6058 }
6059 impl ::std::convert::TryFrom<StorageFolder> for IStorageFolder2 {
6060     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6061     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6062         ::std::convert::TryFrom::try_from(&value)
6063     }
6064 }
6065 impl ::std::convert::TryFrom<&StorageFolder> for IStorageFolder2 {
6066     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6067     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6068         ::windows::runtime::Interface::cast(value)
6069     }
6070 }
6071 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFolder2> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder2>6072     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder2> {
6073         ::windows::runtime::IntoParam::into_param(&self)
6074     }
6075 }
6076 impl<'a> ::windows::runtime::IntoParam<'a, IStorageFolder2> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder2>6077     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageFolder2> {
6078         ::std::convert::TryInto::<IStorageFolder2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6079     }
6080 }
6081 impl ::std::convert::TryFrom<StorageFolder> for IStorageItem {
6082     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6083     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6084         ::std::convert::TryFrom::try_from(&value)
6085     }
6086 }
6087 impl ::std::convert::TryFrom<&StorageFolder> for IStorageItem {
6088     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6089     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6090         ::windows::runtime::Interface::cast(value)
6091     }
6092 }
6093 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>6094     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
6095         ::windows::runtime::IntoParam::into_param(&self)
6096     }
6097 }
6098 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem>6099     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem> {
6100         ::std::convert::TryInto::<IStorageItem>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6101     }
6102 }
6103 impl ::std::convert::TryFrom<StorageFolder> for IStorageItem2 {
6104     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6105     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6106         ::std::convert::TryFrom::try_from(&value)
6107     }
6108 }
6109 impl ::std::convert::TryFrom<&StorageFolder> for IStorageItem2 {
6110     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6111     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6112         ::windows::runtime::Interface::cast(value)
6113     }
6114 }
6115 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem2> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2>6116     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2> {
6117         ::windows::runtime::IntoParam::into_param(&self)
6118     }
6119 }
6120 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItem2> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2>6121     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItem2> {
6122         ::std::convert::TryInto::<IStorageItem2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6123     }
6124 }
6125 impl ::std::convert::TryFrom<StorageFolder> for IStorageItemProperties {
6126     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6127     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6128         ::std::convert::TryFrom::try_from(&value)
6129     }
6130 }
6131 impl ::std::convert::TryFrom<&StorageFolder> for IStorageItemProperties {
6132     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6133     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6134         ::windows::runtime::Interface::cast(value)
6135     }
6136 }
6137 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>6138     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
6139         ::windows::runtime::IntoParam::into_param(&self)
6140     }
6141 }
6142 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties>6143     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties> {
6144         ::std::convert::TryInto::<IStorageItemProperties>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6145     }
6146 }
6147 impl ::std::convert::TryFrom<StorageFolder> for IStorageItemProperties2 {
6148     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6149     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6150         ::std::convert::TryFrom::try_from(&value)
6151     }
6152 }
6153 impl ::std::convert::TryFrom<&StorageFolder> for IStorageItemProperties2 {
6154     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6155     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6156         ::windows::runtime::Interface::cast(value)
6157     }
6158 }
6159 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties2> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2>6160     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2> {
6161         ::windows::runtime::IntoParam::into_param(&self)
6162     }
6163 }
6164 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemProperties2> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2>6165     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemProperties2> {
6166         ::std::convert::TryInto::<IStorageItemProperties2>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6167     }
6168 }
6169 impl ::std::convert::TryFrom<StorageFolder> for IStorageItemPropertiesWithProvider {
6170     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6171     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6172         ::std::convert::TryFrom::try_from(&value)
6173     }
6174 }
6175 impl ::std::convert::TryFrom<&StorageFolder> for IStorageItemPropertiesWithProvider {
6176     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6177     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6178         ::windows::runtime::Interface::cast(value)
6179     }
6180 }
6181 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemPropertiesWithProvider> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider>6182     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider> {
6183         ::windows::runtime::IntoParam::into_param(&self)
6184     }
6185 }
6186 impl<'a> ::windows::runtime::IntoParam<'a, IStorageItemPropertiesWithProvider> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider>6187     fn into_param(self) -> ::windows::runtime::Param<'a, IStorageItemPropertiesWithProvider> {
6188         ::std::convert::TryInto::<IStorageItemPropertiesWithProvider>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6189     }
6190 }
6191 #[cfg(feature = "Storage_Search")]
6192 impl ::std::convert::TryFrom<StorageFolder> for Search::IStorageFolderQueryOperations {
6193     type Error = ::windows::runtime::Error;
try_from(value: StorageFolder) -> ::windows::runtime::Result<Self>6194     fn try_from(value: StorageFolder) -> ::windows::runtime::Result<Self> {
6195         ::std::convert::TryFrom::try_from(&value)
6196     }
6197 }
6198 #[cfg(feature = "Storage_Search")]
6199 impl ::std::convert::TryFrom<&StorageFolder> for Search::IStorageFolderQueryOperations {
6200     type Error = ::windows::runtime::Error;
try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self>6201     fn try_from(value: &StorageFolder) -> ::windows::runtime::Result<Self> {
6202         ::windows::runtime::Interface::cast(value)
6203     }
6204 }
6205 #[cfg(feature = "Storage_Search")]
6206 impl<'a> ::windows::runtime::IntoParam<'a, Search::IStorageFolderQueryOperations> for StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, Search::IStorageFolderQueryOperations>6207     fn into_param(self) -> ::windows::runtime::Param<'a, Search::IStorageFolderQueryOperations> {
6208         ::windows::runtime::IntoParam::into_param(&self)
6209     }
6210 }
6211 #[cfg(feature = "Storage_Search")]
6212 impl<'a> ::windows::runtime::IntoParam<'a, Search::IStorageFolderQueryOperations> for &StorageFolder {
into_param(self) -> ::windows::runtime::Param<'a, Search::IStorageFolderQueryOperations>6213     fn into_param(self) -> ::windows::runtime::Param<'a, Search::IStorageFolderQueryOperations> {
6214         ::std::convert::TryInto::<Search::IStorageFolderQueryOperations>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6215     }
6216 }
6217 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6218 #[repr(transparent)]
6219 pub struct StorageItemTypes(pub u32);
6220 impl StorageItemTypes {
6221     pub const None: StorageItemTypes = StorageItemTypes(0u32);
6222     pub const File: StorageItemTypes = StorageItemTypes(1u32);
6223     pub const Folder: StorageItemTypes = StorageItemTypes(2u32);
6224 }
6225 impl ::std::convert::From<u32> for StorageItemTypes {
from(value: u32) -> Self6226     fn from(value: u32) -> Self {
6227         Self(value)
6228     }
6229 }
6230 unsafe impl ::windows::runtime::Abi for StorageItemTypes {
6231     type Abi = Self;
6232     type DefaultType = Self;
6233 }
6234 unsafe impl ::windows::runtime::RuntimeType for StorageItemTypes {
6235     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.StorageItemTypes;u4)");
6236 }
6237 impl ::std::ops::BitOr for StorageItemTypes {
6238     type Output = Self;
bitor(self, rhs: Self) -> Self6239     fn bitor(self, rhs: Self) -> Self {
6240         Self(self.0 | rhs.0)
6241     }
6242 }
6243 impl ::std::ops::BitAnd for StorageItemTypes {
6244     type Output = Self;
bitand(self, rhs: Self) -> Self6245     fn bitand(self, rhs: Self) -> Self {
6246         Self(self.0 & rhs.0)
6247     }
6248 }
6249 impl ::std::ops::BitOrAssign for StorageItemTypes {
bitor_assign(&mut self, rhs: Self)6250     fn bitor_assign(&mut self, rhs: Self) {
6251         self.0.bitor_assign(rhs.0)
6252     }
6253 }
6254 impl ::std::ops::BitAndAssign for StorageItemTypes {
bitand_assign(&mut self, rhs: Self)6255     fn bitand_assign(&mut self, rhs: Self) {
6256         self.0.bitand_assign(rhs.0)
6257     }
6258 }
6259 impl ::std::ops::Not for StorageItemTypes {
6260     type Output = Self;
not(self) -> Self6261     fn not(self) -> Self {
6262         Self(self.0.not())
6263     }
6264 }
6265 #[repr(transparent)]
6266 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6267 pub struct StorageLibrary(::windows::runtime::IInspectable);
6268 impl StorageLibrary {
6269     #[cfg(feature = "Foundation")]
RequestAddFolderAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>>6270     pub fn RequestAddFolderAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageFolder>> {
6271         let this = self;
6272         unsafe {
6273             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6274             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageFolder>>(result__)
6275         }
6276     }
6277     #[cfg(feature = "Foundation")]
RequestRemoveFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, StorageFolder>>(&self, folder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>6278     pub fn RequestRemoveFolderAsync<'a, Param0: ::windows::runtime::IntoParam<'a, StorageFolder>>(&self, folder: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
6279         let this = self;
6280         unsafe {
6281             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6282             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), folder.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
6283         }
6284     }
6285     #[cfg(feature = "Foundation_Collections")]
Folders(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IObservableVector<StorageFolder>>6286     pub fn Folders(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IObservableVector<StorageFolder>> {
6287         let this = self;
6288         unsafe {
6289             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6290             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IObservableVector<StorageFolder>>(result__)
6291         }
6292     }
SaveFolder(&self) -> ::windows::runtime::Result<StorageFolder>6293     pub fn SaveFolder(&self) -> ::windows::runtime::Result<StorageFolder> {
6294         let this = self;
6295         unsafe {
6296             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6297             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageFolder>(result__)
6298         }
6299     }
6300     #[cfg(feature = "Foundation")]
DefinitionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<StorageLibrary, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>6301     pub fn DefinitionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<StorageLibrary, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
6302         let this = self;
6303         unsafe {
6304             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6305             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
6306         }
6307     }
6308     #[cfg(feature = "Foundation")]
RemoveDefinitionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()>6309     pub fn RemoveDefinitionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()> {
6310         let this = self;
6311         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), eventcookie.into_param().abi()).ok() }
6312     }
6313     #[cfg(feature = "Foundation")]
GetLibraryAsync(libraryid: KnownLibraryId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageLibrary>>6314     pub fn GetLibraryAsync(libraryid: KnownLibraryId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageLibrary>> {
6315         Self::IStorageLibraryStatics(|this| unsafe {
6316             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6317             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), libraryid, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageLibrary>>(result__)
6318         })
6319     }
6320     #[cfg(all(feature = "Foundation", feature = "System"))]
GetLibraryForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0, libraryid: KnownLibraryId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageLibrary>>6321     pub fn GetLibraryForUserAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0, libraryid: KnownLibraryId) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<StorageLibrary>> {
6322         Self::IStorageLibraryStatics2(|this| unsafe {
6323             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6324             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), libraryid, &mut result__).from_abi::<super::Foundation::IAsyncOperation<StorageLibrary>>(result__)
6325         })
6326     }
ChangeTracker(&self) -> ::windows::runtime::Result<StorageLibraryChangeTracker>6327     pub fn ChangeTracker(&self) -> ::windows::runtime::Result<StorageLibraryChangeTracker> {
6328         let this = &::windows::runtime::Interface::cast::<IStorageLibrary2>(self)?;
6329         unsafe {
6330             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6331             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageLibraryChangeTracker>(result__)
6332         }
6333     }
6334     #[cfg(feature = "Foundation")]
AreFolderSuggestionsAvailableAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>6335     pub fn AreFolderSuggestionsAvailableAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
6336         let this = &::windows::runtime::Interface::cast::<IStorageLibrary3>(self)?;
6337         unsafe {
6338             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6339             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
6340         }
6341     }
IStorageLibraryStatics<R, F: FnOnce(&IStorageLibraryStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6342     pub fn IStorageLibraryStatics<R, F: FnOnce(&IStorageLibraryStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6343         static mut SHARED: ::windows::runtime::FactoryCache<StorageLibrary, IStorageLibraryStatics> = ::windows::runtime::FactoryCache::new();
6344         unsafe { SHARED.call(callback) }
6345     }
IStorageLibraryStatics2<R, F: FnOnce(&IStorageLibraryStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6346     pub fn IStorageLibraryStatics2<R, F: FnOnce(&IStorageLibraryStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6347         static mut SHARED: ::windows::runtime::FactoryCache<StorageLibrary, IStorageLibraryStatics2> = ::windows::runtime::FactoryCache::new();
6348         unsafe { SHARED.call(callback) }
6349     }
6350 }
6351 unsafe impl ::windows::runtime::RuntimeType for StorageLibrary {
6352     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageLibrary;{1edd7103-0e5e-4d6c-b5e8-9318983d6a03})");
6353 }
6354 unsafe impl ::windows::runtime::Interface for StorageLibrary {
6355     type Vtable = IStorageLibrary_abi;
6356     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(517828867, 3678, 19820, [181, 232, 147, 24, 152, 61, 106, 3]);
6357 }
6358 impl ::windows::runtime::RuntimeName for StorageLibrary {
6359     const NAME: &'static str = "Windows.Storage.StorageLibrary";
6360 }
6361 impl ::std::convert::From<StorageLibrary> for ::windows::runtime::IUnknown {
from(value: StorageLibrary) -> Self6362     fn from(value: StorageLibrary) -> Self {
6363         unsafe { ::std::mem::transmute(value) }
6364     }
6365 }
6366 impl ::std::convert::From<&StorageLibrary> for ::windows::runtime::IUnknown {
from(value: &StorageLibrary) -> Self6367     fn from(value: &StorageLibrary) -> Self {
6368         ::std::convert::From::from(::std::clone::Clone::clone(value))
6369     }
6370 }
6371 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6372     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6373         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6374     }
6375 }
6376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6377     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6378         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6379     }
6380 }
6381 impl ::std::convert::From<StorageLibrary> for ::windows::runtime::IInspectable {
from(value: StorageLibrary) -> Self6382     fn from(value: StorageLibrary) -> Self {
6383         value.0
6384     }
6385 }
6386 impl ::std::convert::From<&StorageLibrary> for ::windows::runtime::IInspectable {
from(value: &StorageLibrary) -> Self6387     fn from(value: &StorageLibrary) -> Self {
6388         value.0.clone()
6389     }
6390 }
6391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6393         ::windows::runtime::Param::Owned(self.0)
6394     }
6395 }
6396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageLibrary {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6398         ::windows::runtime::Param::Borrowed(&self.0)
6399     }
6400 }
6401 #[repr(transparent)]
6402 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6403 pub struct StorageLibraryChange(::windows::runtime::IInspectable);
6404 impl StorageLibraryChange {
ChangeType(&self) -> ::windows::runtime::Result<StorageLibraryChangeType>6405     pub fn ChangeType(&self) -> ::windows::runtime::Result<StorageLibraryChangeType> {
6406         let this = self;
6407         unsafe {
6408             let mut result__: StorageLibraryChangeType = ::std::mem::zeroed();
6409             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageLibraryChangeType>(result__)
6410         }
6411     }
Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6412     pub fn Path(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6413         let this = self;
6414         unsafe {
6415             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6416             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6417         }
6418     }
PreviousPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6419     pub fn PreviousPath(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6420         let this = self;
6421         unsafe {
6422             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6423             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6424         }
6425     }
IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool>6426     pub fn IsOfType(&self, r#type: StorageItemTypes) -> ::windows::runtime::Result<bool> {
6427         let this = self;
6428         unsafe {
6429             let mut result__: bool = ::std::mem::zeroed();
6430             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), r#type, &mut result__).from_abi::<bool>(result__)
6431         }
6432     }
6433     #[cfg(feature = "Foundation")]
GetStorageItemAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>>6434     pub fn GetStorageItemAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<IStorageItem>> {
6435         let this = self;
6436         unsafe {
6437             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6438             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<IStorageItem>>(result__)
6439         }
6440     }
6441 }
6442 unsafe impl ::windows::runtime::RuntimeType for StorageLibraryChange {
6443     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageLibraryChange;{00980b23-2be2-4909-aa48-159f5203a51e})");
6444 }
6445 unsafe impl ::windows::runtime::Interface for StorageLibraryChange {
6446     type Vtable = IStorageLibraryChange_abi;
6447     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(9964323, 11234, 18697, [170, 72, 21, 159, 82, 3, 165, 30]);
6448 }
6449 impl ::windows::runtime::RuntimeName for StorageLibraryChange {
6450     const NAME: &'static str = "Windows.Storage.StorageLibraryChange";
6451 }
6452 impl ::std::convert::From<StorageLibraryChange> for ::windows::runtime::IUnknown {
from(value: StorageLibraryChange) -> Self6453     fn from(value: StorageLibraryChange) -> Self {
6454         unsafe { ::std::mem::transmute(value) }
6455     }
6456 }
6457 impl ::std::convert::From<&StorageLibraryChange> for ::windows::runtime::IUnknown {
from(value: &StorageLibraryChange) -> Self6458     fn from(value: &StorageLibraryChange) -> Self {
6459         ::std::convert::From::from(::std::clone::Clone::clone(value))
6460     }
6461 }
6462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageLibraryChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6463     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6464         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6465     }
6466 }
6467 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageLibraryChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6468     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6469         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6470     }
6471 }
6472 impl ::std::convert::From<StorageLibraryChange> for ::windows::runtime::IInspectable {
from(value: StorageLibraryChange) -> Self6473     fn from(value: StorageLibraryChange) -> Self {
6474         value.0
6475     }
6476 }
6477 impl ::std::convert::From<&StorageLibraryChange> for ::windows::runtime::IInspectable {
from(value: &StorageLibraryChange) -> Self6478     fn from(value: &StorageLibraryChange) -> Self {
6479         value.0.clone()
6480     }
6481 }
6482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageLibraryChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6484         ::windows::runtime::Param::Owned(self.0)
6485     }
6486 }
6487 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageLibraryChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6488     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6489         ::windows::runtime::Param::Borrowed(&self.0)
6490     }
6491 }
6492 unsafe impl ::std::marker::Send for StorageLibraryChange {}
6493 unsafe impl ::std::marker::Sync for StorageLibraryChange {}
6494 #[repr(transparent)]
6495 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6496 pub struct StorageLibraryChangeReader(::windows::runtime::IInspectable);
6497 impl StorageLibraryChangeReader {
6498     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
ReadBatchAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageLibraryChange>>>6499     pub fn ReadBatchAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageLibraryChange>>> {
6500         let this = self;
6501         unsafe {
6502             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6503             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<super::Foundation::Collections::IVectorView<StorageLibraryChange>>>(result__)
6504         }
6505     }
6506     #[cfg(feature = "Foundation")]
AcceptChangesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>6507     pub fn AcceptChangesAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
6508         let this = self;
6509         unsafe {
6510             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6511             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
6512         }
6513     }
GetLastChangeId(&self) -> ::windows::runtime::Result<u64>6514     pub fn GetLastChangeId(&self) -> ::windows::runtime::Result<u64> {
6515         let this = &::windows::runtime::Interface::cast::<IStorageLibraryChangeReader2>(self)?;
6516         unsafe {
6517             let mut result__: u64 = ::std::mem::zeroed();
6518             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
6519         }
6520     }
6521 }
6522 unsafe impl ::windows::runtime::RuntimeType for StorageLibraryChangeReader {
6523     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageLibraryChangeReader;{f205bc83-fca2-41f9-8954-ee2e991eb96f})");
6524 }
6525 unsafe impl ::windows::runtime::Interface for StorageLibraryChangeReader {
6526     type Vtable = IStorageLibraryChangeReader_abi;
6527     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4060462211, 64674, 16889, [137, 84, 238, 46, 153, 30, 185, 111]);
6528 }
6529 impl ::windows::runtime::RuntimeName for StorageLibraryChangeReader {
6530     const NAME: &'static str = "Windows.Storage.StorageLibraryChangeReader";
6531 }
6532 impl ::std::convert::From<StorageLibraryChangeReader> for ::windows::runtime::IUnknown {
from(value: StorageLibraryChangeReader) -> Self6533     fn from(value: StorageLibraryChangeReader) -> Self {
6534         unsafe { ::std::mem::transmute(value) }
6535     }
6536 }
6537 impl ::std::convert::From<&StorageLibraryChangeReader> for ::windows::runtime::IUnknown {
from(value: &StorageLibraryChangeReader) -> Self6538     fn from(value: &StorageLibraryChangeReader) -> Self {
6539         ::std::convert::From::from(::std::clone::Clone::clone(value))
6540     }
6541 }
6542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageLibraryChangeReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6543     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6544         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6545     }
6546 }
6547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageLibraryChangeReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6548     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6549         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6550     }
6551 }
6552 impl ::std::convert::From<StorageLibraryChangeReader> for ::windows::runtime::IInspectable {
from(value: StorageLibraryChangeReader) -> Self6553     fn from(value: StorageLibraryChangeReader) -> Self {
6554         value.0
6555     }
6556 }
6557 impl ::std::convert::From<&StorageLibraryChangeReader> for ::windows::runtime::IInspectable {
from(value: &StorageLibraryChangeReader) -> Self6558     fn from(value: &StorageLibraryChangeReader) -> Self {
6559         value.0.clone()
6560     }
6561 }
6562 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageLibraryChangeReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6563     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6564         ::windows::runtime::Param::Owned(self.0)
6565     }
6566 }
6567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageLibraryChangeReader {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6569         ::windows::runtime::Param::Borrowed(&self.0)
6570     }
6571 }
6572 unsafe impl ::std::marker::Send for StorageLibraryChangeReader {}
6573 unsafe impl ::std::marker::Sync for StorageLibraryChangeReader {}
6574 #[repr(transparent)]
6575 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6576 pub struct StorageLibraryChangeTracker(::windows::runtime::IInspectable);
6577 impl StorageLibraryChangeTracker {
GetChangeReader(&self) -> ::windows::runtime::Result<StorageLibraryChangeReader>6578     pub fn GetChangeReader(&self) -> ::windows::runtime::Result<StorageLibraryChangeReader> {
6579         let this = self;
6580         unsafe {
6581             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6582             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StorageLibraryChangeReader>(result__)
6583         }
6584     }
Enable(&self) -> ::windows::runtime::Result<()>6585     pub fn Enable(&self) -> ::windows::runtime::Result<()> {
6586         let this = self;
6587         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
6588     }
Reset(&self) -> ::windows::runtime::Result<()>6589     pub fn Reset(&self) -> ::windows::runtime::Result<()> {
6590         let this = self;
6591         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
6592     }
EnableWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, StorageLibraryChangeTrackerOptions>>(&self, options: Param0) -> ::windows::runtime::Result<()>6593     pub fn EnableWithOptions<'a, Param0: ::windows::runtime::IntoParam<'a, StorageLibraryChangeTrackerOptions>>(&self, options: Param0) -> ::windows::runtime::Result<()> {
6594         let this = &::windows::runtime::Interface::cast::<IStorageLibraryChangeTracker2>(self)?;
6595         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), options.into_param().abi()).ok() }
6596     }
Disable(&self) -> ::windows::runtime::Result<()>6597     pub fn Disable(&self) -> ::windows::runtime::Result<()> {
6598         let this = &::windows::runtime::Interface::cast::<IStorageLibraryChangeTracker2>(self)?;
6599         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
6600     }
6601 }
6602 unsafe impl ::windows::runtime::RuntimeType for StorageLibraryChangeTracker {
6603     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageLibraryChangeTracker;{9e157316-6073-44f6-9681-7492d1286c90})");
6604 }
6605 unsafe impl ::windows::runtime::Interface for StorageLibraryChangeTracker {
6606     type Vtable = IStorageLibraryChangeTracker_abi;
6607     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2652205846, 24691, 17654, [150, 129, 116, 146, 209, 40, 108, 144]);
6608 }
6609 impl ::windows::runtime::RuntimeName for StorageLibraryChangeTracker {
6610     const NAME: &'static str = "Windows.Storage.StorageLibraryChangeTracker";
6611 }
6612 impl ::std::convert::From<StorageLibraryChangeTracker> for ::windows::runtime::IUnknown {
from(value: StorageLibraryChangeTracker) -> Self6613     fn from(value: StorageLibraryChangeTracker) -> Self {
6614         unsafe { ::std::mem::transmute(value) }
6615     }
6616 }
6617 impl ::std::convert::From<&StorageLibraryChangeTracker> for ::windows::runtime::IUnknown {
from(value: &StorageLibraryChangeTracker) -> Self6618     fn from(value: &StorageLibraryChangeTracker) -> Self {
6619         ::std::convert::From::from(::std::clone::Clone::clone(value))
6620     }
6621 }
6622 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageLibraryChangeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6623     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6624         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6625     }
6626 }
6627 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageLibraryChangeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6628     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6629         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6630     }
6631 }
6632 impl ::std::convert::From<StorageLibraryChangeTracker> for ::windows::runtime::IInspectable {
from(value: StorageLibraryChangeTracker) -> Self6633     fn from(value: StorageLibraryChangeTracker) -> Self {
6634         value.0
6635     }
6636 }
6637 impl ::std::convert::From<&StorageLibraryChangeTracker> for ::windows::runtime::IInspectable {
from(value: &StorageLibraryChangeTracker) -> Self6638     fn from(value: &StorageLibraryChangeTracker) -> Self {
6639         value.0.clone()
6640     }
6641 }
6642 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageLibraryChangeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6643     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6644         ::windows::runtime::Param::Owned(self.0)
6645     }
6646 }
6647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageLibraryChangeTracker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6649         ::windows::runtime::Param::Borrowed(&self.0)
6650     }
6651 }
6652 unsafe impl ::std::marker::Send for StorageLibraryChangeTracker {}
6653 unsafe impl ::std::marker::Sync for StorageLibraryChangeTracker {}
6654 #[repr(transparent)]
6655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6656 pub struct StorageLibraryChangeTrackerOptions(::windows::runtime::IInspectable);
6657 impl StorageLibraryChangeTrackerOptions {
new() -> ::windows::runtime::Result<Self>6658     pub fn new() -> ::windows::runtime::Result<Self> {
6659         Self::IActivationFactory(|f| f.activate_instance::<Self>())
6660     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6661     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6662         static mut SHARED: ::windows::runtime::FactoryCache<StorageLibraryChangeTrackerOptions, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
6663         unsafe { SHARED.call(callback) }
6664     }
TrackChangeDetails(&self) -> ::windows::runtime::Result<bool>6665     pub fn TrackChangeDetails(&self) -> ::windows::runtime::Result<bool> {
6666         let this = self;
6667         unsafe {
6668             let mut result__: bool = ::std::mem::zeroed();
6669             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6670         }
6671     }
SetTrackChangeDetails(&self, value: bool) -> ::windows::runtime::Result<()>6672     pub fn SetTrackChangeDetails(&self, value: bool) -> ::windows::runtime::Result<()> {
6673         let this = self;
6674         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
6675     }
6676 }
6677 unsafe impl ::windows::runtime::RuntimeType for StorageLibraryChangeTrackerOptions {
6678     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageLibraryChangeTrackerOptions;{bb52bcd4-1a6d-59c0-ad2a-823a20532483})");
6679 }
6680 unsafe impl ::windows::runtime::Interface for StorageLibraryChangeTrackerOptions {
6681     type Vtable = IStorageLibraryChangeTrackerOptions_abi;
6682     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3142761684, 6765, 22976, [173, 42, 130, 58, 32, 83, 36, 131]);
6683 }
6684 impl ::windows::runtime::RuntimeName for StorageLibraryChangeTrackerOptions {
6685     const NAME: &'static str = "Windows.Storage.StorageLibraryChangeTrackerOptions";
6686 }
6687 impl ::std::convert::From<StorageLibraryChangeTrackerOptions> for ::windows::runtime::IUnknown {
from(value: StorageLibraryChangeTrackerOptions) -> Self6688     fn from(value: StorageLibraryChangeTrackerOptions) -> Self {
6689         unsafe { ::std::mem::transmute(value) }
6690     }
6691 }
6692 impl ::std::convert::From<&StorageLibraryChangeTrackerOptions> for ::windows::runtime::IUnknown {
from(value: &StorageLibraryChangeTrackerOptions) -> Self6693     fn from(value: &StorageLibraryChangeTrackerOptions) -> Self {
6694         ::std::convert::From::from(::std::clone::Clone::clone(value))
6695     }
6696 }
6697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageLibraryChangeTrackerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6699         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6700     }
6701 }
6702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageLibraryChangeTrackerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6703     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6704         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6705     }
6706 }
6707 impl ::std::convert::From<StorageLibraryChangeTrackerOptions> for ::windows::runtime::IInspectable {
from(value: StorageLibraryChangeTrackerOptions) -> Self6708     fn from(value: StorageLibraryChangeTrackerOptions) -> Self {
6709         value.0
6710     }
6711 }
6712 impl ::std::convert::From<&StorageLibraryChangeTrackerOptions> for ::windows::runtime::IInspectable {
from(value: &StorageLibraryChangeTrackerOptions) -> Self6713     fn from(value: &StorageLibraryChangeTrackerOptions) -> Self {
6714         value.0.clone()
6715     }
6716 }
6717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageLibraryChangeTrackerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6719         ::windows::runtime::Param::Owned(self.0)
6720     }
6721 }
6722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageLibraryChangeTrackerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6724         ::windows::runtime::Param::Borrowed(&self.0)
6725     }
6726 }
6727 unsafe impl ::std::marker::Send for StorageLibraryChangeTrackerOptions {}
6728 unsafe impl ::std::marker::Sync for StorageLibraryChangeTrackerOptions {}
6729 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6730 #[repr(transparent)]
6731 pub struct StorageLibraryChangeType(pub i32);
6732 impl StorageLibraryChangeType {
6733     pub const Created: StorageLibraryChangeType = StorageLibraryChangeType(0i32);
6734     pub const Deleted: StorageLibraryChangeType = StorageLibraryChangeType(1i32);
6735     pub const MovedOrRenamed: StorageLibraryChangeType = StorageLibraryChangeType(2i32);
6736     pub const ContentsChanged: StorageLibraryChangeType = StorageLibraryChangeType(3i32);
6737     pub const MovedOutOfLibrary: StorageLibraryChangeType = StorageLibraryChangeType(4i32);
6738     pub const MovedIntoLibrary: StorageLibraryChangeType = StorageLibraryChangeType(5i32);
6739     pub const ContentsReplaced: StorageLibraryChangeType = StorageLibraryChangeType(6i32);
6740     pub const IndexingStatusChanged: StorageLibraryChangeType = StorageLibraryChangeType(7i32);
6741     pub const EncryptionChanged: StorageLibraryChangeType = StorageLibraryChangeType(8i32);
6742     pub const ChangeTrackingLost: StorageLibraryChangeType = StorageLibraryChangeType(9i32);
6743 }
6744 impl ::std::convert::From<i32> for StorageLibraryChangeType {
from(value: i32) -> Self6745     fn from(value: i32) -> Self {
6746         Self(value)
6747     }
6748 }
6749 unsafe impl ::windows::runtime::Abi for StorageLibraryChangeType {
6750     type Abi = Self;
6751     type DefaultType = Self;
6752 }
6753 unsafe impl ::windows::runtime::RuntimeType for StorageLibraryChangeType {
6754     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.StorageLibraryChangeType;i4)");
6755 }
6756 #[repr(transparent)]
6757 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6758 pub struct StorageLibraryLastChangeId(::windows::runtime::IInspectable);
6759 impl StorageLibraryLastChangeId {
Unknown() -> ::windows::runtime::Result<u64>6760     pub fn Unknown() -> ::windows::runtime::Result<u64> {
6761         Self::IStorageLibraryLastChangeIdStatics(|this| unsafe {
6762             let mut result__: u64 = ::std::mem::zeroed();
6763             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
6764         })
6765     }
IStorageLibraryLastChangeIdStatics<R, F: FnOnce(&IStorageLibraryLastChangeIdStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6766     pub fn IStorageLibraryLastChangeIdStatics<R, F: FnOnce(&IStorageLibraryLastChangeIdStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6767         static mut SHARED: ::windows::runtime::FactoryCache<StorageLibraryLastChangeId, IStorageLibraryLastChangeIdStatics> = ::windows::runtime::FactoryCache::new();
6768         unsafe { SHARED.call(callback) }
6769     }
6770 }
6771 unsafe impl ::windows::runtime::RuntimeType for StorageLibraryLastChangeId {
6772     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageLibraryLastChangeId;{5281826a-bbe1-53bc-82ca-81cc7f039329})");
6773 }
6774 unsafe impl ::windows::runtime::Interface for StorageLibraryLastChangeId {
6775     type Vtable = IStorageLibraryLastChangeId_abi;
6776     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1384219242, 48097, 21436, [130, 202, 129, 204, 127, 3, 147, 41]);
6777 }
6778 impl ::windows::runtime::RuntimeName for StorageLibraryLastChangeId {
6779     const NAME: &'static str = "Windows.Storage.StorageLibraryLastChangeId";
6780 }
6781 impl ::std::convert::From<StorageLibraryLastChangeId> for ::windows::runtime::IUnknown {
from(value: StorageLibraryLastChangeId) -> Self6782     fn from(value: StorageLibraryLastChangeId) -> Self {
6783         unsafe { ::std::mem::transmute(value) }
6784     }
6785 }
6786 impl ::std::convert::From<&StorageLibraryLastChangeId> for ::windows::runtime::IUnknown {
from(value: &StorageLibraryLastChangeId) -> Self6787     fn from(value: &StorageLibraryLastChangeId) -> Self {
6788         ::std::convert::From::from(::std::clone::Clone::clone(value))
6789     }
6790 }
6791 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageLibraryLastChangeId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6792     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6793         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6794     }
6795 }
6796 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageLibraryLastChangeId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6797     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6798         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6799     }
6800 }
6801 impl ::std::convert::From<StorageLibraryLastChangeId> for ::windows::runtime::IInspectable {
from(value: StorageLibraryLastChangeId) -> Self6802     fn from(value: StorageLibraryLastChangeId) -> Self {
6803         value.0
6804     }
6805 }
6806 impl ::std::convert::From<&StorageLibraryLastChangeId> for ::windows::runtime::IInspectable {
from(value: &StorageLibraryLastChangeId) -> Self6807     fn from(value: &StorageLibraryLastChangeId) -> Self {
6808         value.0.clone()
6809     }
6810 }
6811 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageLibraryLastChangeId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6812     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6813         ::windows::runtime::Param::Owned(self.0)
6814     }
6815 }
6816 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageLibraryLastChangeId {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6817     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6818         ::windows::runtime::Param::Borrowed(&self.0)
6819     }
6820 }
6821 unsafe impl ::std::marker::Send for StorageLibraryLastChangeId {}
6822 unsafe impl ::std::marker::Sync for StorageLibraryLastChangeId {}
6823 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6824 #[repr(transparent)]
6825 pub struct StorageOpenOptions(pub u32);
6826 impl StorageOpenOptions {
6827     pub const None: StorageOpenOptions = StorageOpenOptions(0u32);
6828     pub const AllowOnlyReaders: StorageOpenOptions = StorageOpenOptions(1u32);
6829     pub const AllowReadersAndWriters: StorageOpenOptions = StorageOpenOptions(2u32);
6830 }
6831 impl ::std::convert::From<u32> for StorageOpenOptions {
from(value: u32) -> Self6832     fn from(value: u32) -> Self {
6833         Self(value)
6834     }
6835 }
6836 unsafe impl ::windows::runtime::Abi for StorageOpenOptions {
6837     type Abi = Self;
6838     type DefaultType = Self;
6839 }
6840 unsafe impl ::windows::runtime::RuntimeType for StorageOpenOptions {
6841     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.StorageOpenOptions;u4)");
6842 }
6843 impl ::std::ops::BitOr for StorageOpenOptions {
6844     type Output = Self;
bitor(self, rhs: Self) -> Self6845     fn bitor(self, rhs: Self) -> Self {
6846         Self(self.0 | rhs.0)
6847     }
6848 }
6849 impl ::std::ops::BitAnd for StorageOpenOptions {
6850     type Output = Self;
bitand(self, rhs: Self) -> Self6851     fn bitand(self, rhs: Self) -> Self {
6852         Self(self.0 & rhs.0)
6853     }
6854 }
6855 impl ::std::ops::BitOrAssign for StorageOpenOptions {
bitor_assign(&mut self, rhs: Self)6856     fn bitor_assign(&mut self, rhs: Self) {
6857         self.0.bitor_assign(rhs.0)
6858     }
6859 }
6860 impl ::std::ops::BitAndAssign for StorageOpenOptions {
bitand_assign(&mut self, rhs: Self)6861     fn bitand_assign(&mut self, rhs: Self) {
6862         self.0.bitand_assign(rhs.0)
6863     }
6864 }
6865 impl ::std::ops::Not for StorageOpenOptions {
6866     type Output = Self;
not(self) -> Self6867     fn not(self) -> Self {
6868         Self(self.0.not())
6869     }
6870 }
6871 #[repr(transparent)]
6872 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6873 pub struct StorageProvider(::windows::runtime::IInspectable);
6874 impl StorageProvider {
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6875     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6876         let this = self;
6877         unsafe {
6878             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6879             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6880         }
6881     }
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6882     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6883         let this = self;
6884         unsafe {
6885             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6886             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6887         }
6888     }
6889     #[cfg(feature = "Foundation")]
IsPropertySupportedForPartialFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertycanonicalname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>6890     pub fn IsPropertySupportedForPartialFileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, propertycanonicalname: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
6891         let this = &::windows::runtime::Interface::cast::<IStorageProvider2>(self)?;
6892         unsafe {
6893             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6894             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), propertycanonicalname.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
6895         }
6896     }
6897 }
6898 unsafe impl ::windows::runtime::RuntimeType for StorageProvider {
6899     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageProvider;{e705eed4-d478-47d6-ba46-1a8ebe114a20})");
6900 }
6901 unsafe impl ::windows::runtime::Interface for StorageProvider {
6902     type Vtable = IStorageProvider_abi;
6903     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3875925716, 54392, 18390, [186, 70, 26, 142, 190, 17, 74, 32]);
6904 }
6905 impl ::windows::runtime::RuntimeName for StorageProvider {
6906     const NAME: &'static str = "Windows.Storage.StorageProvider";
6907 }
6908 impl ::std::convert::From<StorageProvider> for ::windows::runtime::IUnknown {
from(value: StorageProvider) -> Self6909     fn from(value: StorageProvider) -> Self {
6910         unsafe { ::std::mem::transmute(value) }
6911     }
6912 }
6913 impl ::std::convert::From<&StorageProvider> for ::windows::runtime::IUnknown {
from(value: &StorageProvider) -> Self6914     fn from(value: &StorageProvider) -> Self {
6915         ::std::convert::From::from(::std::clone::Clone::clone(value))
6916     }
6917 }
6918 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6919     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6920         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6921     }
6922 }
6923 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6924     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6925         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6926     }
6927 }
6928 impl ::std::convert::From<StorageProvider> for ::windows::runtime::IInspectable {
from(value: StorageProvider) -> Self6929     fn from(value: StorageProvider) -> Self {
6930         value.0
6931     }
6932 }
6933 impl ::std::convert::From<&StorageProvider> for ::windows::runtime::IInspectable {
from(value: &StorageProvider) -> Self6934     fn from(value: &StorageProvider) -> Self {
6935         value.0.clone()
6936     }
6937 }
6938 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6939     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6940         ::windows::runtime::Param::Owned(self.0)
6941     }
6942 }
6943 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageProvider {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6944     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6945         ::windows::runtime::Param::Borrowed(&self.0)
6946     }
6947 }
6948 #[repr(transparent)]
6949 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6950 pub struct StorageStreamTransaction(::windows::runtime::IInspectable);
6951 impl StorageStreamTransaction {
6952     #[cfg(feature = "Storage_Streams")]
Stream(&self) -> ::windows::runtime::Result<Streams::IRandomAccessStream>6953     pub fn Stream(&self) -> ::windows::runtime::Result<Streams::IRandomAccessStream> {
6954         let this = self;
6955         unsafe {
6956             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6957             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Streams::IRandomAccessStream>(result__)
6958         }
6959     }
6960     #[cfg(feature = "Foundation")]
CommitAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>6961     pub fn CommitAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
6962         let this = self;
6963         unsafe {
6964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6965             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
6966         }
6967     }
6968     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>6969     pub fn Close(&self) -> ::windows::runtime::Result<()> {
6970         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
6971         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
6972     }
6973 }
6974 unsafe impl ::windows::runtime::RuntimeType for StorageStreamTransaction {
6975     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StorageStreamTransaction;{f67cf363-a53d-4d94-ae2c-67232d93acdd})");
6976 }
6977 unsafe impl ::windows::runtime::Interface for StorageStreamTransaction {
6978     type Vtable = IStorageStreamTransaction_abi;
6979     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4135383907, 42301, 19860, [174, 44, 103, 35, 45, 147, 172, 221]);
6980 }
6981 impl ::windows::runtime::RuntimeName for StorageStreamTransaction {
6982     const NAME: &'static str = "Windows.Storage.StorageStreamTransaction";
6983 }
6984 impl ::std::convert::From<StorageStreamTransaction> for ::windows::runtime::IUnknown {
from(value: StorageStreamTransaction) -> Self6985     fn from(value: StorageStreamTransaction) -> Self {
6986         unsafe { ::std::mem::transmute(value) }
6987     }
6988 }
6989 impl ::std::convert::From<&StorageStreamTransaction> for ::windows::runtime::IUnknown {
from(value: &StorageStreamTransaction) -> Self6990     fn from(value: &StorageStreamTransaction) -> Self {
6991         ::std::convert::From::from(::std::clone::Clone::clone(value))
6992     }
6993 }
6994 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StorageStreamTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6995     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6996         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6997     }
6998 }
6999 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StorageStreamTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7000     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7001         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7002     }
7003 }
7004 impl ::std::convert::From<StorageStreamTransaction> for ::windows::runtime::IInspectable {
from(value: StorageStreamTransaction) -> Self7005     fn from(value: StorageStreamTransaction) -> Self {
7006         value.0
7007     }
7008 }
7009 impl ::std::convert::From<&StorageStreamTransaction> for ::windows::runtime::IInspectable {
from(value: &StorageStreamTransaction) -> Self7010     fn from(value: &StorageStreamTransaction) -> Self {
7011         value.0.clone()
7012     }
7013 }
7014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StorageStreamTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7016         ::windows::runtime::Param::Owned(self.0)
7017     }
7018 }
7019 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StorageStreamTransaction {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7020     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7021         ::windows::runtime::Param::Borrowed(&self.0)
7022     }
7023 }
7024 #[cfg(feature = "Foundation")]
7025 impl ::std::convert::TryFrom<StorageStreamTransaction> for super::Foundation::IClosable {
7026     type Error = ::windows::runtime::Error;
try_from(value: StorageStreamTransaction) -> ::windows::runtime::Result<Self>7027     fn try_from(value: StorageStreamTransaction) -> ::windows::runtime::Result<Self> {
7028         ::std::convert::TryFrom::try_from(&value)
7029     }
7030 }
7031 #[cfg(feature = "Foundation")]
7032 impl ::std::convert::TryFrom<&StorageStreamTransaction> for super::Foundation::IClosable {
7033     type Error = ::windows::runtime::Error;
try_from(value: &StorageStreamTransaction) -> ::windows::runtime::Result<Self>7034     fn try_from(value: &StorageStreamTransaction) -> ::windows::runtime::Result<Self> {
7035         ::windows::runtime::Interface::cast(value)
7036     }
7037 }
7038 #[cfg(feature = "Foundation")]
7039 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for StorageStreamTransaction {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>7040     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
7041         ::windows::runtime::IntoParam::into_param(&self)
7042     }
7043 }
7044 #[cfg(feature = "Foundation")]
7045 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &StorageStreamTransaction {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>7046     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
7047         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7048     }
7049 }
7050 #[cfg(feature = "Storage_Streams")]
7051 #[repr(transparent)]
7052 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7053 pub struct StreamedFileDataRequest(::windows::runtime::IInspectable);
7054 #[cfg(feature = "Storage_Streams")]
7055 impl StreamedFileDataRequest {
7056     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteAsync<'a, Param0: ::windows::runtime::IntoParam<'a, Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperationWithProgress<u32, u32>>7057     pub fn WriteAsync<'a, Param0: ::windows::runtime::IntoParam<'a, Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncOperationWithProgress<u32, u32>> {
7058         let this = self;
7059         unsafe {
7060             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7061             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), buffer.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperationWithProgress<u32, u32>>(result__)
7062         }
7063     }
7064     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
FlushAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>7065     pub fn FlushAsync(&self) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
7066         let this = self;
7067         unsafe {
7068             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7069             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
7070         }
7071     }
7072     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>7073     pub fn Close(&self) -> ::windows::runtime::Result<()> {
7074         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
7075         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
7076     }
FailAndClose(&self, failuremode: StreamedFileFailureMode) -> ::windows::runtime::Result<()>7077     pub fn FailAndClose(&self, failuremode: StreamedFileFailureMode) -> ::windows::runtime::Result<()> {
7078         let this = &::windows::runtime::Interface::cast::<IStreamedFileDataRequest>(self)?;
7079         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), failuremode).ok() }
7080     }
7081 }
7082 #[cfg(feature = "Storage_Streams")]
7083 unsafe impl ::windows::runtime::RuntimeType for StreamedFileDataRequest {
7084     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.StreamedFileDataRequest;{905a0fe6-bc53-11df-8c49-001e4fc686da})");
7085 }
7086 #[cfg(feature = "Storage_Streams")]
7087 unsafe impl ::windows::runtime::Interface for StreamedFileDataRequest {
7088     type Vtable = Streams::IOutputStream_abi;
7089     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2421821414, 48211, 4575, [140, 73, 0, 30, 79, 198, 134, 218]);
7090 }
7091 #[cfg(feature = "Storage_Streams")]
7092 impl ::windows::runtime::RuntimeName for StreamedFileDataRequest {
7093     const NAME: &'static str = "Windows.Storage.StreamedFileDataRequest";
7094 }
7095 #[cfg(feature = "Storage_Streams")]
7096 impl ::std::convert::From<StreamedFileDataRequest> for ::windows::runtime::IUnknown {
from(value: StreamedFileDataRequest) -> Self7097     fn from(value: StreamedFileDataRequest) -> Self {
7098         unsafe { ::std::mem::transmute(value) }
7099     }
7100 }
7101 #[cfg(feature = "Storage_Streams")]
7102 impl ::std::convert::From<&StreamedFileDataRequest> for ::windows::runtime::IUnknown {
from(value: &StreamedFileDataRequest) -> Self7103     fn from(value: &StreamedFileDataRequest) -> Self {
7104         ::std::convert::From::from(::std::clone::Clone::clone(value))
7105     }
7106 }
7107 #[cfg(feature = "Storage_Streams")]
7108 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7109     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7110         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7111     }
7112 }
7113 #[cfg(feature = "Storage_Streams")]
7114 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7115     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7116         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7117     }
7118 }
7119 #[cfg(feature = "Storage_Streams")]
7120 impl ::std::convert::From<StreamedFileDataRequest> for ::windows::runtime::IInspectable {
from(value: StreamedFileDataRequest) -> Self7121     fn from(value: StreamedFileDataRequest) -> Self {
7122         value.0
7123     }
7124 }
7125 #[cfg(feature = "Storage_Streams")]
7126 impl ::std::convert::From<&StreamedFileDataRequest> for ::windows::runtime::IInspectable {
from(value: &StreamedFileDataRequest) -> Self7127     fn from(value: &StreamedFileDataRequest) -> Self {
7128         value.0.clone()
7129     }
7130 }
7131 #[cfg(feature = "Storage_Streams")]
7132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7134         ::windows::runtime::Param::Owned(self.0)
7135     }
7136 }
7137 #[cfg(feature = "Storage_Streams")]
7138 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7139     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7140         ::windows::runtime::Param::Borrowed(&self.0)
7141     }
7142 }
7143 #[cfg(feature = "Storage_Streams")]
7144 impl ::std::convert::From<StreamedFileDataRequest> for Streams::IOutputStream {
from(value: StreamedFileDataRequest) -> Self7145     fn from(value: StreamedFileDataRequest) -> Self {
7146         unsafe { ::std::mem::transmute(value) }
7147     }
7148 }
7149 #[cfg(feature = "Storage_Streams")]
7150 impl ::std::convert::From<&StreamedFileDataRequest> for Streams::IOutputStream {
from(value: &StreamedFileDataRequest) -> Self7151     fn from(value: &StreamedFileDataRequest) -> Self {
7152         ::std::convert::From::from(::std::clone::Clone::clone(value))
7153     }
7154 }
7155 #[cfg(feature = "Storage_Streams")]
7156 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IOutputStream> for StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IOutputStream>7157     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IOutputStream> {
7158         ::windows::runtime::Param::Owned(::std::convert::Into::<Streams::IOutputStream>::into(self))
7159     }
7160 }
7161 #[cfg(feature = "Storage_Streams")]
7162 impl<'a> ::windows::runtime::IntoParam<'a, Streams::IOutputStream> for &StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, Streams::IOutputStream>7163     fn into_param(self) -> ::windows::runtime::Param<'a, Streams::IOutputStream> {
7164         ::windows::runtime::Param::Owned(::std::convert::Into::<Streams::IOutputStream>::into(::std::clone::Clone::clone(self)))
7165     }
7166 }
7167 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7168 impl ::std::convert::TryFrom<StreamedFileDataRequest> for super::Foundation::IClosable {
7169     type Error = ::windows::runtime::Error;
try_from(value: StreamedFileDataRequest) -> ::windows::runtime::Result<Self>7170     fn try_from(value: StreamedFileDataRequest) -> ::windows::runtime::Result<Self> {
7171         ::std::convert::TryFrom::try_from(&value)
7172     }
7173 }
7174 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7175 impl ::std::convert::TryFrom<&StreamedFileDataRequest> for super::Foundation::IClosable {
7176     type Error = ::windows::runtime::Error;
try_from(value: &StreamedFileDataRequest) -> ::windows::runtime::Result<Self>7177     fn try_from(value: &StreamedFileDataRequest) -> ::windows::runtime::Result<Self> {
7178         ::windows::runtime::Interface::cast(value)
7179     }
7180 }
7181 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7182 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>7183     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
7184         ::windows::runtime::IntoParam::into_param(&self)
7185     }
7186 }
7187 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7188 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>7189     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
7190         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7191     }
7192 }
7193 #[cfg(feature = "Storage_Streams")]
7194 impl ::std::convert::TryFrom<StreamedFileDataRequest> for IStreamedFileDataRequest {
7195     type Error = ::windows::runtime::Error;
try_from(value: StreamedFileDataRequest) -> ::windows::runtime::Result<Self>7196     fn try_from(value: StreamedFileDataRequest) -> ::windows::runtime::Result<Self> {
7197         ::std::convert::TryFrom::try_from(&value)
7198     }
7199 }
7200 #[cfg(feature = "Storage_Streams")]
7201 impl ::std::convert::TryFrom<&StreamedFileDataRequest> for IStreamedFileDataRequest {
7202     type Error = ::windows::runtime::Error;
try_from(value: &StreamedFileDataRequest) -> ::windows::runtime::Result<Self>7203     fn try_from(value: &StreamedFileDataRequest) -> ::windows::runtime::Result<Self> {
7204         ::windows::runtime::Interface::cast(value)
7205     }
7206 }
7207 #[cfg(feature = "Storage_Streams")]
7208 impl<'a> ::windows::runtime::IntoParam<'a, IStreamedFileDataRequest> for StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, IStreamedFileDataRequest>7209     fn into_param(self) -> ::windows::runtime::Param<'a, IStreamedFileDataRequest> {
7210         ::windows::runtime::IntoParam::into_param(&self)
7211     }
7212 }
7213 #[cfg(feature = "Storage_Streams")]
7214 impl<'a> ::windows::runtime::IntoParam<'a, IStreamedFileDataRequest> for &StreamedFileDataRequest {
into_param(self) -> ::windows::runtime::Param<'a, IStreamedFileDataRequest>7215     fn into_param(self) -> ::windows::runtime::Param<'a, IStreamedFileDataRequest> {
7216         ::std::convert::TryInto::<IStreamedFileDataRequest>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7217     }
7218 }
7219 #[cfg(feature = "Storage_Streams")]
7220 #[repr(transparent)]
7221 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7222 pub struct StreamedFileDataRequestedHandler(::windows::runtime::IUnknown);
7223 #[cfg(feature = "Storage_Streams")]
7224 impl StreamedFileDataRequestedHandler {
new<F: FnMut(&::std::option::Option<StreamedFileDataRequest>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self7225     pub fn new<F: FnMut(&::std::option::Option<StreamedFileDataRequest>) -> ::windows::runtime::Result<()> + 'static>(invoke: F) -> Self {
7226         let com = StreamedFileDataRequestedHandler_box::<F> {
7227             vtable: &StreamedFileDataRequestedHandler_box::<F>::VTABLE,
7228             count: ::windows::runtime::RefCount::new(1),
7229             invoke,
7230         };
7231         unsafe { std::mem::transmute(::std::boxed::Box::new(com)) }
7232     }
7233     #[cfg(feature = "Storage_Streams")]
Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, StreamedFileDataRequest>>(&self, stream: Param0) -> ::windows::runtime::Result<()>7234     pub fn Invoke<'a, Param0: ::windows::runtime::IntoParam<'a, StreamedFileDataRequest>>(&self, stream: Param0) -> ::windows::runtime::Result<()> {
7235         let this = self;
7236         unsafe { (::windows::runtime::Interface::vtable(this).3)(::std::mem::transmute_copy(this), stream.into_param().abi()).ok() }
7237     }
7238 }
7239 #[cfg(feature = "Storage_Streams")]
7240 unsafe impl ::windows::runtime::RuntimeType for StreamedFileDataRequestedHandler {
7241     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"delegate({fef6a824-2fe1-4d07-a35b-b77c50b5f4cc})");
7242 }
7243 #[cfg(feature = "Storage_Streams")]
7244 unsafe impl ::windows::runtime::Interface for StreamedFileDataRequestedHandler {
7245     type Vtable = StreamedFileDataRequestedHandler_abi;
7246     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4277577764, 12257, 19719, [163, 91, 183, 124, 80, 181, 244, 204]);
7247 }
7248 #[cfg(feature = "Storage_Streams")]
7249 #[repr(C)]
7250 #[doc(hidden)]
7251 pub struct StreamedFileDataRequestedHandler_abi(
7252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
7255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
7256 );
7257 #[cfg(feature = "Storage_Streams")]
7258 #[repr(C)]
7259 struct StreamedFileDataRequestedHandler_box<F: FnMut(&::std::option::Option<StreamedFileDataRequest>) -> ::windows::runtime::Result<()> + 'static> {
7260     vtable: *const StreamedFileDataRequestedHandler_abi,
7261     invoke: F,
7262     count: ::windows::runtime::RefCount,
7263 }
7264 #[cfg(feature = "Storage_Streams")]
7265 impl<F: FnMut(&::std::option::Option<StreamedFileDataRequest>) -> ::windows::runtime::Result<()> + 'static> StreamedFileDataRequestedHandler_box<F> {
7266     const VTABLE: StreamedFileDataRequestedHandler_abi = StreamedFileDataRequestedHandler_abi(Self::QueryInterface, Self::AddRef, Self::Release, Self::Invoke);
QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT7267     unsafe extern "system" fn QueryInterface(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
7268         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
7269         *interface = if iid == &<StreamedFileDataRequestedHandler as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IUnknown as ::windows::runtime::Interface>::IID || iid == &<::windows::runtime::IAgileObject as ::windows::runtime::Interface>::IID {
7270             &mut (*this).vtable as *mut _ as _
7271         } else {
7272             ::std::ptr::null_mut()
7273         };
7274         if (*interface).is_null() {
7275             ::windows::runtime::HRESULT(0x8000_4002)
7276         } else {
7277             (*this).count.add_ref();
7278             ::windows::runtime::HRESULT(0)
7279         }
7280     }
AddRef(this: ::windows::runtime::RawPtr) -> u327281     unsafe extern "system" fn AddRef(this: ::windows::runtime::RawPtr) -> u32 {
7282         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
7283         (*this).count.add_ref()
7284     }
Release(this: ::windows::runtime::RawPtr) -> u327285     unsafe extern "system" fn Release(this: ::windows::runtime::RawPtr) -> u32 {
7286         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
7287         let remaining = (*this).count.release();
7288         if remaining == 0 {
7289             Box::from_raw(this);
7290         }
7291         remaining
7292     }
Invoke(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT7293     unsafe extern "system" fn Invoke(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT {
7294         let this = this as *mut ::windows::runtime::RawPtr as *mut Self;
7295         ((*this).invoke)(&*(&stream as *const <StreamedFileDataRequest as ::windows::runtime::Abi>::Abi as *const <StreamedFileDataRequest as ::windows::runtime::Abi>::DefaultType)).into()
7296     }
7297 }
7298 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7299 #[repr(transparent)]
7300 pub struct StreamedFileFailureMode(pub i32);
7301 impl StreamedFileFailureMode {
7302     pub const Failed: StreamedFileFailureMode = StreamedFileFailureMode(0i32);
7303     pub const CurrentlyUnavailable: StreamedFileFailureMode = StreamedFileFailureMode(1i32);
7304     pub const Incomplete: StreamedFileFailureMode = StreamedFileFailureMode(2i32);
7305 }
7306 impl ::std::convert::From<i32> for StreamedFileFailureMode {
from(value: i32) -> Self7307     fn from(value: i32) -> Self {
7308         Self(value)
7309     }
7310 }
7311 unsafe impl ::windows::runtime::Abi for StreamedFileFailureMode {
7312     type Abi = Self;
7313     type DefaultType = Self;
7314 }
7315 unsafe impl ::windows::runtime::RuntimeType for StreamedFileFailureMode {
7316     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Storage.StreamedFileFailureMode;i4)");
7317 }
7318 #[repr(transparent)]
7319 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7320 pub struct SystemAudioProperties(::windows::runtime::IInspectable);
7321 impl SystemAudioProperties {
EncodingBitrate(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7322     pub fn EncodingBitrate(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7323         let this = self;
7324         unsafe {
7325             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7326             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7327         }
7328     }
7329 }
7330 unsafe impl ::windows::runtime::RuntimeType for SystemAudioProperties {
7331     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemAudioProperties;{3f8f38b7-308c-47e1-924d-8645348e5db7})");
7332 }
7333 unsafe impl ::windows::runtime::Interface for SystemAudioProperties {
7334     type Vtable = ISystemAudioProperties_abi;
7335     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1066350775, 12428, 18401, [146, 77, 134, 69, 52, 142, 93, 183]);
7336 }
7337 impl ::windows::runtime::RuntimeName for SystemAudioProperties {
7338     const NAME: &'static str = "Windows.Storage.SystemAudioProperties";
7339 }
7340 impl ::std::convert::From<SystemAudioProperties> for ::windows::runtime::IUnknown {
from(value: SystemAudioProperties) -> Self7341     fn from(value: SystemAudioProperties) -> Self {
7342         unsafe { ::std::mem::transmute(value) }
7343     }
7344 }
7345 impl ::std::convert::From<&SystemAudioProperties> for ::windows::runtime::IUnknown {
from(value: &SystemAudioProperties) -> Self7346     fn from(value: &SystemAudioProperties) -> Self {
7347         ::std::convert::From::from(::std::clone::Clone::clone(value))
7348     }
7349 }
7350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemAudioProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7353     }
7354 }
7355 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemAudioProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7356     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7357         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7358     }
7359 }
7360 impl ::std::convert::From<SystemAudioProperties> for ::windows::runtime::IInspectable {
from(value: SystemAudioProperties) -> Self7361     fn from(value: SystemAudioProperties) -> Self {
7362         value.0
7363     }
7364 }
7365 impl ::std::convert::From<&SystemAudioProperties> for ::windows::runtime::IInspectable {
from(value: &SystemAudioProperties) -> Self7366     fn from(value: &SystemAudioProperties) -> Self {
7367         value.0.clone()
7368     }
7369 }
7370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemAudioProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7372         ::windows::runtime::Param::Owned(self.0)
7373     }
7374 }
7375 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemAudioProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7376     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7377         ::windows::runtime::Param::Borrowed(&self.0)
7378     }
7379 }
7380 unsafe impl ::std::marker::Send for SystemAudioProperties {}
7381 unsafe impl ::std::marker::Sync for SystemAudioProperties {}
7382 #[repr(transparent)]
7383 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7384 pub struct SystemDataPaths(::windows::runtime::IInspectable);
7385 impl SystemDataPaths {
Fonts(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7386     pub fn Fonts(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7387         let this = self;
7388         unsafe {
7389             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7390             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7391         }
7392     }
ProgramData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7393     pub fn ProgramData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7394         let this = self;
7395         unsafe {
7396             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7397             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7398         }
7399     }
Public(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7400     pub fn Public(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7401         let this = self;
7402         unsafe {
7403             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7404             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7405         }
7406     }
PublicDesktop(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7407     pub fn PublicDesktop(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7408         let this = self;
7409         unsafe {
7410             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7411             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7412         }
7413     }
PublicDocuments(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7414     pub fn PublicDocuments(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7415         let this = self;
7416         unsafe {
7417             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7418             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7419         }
7420     }
PublicDownloads(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7421     pub fn PublicDownloads(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7422         let this = self;
7423         unsafe {
7424             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7425             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7426         }
7427     }
PublicMusic(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7428     pub fn PublicMusic(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7429         let this = self;
7430         unsafe {
7431             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7432             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7433         }
7434     }
PublicPictures(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7435     pub fn PublicPictures(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7436         let this = self;
7437         unsafe {
7438             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7439             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7440         }
7441     }
PublicVideos(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7442     pub fn PublicVideos(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7443         let this = self;
7444         unsafe {
7445             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7446             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7447         }
7448     }
System(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7449     pub fn System(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7450         let this = self;
7451         unsafe {
7452             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7453             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7454         }
7455     }
SystemHost(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7456     pub fn SystemHost(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7457         let this = self;
7458         unsafe {
7459             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7460             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7461         }
7462     }
SystemX86(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7463     pub fn SystemX86(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7464         let this = self;
7465         unsafe {
7466             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7467             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7468         }
7469     }
SystemX64(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7470     pub fn SystemX64(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7471         let this = self;
7472         unsafe {
7473             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7474             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7475         }
7476     }
SystemArm(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7477     pub fn SystemArm(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7478         let this = self;
7479         unsafe {
7480             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7481             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7482         }
7483     }
UserProfiles(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7484     pub fn UserProfiles(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7485         let this = self;
7486         unsafe {
7487             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7488             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7489         }
7490     }
Windows(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7491     pub fn Windows(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7492         let this = self;
7493         unsafe {
7494             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7495             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7496         }
7497     }
GetDefault() -> ::windows::runtime::Result<SystemDataPaths>7498     pub fn GetDefault() -> ::windows::runtime::Result<SystemDataPaths> {
7499         Self::ISystemDataPathsStatics(|this| unsafe {
7500             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7501             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemDataPaths>(result__)
7502         })
7503     }
ISystemDataPathsStatics<R, F: FnOnce(&ISystemDataPathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>7504     pub fn ISystemDataPathsStatics<R, F: FnOnce(&ISystemDataPathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
7505         static mut SHARED: ::windows::runtime::FactoryCache<SystemDataPaths, ISystemDataPathsStatics> = ::windows::runtime::FactoryCache::new();
7506         unsafe { SHARED.call(callback) }
7507     }
7508 }
7509 unsafe impl ::windows::runtime::RuntimeType for SystemDataPaths {
7510     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemDataPaths;{e32abf70-d8fa-45ec-a942-d2e26fb60ba5})");
7511 }
7512 unsafe impl ::windows::runtime::Interface for SystemDataPaths {
7513     type Vtable = ISystemDataPaths_abi;
7514     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3811229552, 55546, 17900, [169, 66, 210, 226, 111, 182, 11, 165]);
7515 }
7516 impl ::windows::runtime::RuntimeName for SystemDataPaths {
7517     const NAME: &'static str = "Windows.Storage.SystemDataPaths";
7518 }
7519 impl ::std::convert::From<SystemDataPaths> for ::windows::runtime::IUnknown {
from(value: SystemDataPaths) -> Self7520     fn from(value: SystemDataPaths) -> Self {
7521         unsafe { ::std::mem::transmute(value) }
7522     }
7523 }
7524 impl ::std::convert::From<&SystemDataPaths> for ::windows::runtime::IUnknown {
from(value: &SystemDataPaths) -> Self7525     fn from(value: &SystemDataPaths) -> Self {
7526         ::std::convert::From::from(::std::clone::Clone::clone(value))
7527     }
7528 }
7529 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7530     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7531         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7532     }
7533 }
7534 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7535     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7536         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7537     }
7538 }
7539 impl ::std::convert::From<SystemDataPaths> for ::windows::runtime::IInspectable {
from(value: SystemDataPaths) -> Self7540     fn from(value: SystemDataPaths) -> Self {
7541         value.0
7542     }
7543 }
7544 impl ::std::convert::From<&SystemDataPaths> for ::windows::runtime::IInspectable {
from(value: &SystemDataPaths) -> Self7545     fn from(value: &SystemDataPaths) -> Self {
7546         value.0.clone()
7547     }
7548 }
7549 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7550     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7551         ::windows::runtime::Param::Owned(self.0)
7552     }
7553 }
7554 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7555     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7556         ::windows::runtime::Param::Borrowed(&self.0)
7557     }
7558 }
7559 unsafe impl ::std::marker::Send for SystemDataPaths {}
7560 unsafe impl ::std::marker::Sync for SystemDataPaths {}
7561 #[repr(transparent)]
7562 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7563 pub struct SystemGPSProperties(::windows::runtime::IInspectable);
7564 impl SystemGPSProperties {
LatitudeDecimal(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7565     pub fn LatitudeDecimal(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7566         let this = self;
7567         unsafe {
7568             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7569             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7570         }
7571     }
LongitudeDecimal(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7572     pub fn LongitudeDecimal(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7573         let this = self;
7574         unsafe {
7575             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7576             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7577         }
7578     }
7579 }
7580 unsafe impl ::windows::runtime::RuntimeType for SystemGPSProperties {
7581     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemGPSProperties;{c0f46eb4-c174-481a-bc25-921986f6a6f3})");
7582 }
7583 unsafe impl ::windows::runtime::Interface for SystemGPSProperties {
7584     type Vtable = ISystemGPSProperties_abi;
7585     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3237244596, 49524, 18458, [188, 37, 146, 25, 134, 246, 166, 243]);
7586 }
7587 impl ::windows::runtime::RuntimeName for SystemGPSProperties {
7588     const NAME: &'static str = "Windows.Storage.SystemGPSProperties";
7589 }
7590 impl ::std::convert::From<SystemGPSProperties> for ::windows::runtime::IUnknown {
from(value: SystemGPSProperties) -> Self7591     fn from(value: SystemGPSProperties) -> Self {
7592         unsafe { ::std::mem::transmute(value) }
7593     }
7594 }
7595 impl ::std::convert::From<&SystemGPSProperties> for ::windows::runtime::IUnknown {
from(value: &SystemGPSProperties) -> Self7596     fn from(value: &SystemGPSProperties) -> Self {
7597         ::std::convert::From::from(::std::clone::Clone::clone(value))
7598     }
7599 }
7600 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemGPSProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7601     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7602         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7603     }
7604 }
7605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemGPSProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7607         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7608     }
7609 }
7610 impl ::std::convert::From<SystemGPSProperties> for ::windows::runtime::IInspectable {
from(value: SystemGPSProperties) -> Self7611     fn from(value: SystemGPSProperties) -> Self {
7612         value.0
7613     }
7614 }
7615 impl ::std::convert::From<&SystemGPSProperties> for ::windows::runtime::IInspectable {
from(value: &SystemGPSProperties) -> Self7616     fn from(value: &SystemGPSProperties) -> Self {
7617         value.0.clone()
7618     }
7619 }
7620 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemGPSProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7621     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7622         ::windows::runtime::Param::Owned(self.0)
7623     }
7624 }
7625 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemGPSProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7626     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7627         ::windows::runtime::Param::Borrowed(&self.0)
7628     }
7629 }
7630 unsafe impl ::std::marker::Send for SystemGPSProperties {}
7631 unsafe impl ::std::marker::Sync for SystemGPSProperties {}
7632 #[repr(transparent)]
7633 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7634 pub struct SystemImageProperties(::windows::runtime::IInspectable);
7635 impl SystemImageProperties {
HorizontalSize(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7636     pub fn HorizontalSize(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7637         let this = self;
7638         unsafe {
7639             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7640             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7641         }
7642     }
VerticalSize(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7643     pub fn VerticalSize(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7644         let this = self;
7645         unsafe {
7646             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7647             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7648         }
7649     }
7650 }
7651 unsafe impl ::windows::runtime::RuntimeType for SystemImageProperties {
7652     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemImageProperties;{011b2e30-8b39-4308-bea1-e8aa61e47826})");
7653 }
7654 unsafe impl ::windows::runtime::Interface for SystemImageProperties {
7655     type Vtable = ISystemImageProperties_abi;
7656     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(18558512, 35641, 17160, [190, 161, 232, 170, 97, 228, 120, 38]);
7657 }
7658 impl ::windows::runtime::RuntimeName for SystemImageProperties {
7659     const NAME: &'static str = "Windows.Storage.SystemImageProperties";
7660 }
7661 impl ::std::convert::From<SystemImageProperties> for ::windows::runtime::IUnknown {
from(value: SystemImageProperties) -> Self7662     fn from(value: SystemImageProperties) -> Self {
7663         unsafe { ::std::mem::transmute(value) }
7664     }
7665 }
7666 impl ::std::convert::From<&SystemImageProperties> for ::windows::runtime::IUnknown {
from(value: &SystemImageProperties) -> Self7667     fn from(value: &SystemImageProperties) -> Self {
7668         ::std::convert::From::from(::std::clone::Clone::clone(value))
7669     }
7670 }
7671 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemImageProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7672     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7673         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7674     }
7675 }
7676 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemImageProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7677     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7678         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7679     }
7680 }
7681 impl ::std::convert::From<SystemImageProperties> for ::windows::runtime::IInspectable {
from(value: SystemImageProperties) -> Self7682     fn from(value: SystemImageProperties) -> Self {
7683         value.0
7684     }
7685 }
7686 impl ::std::convert::From<&SystemImageProperties> for ::windows::runtime::IInspectable {
from(value: &SystemImageProperties) -> Self7687     fn from(value: &SystemImageProperties) -> Self {
7688         value.0.clone()
7689     }
7690 }
7691 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemImageProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7692     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7693         ::windows::runtime::Param::Owned(self.0)
7694     }
7695 }
7696 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemImageProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7697     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7698         ::windows::runtime::Param::Borrowed(&self.0)
7699     }
7700 }
7701 unsafe impl ::std::marker::Send for SystemImageProperties {}
7702 unsafe impl ::std::marker::Sync for SystemImageProperties {}
7703 #[repr(transparent)]
7704 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7705 pub struct SystemMediaProperties(::windows::runtime::IInspectable);
7706 impl SystemMediaProperties {
Duration(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7707     pub fn Duration(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7708         let this = self;
7709         unsafe {
7710             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7711             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7712         }
7713     }
Producer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7714     pub fn Producer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7715         let this = self;
7716         unsafe {
7717             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7718             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7719         }
7720     }
Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7721     pub fn Publisher(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7722         let this = self;
7723         unsafe {
7724             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7725             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7726         }
7727     }
SubTitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7728     pub fn SubTitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7729         let this = self;
7730         unsafe {
7731             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7732             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7733         }
7734     }
Writer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7735     pub fn Writer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7736         let this = self;
7737         unsafe {
7738             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7739             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7740         }
7741     }
Year(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7742     pub fn Year(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7743         let this = self;
7744         unsafe {
7745             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7746             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7747         }
7748     }
7749 }
7750 unsafe impl ::windows::runtime::RuntimeType for SystemMediaProperties {
7751     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemMediaProperties;{a42b3316-8415-40dc-8c44-98361d235430})");
7752 }
7753 unsafe impl ::windows::runtime::Interface for SystemMediaProperties {
7754     type Vtable = ISystemMediaProperties_abi;
7755     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2754294550, 33813, 16604, [140, 68, 152, 54, 29, 35, 84, 48]);
7756 }
7757 impl ::windows::runtime::RuntimeName for SystemMediaProperties {
7758     const NAME: &'static str = "Windows.Storage.SystemMediaProperties";
7759 }
7760 impl ::std::convert::From<SystemMediaProperties> for ::windows::runtime::IUnknown {
from(value: SystemMediaProperties) -> Self7761     fn from(value: SystemMediaProperties) -> Self {
7762         unsafe { ::std::mem::transmute(value) }
7763     }
7764 }
7765 impl ::std::convert::From<&SystemMediaProperties> for ::windows::runtime::IUnknown {
from(value: &SystemMediaProperties) -> Self7766     fn from(value: &SystemMediaProperties) -> Self {
7767         ::std::convert::From::from(::std::clone::Clone::clone(value))
7768     }
7769 }
7770 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMediaProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7771     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7772         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7773     }
7774 }
7775 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMediaProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7776     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7777         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7778     }
7779 }
7780 impl ::std::convert::From<SystemMediaProperties> for ::windows::runtime::IInspectable {
from(value: SystemMediaProperties) -> Self7781     fn from(value: SystemMediaProperties) -> Self {
7782         value.0
7783     }
7784 }
7785 impl ::std::convert::From<&SystemMediaProperties> for ::windows::runtime::IInspectable {
from(value: &SystemMediaProperties) -> Self7786     fn from(value: &SystemMediaProperties) -> Self {
7787         value.0.clone()
7788     }
7789 }
7790 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMediaProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7791     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7792         ::windows::runtime::Param::Owned(self.0)
7793     }
7794 }
7795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMediaProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7796     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7797         ::windows::runtime::Param::Borrowed(&self.0)
7798     }
7799 }
7800 unsafe impl ::std::marker::Send for SystemMediaProperties {}
7801 unsafe impl ::std::marker::Sync for SystemMediaProperties {}
7802 #[repr(transparent)]
7803 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7804 pub struct SystemMusicProperties(::windows::runtime::IInspectable);
7805 impl SystemMusicProperties {
AlbumArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7806     pub fn AlbumArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7807         let this = self;
7808         unsafe {
7809             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7810             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7811         }
7812     }
AlbumTitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7813     pub fn AlbumTitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7814         let this = self;
7815         unsafe {
7816             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7817             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7818         }
7819     }
Artist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7820     pub fn Artist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7821         let this = self;
7822         unsafe {
7823             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7824             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7825         }
7826     }
Composer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7827     pub fn Composer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7828         let this = self;
7829         unsafe {
7830             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7831             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7832         }
7833     }
Conductor(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7834     pub fn Conductor(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7835         let this = self;
7836         unsafe {
7837             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7838             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7839         }
7840     }
DisplayArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7841     pub fn DisplayArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7842         let this = self;
7843         unsafe {
7844             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7845             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7846         }
7847     }
Genre(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7848     pub fn Genre(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7849         let this = self;
7850         unsafe {
7851             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7852             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7853         }
7854     }
TrackNumber(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7855     pub fn TrackNumber(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7856         let this = self;
7857         unsafe {
7858             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7859             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7860         }
7861     }
7862 }
7863 unsafe impl ::windows::runtime::RuntimeType for SystemMusicProperties {
7864     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemMusicProperties;{b47988d5-67af-4bc3-8d39-5b89022026a1})");
7865 }
7866 unsafe impl ::windows::runtime::Interface for SystemMusicProperties {
7867     type Vtable = ISystemMusicProperties_abi;
7868     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3027863765, 26543, 19395, [141, 57, 91, 137, 2, 32, 38, 161]);
7869 }
7870 impl ::windows::runtime::RuntimeName for SystemMusicProperties {
7871     const NAME: &'static str = "Windows.Storage.SystemMusicProperties";
7872 }
7873 impl ::std::convert::From<SystemMusicProperties> for ::windows::runtime::IUnknown {
from(value: SystemMusicProperties) -> Self7874     fn from(value: SystemMusicProperties) -> Self {
7875         unsafe { ::std::mem::transmute(value) }
7876     }
7877 }
7878 impl ::std::convert::From<&SystemMusicProperties> for ::windows::runtime::IUnknown {
from(value: &SystemMusicProperties) -> Self7879     fn from(value: &SystemMusicProperties) -> Self {
7880         ::std::convert::From::from(::std::clone::Clone::clone(value))
7881     }
7882 }
7883 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMusicProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7884     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7885         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7886     }
7887 }
7888 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMusicProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7889     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7890         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7891     }
7892 }
7893 impl ::std::convert::From<SystemMusicProperties> for ::windows::runtime::IInspectable {
from(value: SystemMusicProperties) -> Self7894     fn from(value: SystemMusicProperties) -> Self {
7895         value.0
7896     }
7897 }
7898 impl ::std::convert::From<&SystemMusicProperties> for ::windows::runtime::IInspectable {
from(value: &SystemMusicProperties) -> Self7899     fn from(value: &SystemMusicProperties) -> Self {
7900         value.0.clone()
7901     }
7902 }
7903 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMusicProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7904     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7905         ::windows::runtime::Param::Owned(self.0)
7906     }
7907 }
7908 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMusicProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7909     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7910         ::windows::runtime::Param::Borrowed(&self.0)
7911     }
7912 }
7913 unsafe impl ::std::marker::Send for SystemMusicProperties {}
7914 unsafe impl ::std::marker::Sync for SystemMusicProperties {}
7915 #[repr(transparent)]
7916 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7917 pub struct SystemPhotoProperties(::windows::runtime::IInspectable);
7918 impl SystemPhotoProperties {
CameraManufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7919     pub fn CameraManufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7920         let this = self;
7921         unsafe {
7922             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7923             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7924         }
7925     }
CameraModel(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7926     pub fn CameraModel(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7927         let this = self;
7928         unsafe {
7929             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7930             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7931         }
7932     }
DateTaken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7933     pub fn DateTaken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7934         let this = self;
7935         unsafe {
7936             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7937             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7938         }
7939     }
Orientation(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7940     pub fn Orientation(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7941         let this = self;
7942         unsafe {
7943             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7944             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7945         }
7946     }
PeopleNames(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7947     pub fn PeopleNames(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7948         let this = self;
7949         unsafe {
7950             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7951             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7952         }
7953     }
7954 }
7955 unsafe impl ::windows::runtime::RuntimeType for SystemPhotoProperties {
7956     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemPhotoProperties;{4734fc3d-ab21-4424-b735-f4353a56c8fc})");
7957 }
7958 unsafe impl ::windows::runtime::Interface for SystemPhotoProperties {
7959     type Vtable = ISystemPhotoProperties_abi;
7960     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1194654781, 43809, 17444, [183, 53, 244, 53, 58, 86, 200, 252]);
7961 }
7962 impl ::windows::runtime::RuntimeName for SystemPhotoProperties {
7963     const NAME: &'static str = "Windows.Storage.SystemPhotoProperties";
7964 }
7965 impl ::std::convert::From<SystemPhotoProperties> for ::windows::runtime::IUnknown {
from(value: SystemPhotoProperties) -> Self7966     fn from(value: SystemPhotoProperties) -> Self {
7967         unsafe { ::std::mem::transmute(value) }
7968     }
7969 }
7970 impl ::std::convert::From<&SystemPhotoProperties> for ::windows::runtime::IUnknown {
from(value: &SystemPhotoProperties) -> Self7971     fn from(value: &SystemPhotoProperties) -> Self {
7972         ::std::convert::From::from(::std::clone::Clone::clone(value))
7973     }
7974 }
7975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemPhotoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7976     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7977         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7978     }
7979 }
7980 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemPhotoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7981     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7982         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7983     }
7984 }
7985 impl ::std::convert::From<SystemPhotoProperties> for ::windows::runtime::IInspectable {
from(value: SystemPhotoProperties) -> Self7986     fn from(value: SystemPhotoProperties) -> Self {
7987         value.0
7988     }
7989 }
7990 impl ::std::convert::From<&SystemPhotoProperties> for ::windows::runtime::IInspectable {
from(value: &SystemPhotoProperties) -> Self7991     fn from(value: &SystemPhotoProperties) -> Self {
7992         value.0.clone()
7993     }
7994 }
7995 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemPhotoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7996     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7997         ::windows::runtime::Param::Owned(self.0)
7998     }
7999 }
8000 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemPhotoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8001     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8002         ::windows::runtime::Param::Borrowed(&self.0)
8003     }
8004 }
8005 unsafe impl ::std::marker::Send for SystemPhotoProperties {}
8006 unsafe impl ::std::marker::Sync for SystemPhotoProperties {}
8007 pub struct SystemProperties {}
8008 impl SystemProperties {
Author() -> ::windows::runtime::Result<::windows::runtime::HSTRING>8009     pub fn Author() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8010         Self::ISystemProperties(|this| unsafe {
8011             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8012             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8013         })
8014     }
Comment() -> ::windows::runtime::Result<::windows::runtime::HSTRING>8015     pub fn Comment() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8016         Self::ISystemProperties(|this| unsafe {
8017             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8018             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8019         })
8020     }
ItemNameDisplay() -> ::windows::runtime::Result<::windows::runtime::HSTRING>8021     pub fn ItemNameDisplay() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8022         Self::ISystemProperties(|this| unsafe {
8023             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8024             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8025         })
8026     }
Keywords() -> ::windows::runtime::Result<::windows::runtime::HSTRING>8027     pub fn Keywords() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8028         Self::ISystemProperties(|this| unsafe {
8029             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8030             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8031         })
8032     }
Rating() -> ::windows::runtime::Result<::windows::runtime::HSTRING>8033     pub fn Rating() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8034         Self::ISystemProperties(|this| unsafe {
8035             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8036             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8037         })
8038     }
Title() -> ::windows::runtime::Result<::windows::runtime::HSTRING>8039     pub fn Title() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8040         Self::ISystemProperties(|this| unsafe {
8041             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8042             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8043         })
8044     }
Audio() -> ::windows::runtime::Result<SystemAudioProperties>8045     pub fn Audio() -> ::windows::runtime::Result<SystemAudioProperties> {
8046         Self::ISystemProperties(|this| unsafe {
8047             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8048             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemAudioProperties>(result__)
8049         })
8050     }
GPS() -> ::windows::runtime::Result<SystemGPSProperties>8051     pub fn GPS() -> ::windows::runtime::Result<SystemGPSProperties> {
8052         Self::ISystemProperties(|this| unsafe {
8053             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8054             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemGPSProperties>(result__)
8055         })
8056     }
Media() -> ::windows::runtime::Result<SystemMediaProperties>8057     pub fn Media() -> ::windows::runtime::Result<SystemMediaProperties> {
8058         Self::ISystemProperties(|this| unsafe {
8059             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8060             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemMediaProperties>(result__)
8061         })
8062     }
Music() -> ::windows::runtime::Result<SystemMusicProperties>8063     pub fn Music() -> ::windows::runtime::Result<SystemMusicProperties> {
8064         Self::ISystemProperties(|this| unsafe {
8065             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8066             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemMusicProperties>(result__)
8067         })
8068     }
Photo() -> ::windows::runtime::Result<SystemPhotoProperties>8069     pub fn Photo() -> ::windows::runtime::Result<SystemPhotoProperties> {
8070         Self::ISystemProperties(|this| unsafe {
8071             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8072             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemPhotoProperties>(result__)
8073         })
8074     }
Video() -> ::windows::runtime::Result<SystemVideoProperties>8075     pub fn Video() -> ::windows::runtime::Result<SystemVideoProperties> {
8076         Self::ISystemProperties(|this| unsafe {
8077             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8078             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemVideoProperties>(result__)
8079         })
8080     }
Image() -> ::windows::runtime::Result<SystemImageProperties>8081     pub fn Image() -> ::windows::runtime::Result<SystemImageProperties> {
8082         Self::ISystemProperties(|this| unsafe {
8083             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8084             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemImageProperties>(result__)
8085         })
8086     }
ISystemProperties<R, F: FnOnce(&ISystemProperties) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>8087     pub fn ISystemProperties<R, F: FnOnce(&ISystemProperties) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
8088         static mut SHARED: ::windows::runtime::FactoryCache<SystemProperties, ISystemProperties> = ::windows::runtime::FactoryCache::new();
8089         unsafe { SHARED.call(callback) }
8090     }
8091 }
8092 impl ::windows::runtime::RuntimeName for SystemProperties {
8093     const NAME: &'static str = "Windows.Storage.SystemProperties";
8094 }
8095 #[repr(transparent)]
8096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8097 pub struct SystemVideoProperties(::windows::runtime::IInspectable);
8098 impl SystemVideoProperties {
Director(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8099     pub fn Director(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8100         let this = self;
8101         unsafe {
8102             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8103             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8104         }
8105     }
FrameHeight(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8106     pub fn FrameHeight(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8107         let this = self;
8108         unsafe {
8109             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8110             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8111         }
8112     }
FrameWidth(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8113     pub fn FrameWidth(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8114         let this = self;
8115         unsafe {
8116             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8117             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8118         }
8119     }
Orientation(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8120     pub fn Orientation(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8121         let this = self;
8122         unsafe {
8123             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8124             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8125         }
8126     }
TotalBitrate(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8127     pub fn TotalBitrate(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8128         let this = self;
8129         unsafe {
8130             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8131             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8132         }
8133     }
8134 }
8135 unsafe impl ::windows::runtime::RuntimeType for SystemVideoProperties {
8136     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.SystemVideoProperties;{2040f715-67f8-4322-9b80-4fa9fefb83e8})");
8137 }
8138 unsafe impl ::windows::runtime::Interface for SystemVideoProperties {
8139     type Vtable = ISystemVideoProperties_abi;
8140     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(541128469, 26616, 17186, [155, 128, 79, 169, 254, 251, 131, 232]);
8141 }
8142 impl ::windows::runtime::RuntimeName for SystemVideoProperties {
8143     const NAME: &'static str = "Windows.Storage.SystemVideoProperties";
8144 }
8145 impl ::std::convert::From<SystemVideoProperties> for ::windows::runtime::IUnknown {
from(value: SystemVideoProperties) -> Self8146     fn from(value: SystemVideoProperties) -> Self {
8147         unsafe { ::std::mem::transmute(value) }
8148     }
8149 }
8150 impl ::std::convert::From<&SystemVideoProperties> for ::windows::runtime::IUnknown {
from(value: &SystemVideoProperties) -> Self8151     fn from(value: &SystemVideoProperties) -> Self {
8152         ::std::convert::From::from(::std::clone::Clone::clone(value))
8153     }
8154 }
8155 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemVideoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8156     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8157         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8158     }
8159 }
8160 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemVideoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8161     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8162         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8163     }
8164 }
8165 impl ::std::convert::From<SystemVideoProperties> for ::windows::runtime::IInspectable {
from(value: SystemVideoProperties) -> Self8166     fn from(value: SystemVideoProperties) -> Self {
8167         value.0
8168     }
8169 }
8170 impl ::std::convert::From<&SystemVideoProperties> for ::windows::runtime::IInspectable {
from(value: &SystemVideoProperties) -> Self8171     fn from(value: &SystemVideoProperties) -> Self {
8172         value.0.clone()
8173     }
8174 }
8175 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemVideoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8176     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8177         ::windows::runtime::Param::Owned(self.0)
8178     }
8179 }
8180 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemVideoProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8181     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8182         ::windows::runtime::Param::Borrowed(&self.0)
8183     }
8184 }
8185 unsafe impl ::std::marker::Send for SystemVideoProperties {}
8186 unsafe impl ::std::marker::Sync for SystemVideoProperties {}
8187 #[repr(transparent)]
8188 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8189 pub struct UserDataPaths(::windows::runtime::IInspectable);
8190 impl UserDataPaths {
CameraRoll(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8191     pub fn CameraRoll(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8192         let this = self;
8193         unsafe {
8194             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8195             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8196         }
8197     }
Cookies(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8198     pub fn Cookies(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8199         let this = self;
8200         unsafe {
8201             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8202             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8203         }
8204     }
Desktop(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8205     pub fn Desktop(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8206         let this = self;
8207         unsafe {
8208             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8209             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8210         }
8211     }
Documents(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8212     pub fn Documents(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8213         let this = self;
8214         unsafe {
8215             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8216             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8217         }
8218     }
Downloads(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8219     pub fn Downloads(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8220         let this = self;
8221         unsafe {
8222             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8223             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8224         }
8225     }
Favorites(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8226     pub fn Favorites(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8227         let this = self;
8228         unsafe {
8229             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8230             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8231         }
8232     }
History(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8233     pub fn History(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8234         let this = self;
8235         unsafe {
8236             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8237             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8238         }
8239     }
InternetCache(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8240     pub fn InternetCache(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8241         let this = self;
8242         unsafe {
8243             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8244             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8245         }
8246     }
LocalAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8247     pub fn LocalAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8248         let this = self;
8249         unsafe {
8250             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8251             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8252         }
8253     }
LocalAppDataLow(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8254     pub fn LocalAppDataLow(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8255         let this = self;
8256         unsafe {
8257             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8258             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8259         }
8260     }
Music(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8261     pub fn Music(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8262         let this = self;
8263         unsafe {
8264             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8265             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8266         }
8267     }
Pictures(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8268     pub fn Pictures(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8269         let this = self;
8270         unsafe {
8271             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8272             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8273         }
8274     }
Profile(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8275     pub fn Profile(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8276         let this = self;
8277         unsafe {
8278             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8279             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8280         }
8281     }
Recent(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8282     pub fn Recent(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8283         let this = self;
8284         unsafe {
8285             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8286             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8287         }
8288     }
RoamingAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8289     pub fn RoamingAppData(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8290         let this = self;
8291         unsafe {
8292             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8293             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8294         }
8295     }
SavedPictures(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8296     pub fn SavedPictures(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8297         let this = self;
8298         unsafe {
8299             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8300             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8301         }
8302     }
Screenshots(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8303     pub fn Screenshots(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8304         let this = self;
8305         unsafe {
8306             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8307             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8308         }
8309     }
Templates(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8310     pub fn Templates(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8311         let this = self;
8312         unsafe {
8313             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8314             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8315         }
8316     }
Videos(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8317     pub fn Videos(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8318         let this = self;
8319         unsafe {
8320             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8321             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8322         }
8323     }
8324     #[cfg(feature = "System")]
GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0) -> ::windows::runtime::Result<UserDataPaths>8325     pub fn GetForUser<'a, Param0: ::windows::runtime::IntoParam<'a, super::System::User>>(user: Param0) -> ::windows::runtime::Result<UserDataPaths> {
8326         Self::IUserDataPathsStatics(|this| unsafe {
8327             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8328             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), user.into_param().abi(), &mut result__).from_abi::<UserDataPaths>(result__)
8329         })
8330     }
GetDefault() -> ::windows::runtime::Result<UserDataPaths>8331     pub fn GetDefault() -> ::windows::runtime::Result<UserDataPaths> {
8332         Self::IUserDataPathsStatics(|this| unsafe {
8333             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8334             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UserDataPaths>(result__)
8335         })
8336     }
IUserDataPathsStatics<R, F: FnOnce(&IUserDataPathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>8337     pub fn IUserDataPathsStatics<R, F: FnOnce(&IUserDataPathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
8338         static mut SHARED: ::windows::runtime::FactoryCache<UserDataPaths, IUserDataPathsStatics> = ::windows::runtime::FactoryCache::new();
8339         unsafe { SHARED.call(callback) }
8340     }
8341 }
8342 unsafe impl ::windows::runtime::RuntimeType for UserDataPaths {
8343     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Storage.UserDataPaths;{f9c53912-abc4-46ff-8a2b-dc9d7fa6e52f})");
8344 }
8345 unsafe impl ::windows::runtime::Interface for UserDataPaths {
8346     type Vtable = IUserDataPaths_abi;
8347     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4190451986, 43972, 18175, [138, 43, 220, 157, 127, 166, 229, 47]);
8348 }
8349 impl ::windows::runtime::RuntimeName for UserDataPaths {
8350     const NAME: &'static str = "Windows.Storage.UserDataPaths";
8351 }
8352 impl ::std::convert::From<UserDataPaths> for ::windows::runtime::IUnknown {
from(value: UserDataPaths) -> Self8353     fn from(value: UserDataPaths) -> Self {
8354         unsafe { ::std::mem::transmute(value) }
8355     }
8356 }
8357 impl ::std::convert::From<&UserDataPaths> for ::windows::runtime::IUnknown {
from(value: &UserDataPaths) -> Self8358     fn from(value: &UserDataPaths) -> Self {
8359         ::std::convert::From::from(::std::clone::Clone::clone(value))
8360     }
8361 }
8362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UserDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8364         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8365     }
8366 }
8367 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UserDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8368     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8369         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8370     }
8371 }
8372 impl ::std::convert::From<UserDataPaths> for ::windows::runtime::IInspectable {
from(value: UserDataPaths) -> Self8373     fn from(value: UserDataPaths) -> Self {
8374         value.0
8375     }
8376 }
8377 impl ::std::convert::From<&UserDataPaths> for ::windows::runtime::IInspectable {
from(value: &UserDataPaths) -> Self8378     fn from(value: &UserDataPaths) -> Self {
8379         value.0.clone()
8380     }
8381 }
8382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UserDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8384         ::windows::runtime::Param::Owned(self.0)
8385     }
8386 }
8387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UserDataPaths {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8389         ::windows::runtime::Param::Borrowed(&self.0)
8390     }
8391 }
8392 unsafe impl ::std::marker::Send for UserDataPaths {}
8393 unsafe impl ::std::marker::Sync for UserDataPaths {}
8394